<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;Ck4CRX0zfSp7ImA9WxBQEE4.&quot;"><id>tag:blogger.com,1999:blog-3772878208851383485</id><updated>2010-01-09T04:56:04.385-05:00</updated><title>DITGIS</title><subtitle type="html">Computation philosophy musings.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.ditgis.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.ditgis.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><author><name>DiG</name><uri>http://www.blogger.com/profile/18419863392058834783</uri><email>dimitry@gashinsky.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/ditgis" /><feedburner:info uri="ditgis" /><entry gd:etag="W/&quot;D0AAQX46eSp7ImA9WxNVGEs.&quot;"><id>tag:blogger.com,1999:blog-3772878208851383485.post-6435955699873443974</id><published>2009-10-29T21:04:00.007-04:00</published><updated>2009-10-29T21:22:20.011-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-29T21:22:20.011-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="maintenance ubuntu linux" /><title>Thank you for Ubuntu 9.10</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ofHTfisQdI0/Suo-xKsargI/AAAAAAAAAJ4/IHK-y8SWOGo/s1600-h/Screenshot-ubuntu-9.10.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 246px;" src="http://3.bp.blogspot.com/_ofHTfisQdI0/Suo-xKsargI/AAAAAAAAAJ4/IHK-y8SWOGo/s400/Screenshot-ubuntu-9.10.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5398196117762125314" /&gt;&lt;/a&gt;
Just upgraded to Ubuntu 9.10 and everything works. I mean everything that bothered me, just works now. Among huge amount of improvements there is one that I am really happy about. I have two 24" monitors and one on the right I like to keep vertical, so I can read the page w/o scrolling. I accomplished it in Ubuntu 9.04 but had to do all kind of hacks in my xorg.conf, etc. The result was also not perfect, since there were all kind of flickering on the screen, which drove me up the walls. I am happy to say that with Ubuntu 9.10, it just works using standard display configuration panel. Also I was able to align the displays so when half of the window is on the left monitor and half is on the right, the window does not look crooked. Thank you Ubuntu Team!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3772878208851383485-6435955699873443974?l=blog.ditgis.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ditgis.com/feeds/6435955699873443974/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3772878208851383485&amp;postID=6435955699873443974" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/6435955699873443974?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/6435955699873443974?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ditgis/~3/ISHlJDeEUlo/thank-you-for-ubuntu-910.html" title="Thank you for Ubuntu 9.10" /><author><name>DiG</name><uri>http://www.blogger.com/profile/18419863392058834783</uri><email>dimitry@gashinsky.com</email><gd:extendedProperty name="OpenSocialUserId" value="09526193683622517371" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_ofHTfisQdI0/Suo-xKsargI/AAAAAAAAAJ4/IHK-y8SWOGo/s72-c/Screenshot-ubuntu-9.10.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.ditgis.com/2009/10/thank-you-for-ubuntu-910.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08HRHo8fyp7ImA9WxNWEkU.&quot;"><id>tag:blogger.com,1999:blog-3772878208851383485.post-1961965248667875906</id><published>2009-10-03T15:33:00.011-04:00</published><updated>2009-10-11T14:30:35.477-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-11T14:30:35.477-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lisp" /><category scheme="http://www.blogger.com/atom/ns#" term="clojure" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>I/O write speed benchmark</title><content type="html">At work we had some performance issues with one of our production boxes. I thought it was related to the I/O on the veritas file system which we have to use for high availability. In order to prove it I needed a tool to write 1K block and flush it, fast. I've searched around on the web and could not find anything that measures only writes, so I wrote one in Clojure. I had to make sure that it is fast and does not generate to much garbage in the main tight loop. New &lt;a href="http://clojure.org/transients"&gt;transient&lt;/a&gt; was a perfect choice for it. Transients only available in Clojure 1.1.0, so you will need to get the latest &lt;a href="http://tapestry.formos.com/maven-snapshot-repository/org/clojure/clojure-lang/1.1.0-alpha-SNAPSHOT/clojure-lang-1.1.0-alpha-20091003.093024-63.jar"&gt;alpha&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The main loop is pretty straight forward.&lt;br /&gt;
&lt;pre&gt;
&lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;defn&lt;/span&gt; &lt;span class="function-name"&gt;write-to-file&lt;/span&gt; [&lt;span class="type"&gt;#^String&lt;/span&gt; file]
  &lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;with-open&lt;/span&gt; [s &lt;span class="paren"&gt;(&lt;/span&gt;FileOutputStream. file&lt;span class="paren"&gt;)&lt;/span&gt;]
    &lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;loop&lt;/span&gt; [i 0 r &lt;span class="paren"&gt;(&lt;/span&gt;transient []&lt;span class="paren"&gt;)&lt;/span&gt;]
      &lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;if&lt;/span&gt; &lt;span class="paren"&gt;(&lt;/span&gt;&amp;lt; i 1e3&lt;span class="paren"&gt;)&lt;/span&gt;
        &lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;recur&lt;/span&gt; &lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="builtin"&gt;inc&lt;/span&gt; i&lt;span class="paren"&gt;)&lt;/span&gt; &lt;span class="paren"&gt;(&lt;/span&gt;conj! r &lt;span class="paren"&gt;(&lt;/span&gt;with-time
                                    &lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;doto&lt;/span&gt; s
                                      &lt;span class="paren"&gt;(&lt;/span&gt;.write test-row&lt;span class="paren"&gt;)&lt;/span&gt;
                                      &lt;span class="paren"&gt;(&lt;/span&gt;.flush&lt;span class="paren"&gt;)))))&lt;/span&gt;
        &lt;span class="paren"&gt;(&lt;/span&gt;persistent! r&lt;span class="paren"&gt;)))))&lt;/span&gt;
&lt;/pre&gt;
&lt;br /&gt;
Here is the &lt;a href="http://gist.github.com/200761"&gt;gist&lt;/a&gt; of the rest. &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_ofHTfisQdI0/SselqAx6rdI/AAAAAAAAAJY/UuS-iuzbtjk/s1600-h/tmp-disk.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_ofHTfisQdI0/SselqAx6rdI/AAAAAAAAAJY/UuS-iuzbtjk/s400/tmp-disk.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
I've used &lt;a href="http://incanter.org/"&gt;incanter&lt;/a&gt; to plot the data.&lt;br /&gt;
And this is one of the plots that I've got, when I ran it on my MacBook Pro.&lt;br /&gt;
As you can see there is quite a bit of jitter and that will affect latency. On our production Linux servers after tuning the file system, those jitters almost disappeared. The next step is to use Real-Time OS and RTSJ.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3772878208851383485-1961965248667875906?l=blog.ditgis.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ditgis.com/feeds/1961965248667875906/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3772878208851383485&amp;postID=1961965248667875906" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/1961965248667875906?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/1961965248667875906?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ditgis/~3/dXxsSlW5MEw/io-write-speed-benchmark.html" title="I/O write speed benchmark" /><author><name>DiG</name><uri>http://www.blogger.com/profile/18419863392058834783</uri><email>dimitry@gashinsky.com</email><gd:extendedProperty name="OpenSocialUserId" value="09526193683622517371" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_ofHTfisQdI0/SselqAx6rdI/AAAAAAAAAJY/UuS-iuzbtjk/s72-c/tmp-disk.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.ditgis.com/2009/10/io-write-speed-benchmark.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYAQH4yeSp7ImA9WxNVFks.&quot;"><id>tag:blogger.com,1999:blog-3772878208851383485.post-6604344280971175314</id><published>2009-09-13T19:56:00.015-04:00</published><updated>2009-10-27T12:49:01.091-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-27T12:49:01.091-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lisp" /><category scheme="http://www.blogger.com/atom/ns#" term="computation" /><category scheme="http://www.blogger.com/atom/ns#" term="clojure" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>What animal letters add up to 100</title><content type="html">My friend's daughter had an assignment to find three animals which letters will add up to a hundred, "A" being one, "B" two, etc.  After hours of adding they found two of the names, that is when I've heard of this problem. Well, I've cheated and used &lt;a href="http://clojure.org/"&gt;Clojure&lt;/a&gt; and fifteen minutes later I've got this&lt;br /&gt;
&lt;br /&gt;
&lt;script src="http://gist.github.com/186383.js"&gt;&lt;/script&gt;
&lt;br /&gt;
It was fun to write. Maybe I'll use it as an interview question :)&lt;br /&gt;
By the way the answer is:
&lt;br /&gt;
([Chimpanzee 100] [Starfish 100] [Turkey 100])&lt;br /&gt;
&lt;br /&gt;
[Update: The new assignment was to find as many words in the dictionary as possible with the same requirement. I hacked the code to find all the 2296 words in the words file on my machine. The &lt;a href="http://gist.github.com/186383"&gt;gist&lt;/a&gt; is in the same place.] &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3772878208851383485-6604344280971175314?l=blog.ditgis.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ditgis.com/feeds/6604344280971175314/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3772878208851383485&amp;postID=6604344280971175314" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/6604344280971175314?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/6604344280971175314?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ditgis/~3/vg9BbTKP4wc/what-animal-letters-add-up-to-100.html" title="What animal letters add up to 100" /><author><name>DiG</name><uri>http://www.blogger.com/profile/18419863392058834783</uri><email>dimitry@gashinsky.com</email><gd:extendedProperty name="OpenSocialUserId" value="09526193683622517371" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.ditgis.com/2009/09/what-animal-letters-add-up-to-100.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4FQHs5eSp7ImA9WxJTEUs.&quot;"><id>tag:blogger.com,1999:blog-3772878208851383485.post-8680148556287651256</id><published>2009-04-19T15:05:00.001-04:00</published><updated>2009-04-19T15:05:11.521-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-19T15:05:11.521-04:00</app:edited><title>International Lisp Conference 2009</title><content type="html">&lt;div style="float: right; margin-left: 10px; margin-bottom: 10px;"&gt;&lt;a href="http://www.flickr.com/photos/90204102@N00/3454016237/" title="photo sharing"&gt;&lt;img src="http://farm4.static.flickr.com/3661/3454016237_906383ba1e_m.jpg" alt="" style="border: solid 2px #000000;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: 0.9em; margin-top: 0px;"&gt;&lt;a href="http://www.flickr.com/photos/90204102@N00/3454016237/"&gt;ILC2009-46&lt;/a&gt;&lt;br /&gt;Originally uploaded by &lt;a href="http://www.flickr.com/people/90204102@N00/"&gt;rpgpoet&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;Looks like Lispers like Macs. I can see at least 10 of them on this picture.&lt;br /&gt;&lt;br /&gt;P.S. Can you find me?&lt;br clear="all" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3772878208851383485-8680148556287651256?l=blog.ditgis.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ditgis.com/feeds/8680148556287651256/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3772878208851383485&amp;postID=8680148556287651256" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/8680148556287651256?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/8680148556287651256?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ditgis/~3/zHER4sbsLgg/international-lisp-conference-2009.html" title="International Lisp Conference 2009" /><author><name>DiG</name><uri>http://www.blogger.com/profile/18419863392058834783</uri><email>dimitry@gashinsky.com</email><gd:extendedProperty name="OpenSocialUserId" value="09526193683622517371" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.ditgis.com/2009/04/international-lisp-conference-2009.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQMRnw7fCp7ImA9WxRRGU0.&quot;"><id>tag:blogger.com,1999:blog-3772878208851383485.post-5222368366046410780</id><published>2008-09-28T12:47:00.006-04:00</published><updated>2008-10-01T19:23:07.204-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-01T19:23:07.204-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lisp" /><category scheme="http://www.blogger.com/atom/ns#" term="clojure" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>Clojure upload to Flickr script.</title><content type="html">As promised I've checked in the upload script into the svn repository at &lt;a href="http://code.google.com/p/gashinsky/source/browse/trunk/src/clj/com/gashinsky/upload.clj"&gt;gashinsky code&lt;/a&gt;.
&lt;pre&gt;
&lt;span class="eshell-prompt"&gt;/home/dig/src/gashinsky/src/clj/com/gashinsky $ &lt;/span&gt;./upload.clj /home/dig/Data/Album/1997/Spock/
Skipping: /home/dig/Data/Album/1997/Spock/1997_12_12-17_11_40.jpg
Skipping: /home/dig/Data/Album/1997/Spock/1997_11_21-20_15_08.jpg
Skipping: /home/dig/Data/Album/1997/Spock/1997_12_27-09_38_58.jpg
...
&lt;/pre&gt;
The script is specific to my needs, but it is a script and pretty simple so you can modify it for your own needs. I've uploaded around nine thousand of my pictures with it. It is quite robust and can retry on failure. My router Actiontec MI424WR is the weakest link and it was keep on getting stuck.

Now that all of my pictures uploaded, I can start working on syncopy script to do the bidirectional sync to and from Flickr.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3772878208851383485-5222368366046410780?l=blog.ditgis.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ditgis.com/feeds/5222368366046410780/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3772878208851383485&amp;postID=5222368366046410780" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/5222368366046410780?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/5222368366046410780?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ditgis/~3/xdDYBWQU4u0/clojure-upload-to-flickr-script.html" title="Clojure upload to Flickr script." /><author><name>DiG</name><uri>http://www.blogger.com/profile/18419863392058834783</uri><email>dimitry@gashinsky.com</email><gd:extendedProperty name="OpenSocialUserId" value="09526193683622517371" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.ditgis.com/2008/09/clojure-upload-to-flickr-script.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MNRXsyfip7ImA9WxRQEkk.&quot;"><id>tag:blogger.com,1999:blog-3772878208851383485.post-2029744173537286657</id><published>2008-09-14T20:17:00.017-04:00</published><updated>2008-10-05T17:18:14.596-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-05T17:18:14.596-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lisp" /><category scheme="http://www.blogger.com/atom/ns#" term="clojure" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>With Retry</title><content type="html">&lt;p&gt;I've been using &lt;a href="http://clojure.org/"&gt;Clojure&lt;/a&gt; for work and play for some time now. It is awesome language. It revived my interest and believe in JVM as a platform.
&lt;/p&gt;
&lt;p&gt;I am writing a script to upload all my pictures to Flickr. I have a pretty big collection of photos starting from 1997 when I've got my first digital camera. I've tried many Flickr uploaders to do the task, but it was too much manual work. I am a programmer and hate manual steps, that is what programs for.
&lt;/p&gt;
&lt;p&gt;I've tried repeatedly over the years in my little spare time to write the script. Every year I would try in different language because I would loose the script or the interest in it. That was a major cause of my failure to finish that script. And my photo album stayed in Gallery and never was migrated to Flickr.
&lt;/p&gt;
&lt;p&gt;The title of this blog is with retry and that is exactly what I am doing. This is were Clojure comes to the rescue. There are plenty of Java APIs for Flickr. They are well documented, stable and easy to use. Making Clojure to drive one of these APIs &lt;a href="http://flickrj.sf.net/"&gt;flickrj&lt;/a&gt; is a pleasure. I will publish the script, which have a little GUI component, just because it so easy to do in Clojure :)
&lt;/p&gt;
&lt;p&gt;For now to keep this post a little bit more technical here is a little macro that I wrote to satisfy script need to handle restart on error in the script.
&lt;/p&gt;
    &lt;pre&gt;
&lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;defmacro&lt;/span&gt; &lt;span class="function-name"&gt;with-retry&lt;/span&gt; [times &amp;amp; body]
  `&lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;let&lt;/span&gt; [done# &lt;span class="paren"&gt;(&lt;/span&gt;ref false&lt;span class="paren"&gt;)&lt;/span&gt;]
     &lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;loop&lt;/span&gt; [time# 0 result# nil]
       &lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;if&lt;/span&gt; &lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;and&lt;/span&gt; &lt;span class="paren"&gt;(&lt;/span&gt;not @done#&lt;span class="paren"&gt;)&lt;/span&gt; &lt;span class="paren"&gt;(&lt;/span&gt;&amp;lt; time# ~times&lt;span class="paren"&gt;))&lt;/span&gt; 
         &lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;recur&lt;/span&gt; &lt;span class="paren"&gt;(&lt;/span&gt;+ 1 time#&lt;span class="paren"&gt;)&lt;/span&gt;
                &lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;try&lt;/span&gt; &lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;let&lt;/span&gt; [result# &lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;do&lt;/span&gt; ~@body&lt;span class="paren"&gt;)&lt;/span&gt;]
                          &lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;dosync&lt;/span&gt; &lt;span class="paren"&gt;(&lt;/span&gt;ref-set done# true&lt;span class="paren"&gt;))&lt;/span&gt;
                          result#&lt;span class="paren"&gt;)&lt;/span&gt;
                     &lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;catch&lt;/span&gt; Exception ex#
                       &lt;span class="paren"&gt;(&lt;/span&gt;println &lt;span class="string"&gt;"Retrying:"&lt;/span&gt; time# &lt;span class="string"&gt;"time"&lt;/span&gt; ex#&lt;span class="paren"&gt;))))&lt;/span&gt;
         result#&lt;span class="paren"&gt;))))&lt;/span&gt;
&lt;/pre&gt;

&lt;p&gt;There is got to be a better way to write it, any suggestions are welcome.
&lt;br/&gt;Of cause the point of this post is that it was easy for me to write and to use this macro in Clojure.
&lt;br/&gt;Clojure is an excellent language for scripting!
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3772878208851383485-2029744173537286657?l=blog.ditgis.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ditgis.com/feeds/2029744173537286657/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3772878208851383485&amp;postID=2029744173537286657" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/2029744173537286657?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/2029744173537286657?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ditgis/~3/IZ4b2zQWfUc/with-retry.html" title="With Retry" /><author><name>DiG</name><uri>http://www.blogger.com/profile/18419863392058834783</uri><email>dimitry@gashinsky.com</email><gd:extendedProperty name="OpenSocialUserId" value="09526193683622517371" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.ditgis.com/2008/09/with-retry.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YGQno-cSp7ImA9WxRSFUQ.&quot;"><id>tag:blogger.com,1999:blog-3772878208851383485.post-7719642353230536693</id><published>2008-02-13T19:03:00.018-05:00</published><updated>2008-09-16T17:05:23.459-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-16T17:05:23.459-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="scrum" /><title>Scrum</title><content type="html">I've started studying Agile Development and in particular Scrum. Reading &lt;a href='http://www.softhouse.se/Uploades/Scrum_eng_webb.pdf'&gt;Scrum in five minutes&lt;/a&gt;, so far it is all common sense to me.&lt;br/&gt;Here is the philosophy of Agile Development summarized with the help from &lt;a href='http://wigflip.com/screedbot/'&gt;screedbot&lt;/a&gt;.&lt;br/&gt;&lt;img style='margin:10 10 10 10;' src='http://farm4.static.flickr.com/3235/2863831796_8177eb3b70_o.gif' alt='Important' id='FLICKR_2863831796' border='0'/&gt;&lt;br/&gt;Read the whole &lt;a href='http://agilemanifesto.org/'&gt;Manifesto for Agile Software Development&lt;/a&gt; if you would like to learn more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3772878208851383485-7719642353230536693?l=blog.ditgis.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ditgis.com/feeds/7719642353230536693/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3772878208851383485&amp;postID=7719642353230536693" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/7719642353230536693?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/7719642353230536693?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ditgis/~3/46peD8ixS_4/scrum.html" title="Scrum" /><author><name>DiG</name><uri>http://www.blogger.com/profile/18419863392058834783</uri><email>dimitry@gashinsky.com</email><gd:extendedProperty name="OpenSocialUserId" value="09526193683622517371" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.ditgis.com/2008/02/scrum.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMARXg7fCp7ImA9WxZQF0Q.&quot;"><id>tag:blogger.com,1999:blog-3772878208851383485.post-8852997860953915446</id><published>2007-09-27T17:44:00.003-04:00</published><updated>2008-02-23T14:04:04.604-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-23T14:04:04.604-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lisp" /><title>Vecto rules!</title><content type="html">&lt;img style="float:right; margin:0 0 10px 10px;" src="http://farm3.static.flickr.com/2397/2263325983_2ef5d57bec_o.png" border="0" alt=":)" id="FLICKR_2263325983" /&gt;
&lt;p&gt;Another instant hit from Xach is &lt;a href="http://www.xach.com/lisp/vecto/"&gt;Vecto&lt;/a&gt;. All pure lisp all the time. Here is some fun that I've had with it.&lt;br/&gt;&lt;br/&gt;
&lt;/p&gt;
    &lt;pre&gt;
&lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;defpackage&lt;/span&gt; #&lt;span class="builtin"&gt;:smiley&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="builtin"&gt;:use&lt;/span&gt; #&lt;span class="builtin"&gt;:cl&lt;/span&gt; #&lt;span class="builtin"&gt;:vecto&lt;/span&gt;&lt;span class="paren"&gt;))&lt;/span&gt;

&lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;in-package&lt;/span&gt; #&lt;span class="builtin"&gt;:smiley&lt;/span&gt;&lt;span class="paren"&gt;)&lt;/span&gt;

&lt;span class="paren"&gt;(&lt;/span&gt;with-canvas &lt;span class="paren"&gt;(&lt;/span&gt;&lt;span class="builtin"&gt;:width&lt;/span&gt; 200 &lt;span class="builtin"&gt;:height&lt;/span&gt; 200&lt;span class="paren"&gt;)&lt;/span&gt;  
  &lt;span class="paren"&gt;(&lt;/span&gt;scale 2 2&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;set-rgb-stroke 0 0 0&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;set-line-width .5&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;set-rgb-fill 1 1 0&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;centered-circle-path 50 50 50&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;fill-and-stroke&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;set-rgb-fill 0 0 0&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;centered-ellipse-path 35 70 10 15&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;centered-ellipse-path 65 70 10 15&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;fill-path&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;move-to 30 35&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;quadratic-to 50 10 70 35&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;quadratic-to 50 15 30 35&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;fill-and-stroke&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;move-to 25 34&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;quadratic-to 30 35 30 40&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;move-to 75 34&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;quadratic-to 70 35 70 40&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;stroke&lt;span class="paren"&gt;)&lt;/span&gt;
  &lt;span class="paren"&gt;(&lt;/span&gt;save-png &lt;span class="paren"&gt;(&lt;/span&gt;merge-pathnames
             &lt;span class="string"&gt;"tmp/smiley.png"&lt;/span&gt;
             &lt;span class="paren"&gt;(&lt;/span&gt;user-homedir-pathname&lt;span class="paren"&gt;))))&lt;/span&gt;
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3772878208851383485-8852997860953915446?l=blog.ditgis.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ditgis.com/feeds/8852997860953915446/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3772878208851383485&amp;postID=8852997860953915446" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/8852997860953915446?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/8852997860953915446?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ditgis/~3/pc6IPvQrZhU/vecto-rules.html" title="Vecto rules!" /><author><name>DiG</name><uri>http://www.blogger.com/profile/18419863392058834783</uri><email>dimitry@gashinsky.com</email><gd:extendedProperty name="OpenSocialUserId" value="09526193683622517371" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.ditgis.com/2007/09/vecto-rules.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYMQ3s6fyp7ImA9WxZSFEs.&quot;"><id>tag:blogger.com,1999:blog-3772878208851383485.post-1693860794096341219</id><published>2007-09-23T19:30:00.000-04:00</published><updated>2008-01-27T15:03:02.517-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-27T15:03:02.517-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lisp" /><title>New logo</title><content type="html">It is so much fun to change logos for ones blog. Thanks to Xach it is easy too. He just released &lt;a href="http://wigflip.com/easystreet/"&gt;Easystreet&lt;/a&gt; a very cool street sign generator and I could not control myself. I generated couple of dozens and behold my new logo :)
It is written in Lisp.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3772878208851383485-1693860794096341219?l=blog.ditgis.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ditgis.com/feeds/1693860794096341219/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3772878208851383485&amp;postID=1693860794096341219" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/1693860794096341219?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/1693860794096341219?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ditgis/~3/qdCPUi5BZi8/new-logo.html" title="New logo" /><author><name>DiG</name><uri>http://www.blogger.com/profile/18419863392058834783</uri><email>dimitry@gashinsky.com</email><gd:extendedProperty name="OpenSocialUserId" value="09526193683622517371" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.ditgis.com/2007/09/new-logo.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYNRHc_fCp7ImA9WxZSFEs.&quot;"><id>tag:blogger.com,1999:blog-3772878208851383485.post-7026074625861218320</id><published>2007-09-20T22:42:00.000-04:00</published><updated>2008-01-27T15:03:15.944-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-27T15:03:15.944-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lisp" /><title>Common Lisp for all of us</title><content type="html">Reading &lt;a href="http://www.gigamonkeys.com/blog/2007/09/19/bomb-me.html"&gt;Peter Seibel&lt;/a&gt; blog I've noticed that he needed some google bombing. So here is my little part in it.
&lt;a href="http://www.gigamonkeys.com/book/"&gt;Practical Common Lisp&lt;/a&gt; is a really good tutorial. I own the dead tree version and the book is really good.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3772878208851383485-7026074625861218320?l=blog.ditgis.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ditgis.com/feeds/7026074625861218320/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3772878208851383485&amp;postID=7026074625861218320" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/7026074625861218320?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/7026074625861218320?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ditgis/~3/1GkQdkYOyeQ/common-lisp-for-all-of-us.html" title="Common Lisp for all of us" /><author><name>DiG</name><uri>http://www.blogger.com/profile/18419863392058834783</uri><email>dimitry@gashinsky.com</email><gd:extendedProperty name="OpenSocialUserId" value="09526193683622517371" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.ditgis.com/2009/09/common-lisp-for-all-of-us.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcCSXo9cSp7ImA9WxZSFEs.&quot;"><id>tag:blogger.com,1999:blog-3772878208851383485.post-3651179643473177840</id><published>2007-09-18T01:08:00.000-04:00</published><updated>2008-01-27T15:01:08.469-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-27T15:01:08.469-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="maintenance" /><title>VPS</title><content type="html">Moved this blog to &lt;a href="http://www.tektonic.net/"&gt;TekTonic&lt;/a&gt; VPS. So far so good.
No problems installing SBCL and Hunchentoot.
Let the experiments begin!

&lt;span style="font-weight: bold;"&gt;UPDATE:&lt;/span&gt; Moved the blog back to blogger,
since the VPS is not good enough for multiple instances of SBCL with only 256MB. I need that instance for other experiments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3772878208851383485-3651179643473177840?l=blog.ditgis.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ditgis.com/feeds/3651179643473177840/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3772878208851383485&amp;postID=3651179643473177840" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/3651179643473177840?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/3651179643473177840?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ditgis/~3/Xh6pNUT9HKw/vps.html" title="VPS" /><author><name>DiG</name><uri>http://www.blogger.com/profile/18419863392058834783</uri><email>dimitry@gashinsky.com</email><gd:extendedProperty name="OpenSocialUserId" value="09526193683622517371" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.ditgis.com/2007/09/vps.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEENRno8eip7ImA9WxZSFEs.&quot;"><id>tag:blogger.com,1999:blog-3772878208851383485.post-4743477838127244890</id><published>2007-09-12T17:31:00.000-04:00</published><updated>2008-01-27T14:38:17.472-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-27T14:38:17.472-05:00</app:edited><title>Nerd test</title><content type="html">&lt;p&gt;My nerd test score says that I am Kinda Dorky High Nerd. I just wonder what does it mean exactly.&lt;/p&gt;&lt;a href="http://www.nerdtests.com/nt2ref.html"&gt;&lt;img src="http://www.nerdtests.com/images/badge/nt2/445dbc87b271fa91.png" alt="NerdTests.com says I'm a Kinda Dorky High Nerd.  What are you?  Click here!" /&gt;
&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3772878208851383485-4743477838127244890?l=blog.ditgis.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ditgis.com/feeds/4743477838127244890/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3772878208851383485&amp;postID=4743477838127244890" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/4743477838127244890?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/4743477838127244890?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ditgis/~3/EWYbkdxigHY/nerd-test.html" title="Nerd test" /><author><name>DiG</name><uri>http://www.blogger.com/profile/18419863392058834783</uri><email>dimitry@gashinsky.com</email><gd:extendedProperty name="OpenSocialUserId" value="09526193683622517371" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.ditgis.com/2007/09/nerd-test.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUER3cyeSp7ImA9WxZSFEs.&quot;"><id>tag:blogger.com,1999:blog-3772878208851383485.post-2541879387807840240</id><published>2007-09-11T18:27:00.000-04:00</published><updated>2008-01-27T15:03:26.991-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-27T15:03:26.991-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lisp" /><title>nuclblog</title><content type="html">The &lt;a href="http://cyrusharmon.org/projects?project=nuclblog"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;nuclblog&lt;/span&gt;&lt;/a&gt; is up and running on my test machine. Looks like a pretty good platform for experimentation. This entry is done using w3m-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;emacs&lt;/span&gt; mode&lt;span style="font-weight: bold;"&gt;.&lt;/span&gt;
&lt;span style="font-weight: bold;"&gt;
UPDATE:&lt;/span&gt; The experiment is over. The cheap virtual host is not good enough to run &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;SBCL&lt;/span&gt; with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;hunchentoot&lt;/span&gt; and other experiments. It is good enough for one instance of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;SBCL&lt;/span&gt; but multiple instances are not able to run in 256MB of RAM.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3772878208851383485-2541879387807840240?l=blog.ditgis.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ditgis.com/feeds/2541879387807840240/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3772878208851383485&amp;postID=2541879387807840240" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/2541879387807840240?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/2541879387807840240?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ditgis/~3/exZbfGBrGGE/nuclblog.html" title="nuclblog" /><author><name>DiG</name><uri>http://www.blogger.com/profile/18419863392058834783</uri><email>dimitry@gashinsky.com</email><gd:extendedProperty name="OpenSocialUserId" value="09526193683622517371" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.ditgis.com/2007/09/nuclblog.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIDQ3czcSp7ImA9WxZSFEs.&quot;"><id>tag:blogger.com,1999:blog-3772878208851383485.post-7106417405666847117</id><published>2007-02-18T17:14:00.000-05:00</published><updated>2008-01-27T14:52:52.989-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-27T14:52:52.989-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="computation" /><title>NKS old and new</title><content type="html">While reviewing a paper for the complex &lt;a href="http://www.complex-systems.com"&gt;systems&lt;/a&gt; journal I've started looking around the web for my NKS summer school article and found &lt;a href="http://www.wolframscience.com/summerschool/2003/participants/gashinsky.html"&gt;this&lt;/a&gt;  web page. It is so interesting to read what one wrote four years ago. Which is why I need to write more so I can read it later and write about it so I can read it later and write about it, etc.

P.S. Recursion is fun.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3772878208851383485-7106417405666847117?l=blog.ditgis.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ditgis.com/feeds/7106417405666847117/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3772878208851383485&amp;postID=7106417405666847117" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/7106417405666847117?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/7106417405666847117?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ditgis/~3/1BAqsrbbJ10/nks-old-and-new.html" title="NKS old and new" /><author><name>DiG</name><uri>http://www.blogger.com/profile/18419863392058834783</uri><email>dimitry@gashinsky.com</email><gd:extendedProperty name="OpenSocialUserId" value="09526193683622517371" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.ditgis.com/2007/02/nks-old-and-new.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcMSXg_fip7ImA9WxZSFEs.&quot;"><id>tag:blogger.com,1999:blog-3772878208851383485.post-6066594201044556623</id><published>2004-05-15T23:26:00.000-04:00</published><updated>2008-01-27T15:01:28.646-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-27T15:01:28.646-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="maintenance" /><title>New Kind of Blog</title><content type="html">I wanted to try this blogging technology for some time. I don't even know what is this blog will be about. I hope I will figure it out pretty soon. So you my gentle reader will not have to suffer through this agony of me becoming a better writer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3772878208851383485-6066594201044556623?l=blog.ditgis.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.ditgis.com/feeds/6066594201044556623/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3772878208851383485&amp;postID=6066594201044556623" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/6066594201044556623?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3772878208851383485/posts/default/6066594201044556623?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ditgis/~3/D0ZbvYIkHeY/new-kind-of-blog.html" title="New Kind of Blog" /><author><name>DiG</name><uri>http://www.blogger.com/profile/18419863392058834783</uri><email>dimitry@gashinsky.com</email><gd:extendedProperty name="OpenSocialUserId" value="09526193683622517371" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.ditgis.com/2004/05/new-kind-of-blog.html</feedburner:origLink></entry></feed>
