<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Object Mentor Blog: Jarvis March in Clojure</title>
    <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>Jarvis March in Clojure</title>
      <description>&lt;p&gt;OK, all you Clojure gurus, I need your help.  I need to speed this algorithm up.&lt;/p&gt;


	&lt;p&gt;Just for fun I thought I&amp;#8217;d write the Jarvis March algorithm in Clojure.  This algorithm is for finding the convex hull of a collection of points.  The basic idea is really simple.  Imagine that all the points in the collection are represented by nails in a board.  Find the left-most nail and tie a string to it.  Then wind the string around the nails.  The string will only touch nails that are part of the convex hull.&lt;/p&gt;


	&lt;p&gt;The details are not really that much more difficult.  You start at the left-most point and calculate the angle from vertical required to touch every other point.  The point with the minimum angle is the next point.  You keep going around looking finding points with the minimum angle that is greater than the previous angle. When you get back to the starting point you are done.&lt;/p&gt;


	&lt;p&gt;Calculating angles can be time consuming, so I use a psuedo-angle algorithm.  It doesn&amp;#8217;t calculate the actual angle, rather it is a function that increases with the true angle, and goes from [0, 4).&lt;/p&gt;


The code is pretty simple.  
&lt;pre&gt;
(ns convexHull.convex-hull
  (:use clojure.contrib.math))

(defn quadrant-one-pseudo-angle [dx dy]
  (/ dx (+ dy dx)))

(defn pseudo-angle [[dx dy]]
  (cond
    (and (= dx 0) (= dy 0))
    0

    (and (&amp;gt;= dx 0) (&amp;gt; dy 0))
    (quadrant-one-pseudo-angle dx dy)

    (and (&amp;gt; dx 0) (&amp;lt;= dy 0))
    (+ 1 (quadrant-one-pseudo-angle (abs dy) dx))

    (and (&amp;lt;= dx 0) (&amp;lt; dy 0))
    (+ 2 (quadrant-one-pseudo-angle (abs dx) (abs dy)))

    (and (&amp;lt; dx 0) (&amp;gt;= dy 0))
    (+ 3 (quadrant-one-pseudo-angle dy (abs dx)))

    :else nil))

(defn point-min [[x1 y1 :as p1] [x2 y2 :as p2]]
  (cond
    (&amp;lt; x1 x2)
    p1

    (= x1 x2)
    (if (&amp;lt; y1 y2) p1 p2)

    :else
    p2))

(defn find-min-point [points]
  (reduce point-min points))

(defn delta-point [[x1 y1] [x2 y2]]
  [(- x1 x2) (- y1 y2)])

(defn angle-and-point [point base]
  [(pseudo-angle (delta-point point base)) point])

(defn min-angle-and-point [ap1 ap2]
  (if (&amp;lt; (first ap1) (first ap2)) ap1 ap2))

(defn find-point-with-least-angle-from [base angle points]
  (reduce min-angle-and-point
    (remove
      #(&amp;lt; (first %) angle)
      (map #(angle-and-point % base)
        (remove
          (fn [p] (= base p))
          points)))))

(defn hull [points]
  (println "Start")
  (let [starting-point (find-min-point points)]
    (println starting-point)
    (loop [hull-list [starting-point] angle 0 last-point starting-point]
      (let [[angle next-point] (find-point-with-least-angle-from last-point angle points)]
        (if (= next-point (first hull-list))
          hull-list
          (recur (conj hull-list next-point) angle next-point))))))
&lt;/pre&gt;

I execute it with this:
&lt;pre&gt;
(ns convexHull.time-hull
  (:use convexHull.convex-hull))

(def r (java.util.Random.))
(defn rands [] (repeatedly #(.nextGaussian r)))
(defn points [] (take 400000 (partition 2 (rands))))
(let [hull-points (time (hull (points)))]
  (printf "Points: %d\n" (count hull-points))
  (doseq [x hull-points] (println x)))
&lt;/pre&gt;

	&lt;p&gt;This takes &lt;em&gt;way&lt;/em&gt; too long to run.  The equivalent java program will do a million points in half a second.  This one is taking 25 seconds to do a half-million points.  It won&amp;#8217;t even &lt;em&gt;do&lt;/em&gt; a million points.  It slows way way down and then runs out of memory.  (There must be some kind of disk caching going on or something.)&lt;/p&gt;


	&lt;p&gt;Anyway, I&amp;#8217;d be interested in seeing how a real Clojure programmer would speed this program up.&lt;/p&gt;</description>
      <pubDate>Tue, 11 Aug 2009 21:10:21 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:fd5cfe9d-1538-4efa-9664-44c3c855f848</guid>
      <author>Uncle Bob</author>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure</link>
      <category>Uncle Bob's Blatherings</category>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by lilly pulitzer clearance</title>
      <description>&lt;p&gt;Great share! Hope you will give us more of this kind!
&lt;a href="http://bubble-skirt.net" rel="nofollow"&gt;bubble skirt&lt;/a&gt;
&lt;a href="http://bubble-skirt.net/bubble-skirt-pattern/" rel="nofollow"&gt;bubble skirt pattern&lt;/a&gt;
&lt;a href="http://bubble-skirt.net/how-to-make-a-bubble-skirt/" rel="nofollow"&gt;how to make a bubble skirt&lt;/a&gt;
&lt;a href="http://bubble-skirt.net/bubble-skirt-tutorial/" rel="nofollow"&gt;bubble skirt tutorial&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Sat, 28 Jan 2012 09:31:28 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:17e3f5a2-8930-4be2-9f59-59ad451429b7</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-199699</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by web design peterborough</title>
      <description>&lt;p&gt;This site is very informative..Thanks for sharing this site with us..!&lt;/p&gt;</description>
      <pubDate>Tue, 24 Jan 2012 23:11:50 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:fe700702-b9e4-4b98-9bc9-0b4ce7cdb5f1</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-199086</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by tv guide listings</title>
      <description>&lt;p&gt;Thanks for a good share. This is some quality articles you are posting right here. &lt;a href="http://www.whitebeach.se" rel="nofollow"&gt;white beach&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Fri, 30 Dec 2011 00:49:24 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:7fac8ca3-76d2-42c8-a813-857f6ecb6ad0</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-193601</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by Brisbane Limo Hire </title>
      <description>&lt;p&gt;something like this for quite a while. Keep up the good work, cheers.&lt;a href="http://www.limohirebrisbaneqld.com.au/" rel="nofollow"&gt;Brisbane Limo Hire&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 04 Dec 2011 22:22:34 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:d0dfd7f2-c3fd-4bf0-be18-bd1fe12c0bc3</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-181784</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by Brisbane Limo Hire </title>
      <description>&lt;p&gt;something like this for quite a while. Keep up the good work, cheers. &lt;a href="http://www.brisbanelimousinehire.net.au/" rel="nofollow"&gt;Brisbane Limo Hire&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 04 Dec 2011 22:14:22 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:1a9141c9-aab1-4d4a-af5b-5b307213109f</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-181783</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by christian louboutin</title>
      <description>&lt;p&gt;The professional design make you foot more comfortable. Even more tantalizing,this pattern make your legs look as long as you can,it will make you looked more attractive.Moveover,it has reasonable price.If you are a popular woman,do not miss it.&lt;/p&gt;


	&lt;p&gt;Technical details of Christian Louboutin Velours Scrunch Suede Boots Coffee:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;Color: Coffee
Material: Suede
4(100mm) heel
Signature red sole x&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;Fashion, delicate, luxurious Christian louboutins shoes on sale, one of its series is Christian Louboutin Tall Boots, is urbanism collocation. This Christian louboutins shoes design makes people new and refreshing. Red soles shoes is personality, your charm will be wonderful performance.&lt;/p&gt;</description>
      <pubDate>Thu, 03 Nov 2011 09:32:59 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:220ad8a8-2169-472e-817b-798608a4c391</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-167629</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by ysbearing/yisong@1stbearing.com</title>
      <description>&lt;p&gt;Slewing bearing called slewing ring bearings, is a comprehensive load to bear a large bearing, can bear large axial, radial load and overturning moment. &lt;a href="http://www.1stbearing.com" rel="nofollow"&gt;http://www.1stbearing.com&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 19 Oct 2011 01:59:03 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:2ab1b26a-1674-4731-a427-45c424a8cc49</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-159351</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by Tips For Bowling</title>
      <description>&lt;p&gt;As fathers commonly go, it is seldom a misfortune to be fatherless; and considering the general run of sons, as seldom a misfortune to be childless.&lt;/p&gt;</description>
      <pubDate>Tue, 18 Oct 2011 12:53:06 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:f60e7f41-32e1-44f6-a3ba-132156ee592b</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-159111</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by african Mango dr oz</title>
      <description>&lt;p&gt;It is not hard to understand why the question of value is still raised when you consider that today?s outsourcing models have some inherent limitations that reduce the overall gains companies can achieve .&lt;/p&gt;</description>
      <pubDate>Tue, 27 Sep 2011 11:32:35 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:cf837cac-1b10-4902-bf38-422a9a5007ea</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-146136</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by bagsupplyer</title>
      <description>&lt;p&gt;I really enjoy your articles. Very well written. &lt;a href="http://www.bagsupplyer.com/Gucci-n711/" rel="nofollow"&gt;New fashion women Gucci Purses with high quality for wholesale on line from China free shipping&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 06 Sep 2011 03:46:23 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:26cf001d-4988-4c70-a364-44bf9ff4c57d</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-137405</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by beats by dre store</title>
      <description>&lt;p&gt;something like this for quite a while. Keep up the good work, cheers!&lt;a href="http://www.drdrebeatsheadphones-australia.com" rel="nofollow"&gt;high quality headphones&lt;/a&gt;
&lt;a href="http://www.drdrebeatsheadphones-australia.com" rel="nofollow"&gt;new design headphones&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 23 Aug 2011 03:13:01 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:596cb22f-75bd-4688-84b2-cb194b3d9fea</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-131663</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by engelska bildelar</title>
      <description>&lt;p&gt;Thank you for this information. I&#8217;ve been looking for something like this for quite a while. Keep up the good work, cheers!
&lt;a href="http://engelskabildelar.se/reservdelar-land-rover" rel="nofollow"&gt;reservdelar land rover&lt;/a&gt;
&lt;a href="http://engelskabildelar.se/reservdelar-mg" rel="nofollow"&gt;reservdelar mg&lt;/a&gt;
&lt;a href="http://engelskabildelar.se/reservdelar-mini" rel="nofollow"&gt;reservdelar mini&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 04 Aug 2011 10:51:14 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:6c001bb9-e25f-4611-b02c-6b1196b38bca</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-124422</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by thailand</title>
      <description>&lt;p&gt;Thank you for this information. I&#8217;ve been looking for something like this for quite a while. Keep up the good work, cheers! &lt;a href="http://riktigathailand.se/klimat-thailand" rel="nofollow"&gt;klimat thailand&lt;/a&gt; &lt;a href="http://oddselit.se" rel="nofollow"&gt;l&#229;ngen tips&lt;/a&gt;  &lt;a href="http://www.techidag.se" rel="nofollow"&gt;teknik blogg&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 24 Jul 2011 09:44:46 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:5960a43b-d220-4eca-bac3-c73f389e7b36</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-119770</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by Jewellery</title>
      <description>&lt;p&gt;Online UK costume and fashion jewellery shop with,&lt;/p&gt;</description>
      <pubDate>Mon, 06 Jun 2011 00:39:55 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:b83eeeda-0e14-4782-b3d5-0aad9d451e68</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-108433</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by dentist in san antonio</title>
      <description>&lt;p&gt;Your algorithm is right. But you have to modify it.  You can use branch method. It is more effective. You can divide your work in two or three branch.&lt;/p&gt;</description>
      <pubDate>Fri, 06 May 2011 10:00:47 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:989380a0-92e5-4fa8-b487-69a312e8559c</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-95449</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by okey oyunu indir</title>
      <description>&lt;p&gt;I like this comment, fers full tenant screening services to property managers.&lt;/p&gt;


	&lt;p&gt;Farkl? ki?ilerle online okey oyunu oynayabilece?iniz bu heyecan verici oyunu hemen bilgisayarlar?n?za indirin. Okey oyunu indir, bilgisayar?na kur ve oyanamaya hemen ba?la.
okeyoyunuindir.com
Thank you&amp;#8230;&lt;/p&gt;</description>
      <pubDate>Mon, 02 May 2011 01:24:31 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:7194a44a-f1ae-449b-b0a7-08c5f78be22c</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-93799</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by okey oyunu oyna </title>
      <description>&lt;p&gt;very good.&lt;/p&gt;


	&lt;p&gt;internette g&#246;r&#252;nt&#252;l&#252; olarak &lt;a href="http://www.okeyoyunu-oyna.com" rel="nofollow"&gt;okey oyunu oyna&lt;/a&gt;, ger&#231;ek kisilerle tanis,
 turnuva heyecanini yasa.&lt;/p&gt;</description>
      <pubDate>Thu, 28 Apr 2011 15:33:31 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:44ce1edb-0079-41e7-bb5e-a089834de3ff</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-92805</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by Designer Sunglasses</title>
      <description>&lt;p&gt;Inspired ,MEN designer Sunglasses
Women Replica Sunglass at cheap discount price&lt;/p&gt;</description>
      <pubDate>Thu, 10 Mar 2011 04:42:55 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:0b62c0db-45bc-4f37-87b8-8620fc2863ee</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-71573</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by ssara</title>
      <description>&lt;p&gt;The concept is great. Hope it is well understood. 
&lt;a href="http://www.ownadaycare.com/jobs/" rel="nofollow"&gt;childcare jobs&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 03 Mar 2011 23:07:50 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:23eda019-0dd0-4c0e-a86a-c289017fc9cd</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-68947</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by mobile screening equipment</title>
      <description>&lt;p&gt;KEESTRACK?manufacturing expert of mobile crusher and mobile screening equipment. Company engaged in the research &amp;#38; development, manufacture, sales of track screening machine,mobile screening,cone crusher,jaw crusher,impact crusher,mobile screening equipment,mobile crushing equipment, till now we are proud to say we are at front of the industry.&lt;/p&gt;</description>
      <pubDate>Mon, 28 Feb 2011 23:36:55 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:b61a101b-8982-4ad2-ba71-90f4955ed453</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-67600</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by mechanical Seal</title>
      <description>&lt;p&gt;This article is very usefull for me! I can see that you are putting a lots of efforts into your blog. I will keep watching in your blog, thanks.&lt;/p&gt;</description>
      <pubDate>Mon, 28 Feb 2011 23:30:48 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:da491aae-bc1b-4d6d-8f57-9c66521d45a4</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-67572</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by Criminal Records</title>
      <description>&lt;p&gt;Both versions of this appear to only slow down linearly with point count, but even a single call on 50k points takes more than a half second.&lt;/p&gt;</description>
      <pubDate>Thu, 17 Feb 2011 16:37:15 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:e6918803-216e-48b2-8042-f03030ba33db</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-63949</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by Tenant Screening</title>
      <description>&lt;p&gt;Ct Credit Bureau offers full tenant screening services to property managers, landlords, and others in the real estate and rental industry.&lt;/p&gt;</description>
      <pubDate>Thu, 17 Feb 2011 14:39:06 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:6e91d099-c088-459a-8568-3de76f81ead6</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-63869</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by ghd australia</title>
      <description>&lt;p&gt;Growth hormone deficiency in Australia, teach you how to protect your hair curl and style hair salon in any way to rectify.&lt;/p&gt;</description>
      <pubDate>Sun, 13 Feb 2011 21:13:41 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:ae78a68b-6b4a-48ee-a178-af814b92ba56</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-62355</link>
    </item>
    <item>
      <title>"Jarvis March in Clojure" by hermes replica watches</title>
      <description>&lt;p&gt;if they don&amp;#8217;t go &lt;a href="http://www.chanel-earrings.com/72-b0.html" rel="nofollow"&gt;?????&lt;/a&gt; go if they feel they need to. hermes h bracelet chestnut to. They may not look at the &lt;a href="http://www.hermes-birkins.net/categories/hermes-birkin-125-b0.html" rel="nofollow"&gt;hermes birkin replica&lt;/a&gt; the casket. Let 
them lead the way.&amp;#8221;Loder &lt;a href="http://www.hermes-birkins.net/categories/hermes-birkin-40cm-53-b0.html" rel="nofollow"&gt;cheap hermes birkin bag&lt;/a&gt; way.&amp;#8221;Loder was so worried about her own &lt;a href="http://www.hermes-birkins.net/categories/hermes-jewellery-58-b0.html" rel="nofollow"&gt;hermes h bracelet replica&lt;/a&gt; own daughter&amp;#8217;s classmates&amp;#8217; reaction to the funeral 40cm birkin funeral that she 
arranged a closed coffin &lt;i&gt;&lt;b&gt;&lt;a href="http://www.hermes-birkins.net/categories/hermes-birkin-40cm-53-b0.html" rel="nofollow"&gt;40cm birkin&lt;/a&gt;&lt;/b&gt;&lt;/i&gt; coffin with photos of her children laid &lt;a href="http://www.hermes-birkins.net/categories/hermes-jewellery-58-b0.html" rel="nofollow"&gt;hermes h bracelet yellow&lt;/a&gt; laid on top.The Loders didn&amp;#8217;t want to &lt;a href="http://www.hermes-birkins.net/categories/hermes-bags-128-b0.html" rel="nofollow"&gt;replica bags hermes&lt;/a&gt; to make the&lt;/p&gt;</description>
      <pubDate>Mon, 17 Jan 2011 00:07:04 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:26e68c4b-ae14-4daf-b5f3-a8b93b9ef675</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/11/jarvis-march-in-clojure#comment-57399</link>
    </item>
  </channel>
</rss>

