<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Clojure Study Group DC</title>
	<atom:link href="http://clojurestudydc.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://clojurestudydc.wordpress.com</link>
	<description>Learning the language of the future, today</description>
	<lastBuildDate>Thu, 29 Jul 2010 13:02:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='clojurestudydc.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Clojure Study Group DC</title>
		<link>http://clojurestudydc.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://clojurestudydc.wordpress.com/osd.xml" title="Clojure Study Group DC" />
	<atom:link rel='hub' href='http://clojurestudydc.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Clojure Hack Night Monday, in Reston</title>
		<link>http://clojurestudydc.wordpress.com/2010/07/29/clojure-hack-night-monday-in-reston/</link>
		<comments>http://clojurestudydc.wordpress.com/2010/07/29/clojure-hack-night-monday-in-reston/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 13:02:46 +0000</pubDate>
		<dc:creator>goodmike</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[coding]]></category>

		<guid isPermaLink="false">http://clojurestudydc.wordpress.com/?p=161</guid>
		<description><![CDATA[The Capital Area Clojure Users&#8217; Group is hosting an evening of collaborative Clojure coding next Monday, August 2, at 6PM, at Near Infinity, in Reston. Details are available at the group&#8217;s meetup page. Some very experienced people will be on hand, as well as newcomers. We&#8217;ll spend some time at the beginning answering questions and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=161&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The Capital Area Clojure Users&#8217; Group is hosting an evening of collaborative Clojure coding next Monday, August 2, at 6PM, at Near Infinity, in Reston. Details are available at <a href="http://www.meetup.com/Cap-Clug/calendar/14168454/">the group&#8217;s meetup page</a>.</p>
<p>Some very experienced people will be on hand, as well as newcomers. We&#8217;ll spend some time at the beginning answering questions and helping people with their setups as necessary. (Emacs FTW!) Then it&#8217;s on to pair programming. Possible coding projects are listed on the group&#8217;s meetup page. More ideas are welcome. There&#8217;s a lot of open source Clojure code that needs writing.</p>
<p>Please be sure to sign up through meetup if you&#8217;d like to come: spaces are limited.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clojurestudydc.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clojurestudydc.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clojurestudydc.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clojurestudydc.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clojurestudydc.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clojurestudydc.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clojurestudydc.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clojurestudydc.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clojurestudydc.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clojurestudydc.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clojurestudydc.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clojurestudydc.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clojurestudydc.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clojurestudydc.wordpress.com/161/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=161&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clojurestudydc.wordpress.com/2010/07/29/clojure-hack-night-monday-in-reston/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42e0998c3077ba0ac435423941a3978e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">goodmike</media:title>
		</media:content>
	</item>
		<item>
		<title>Announcing Vijual, a graph layout tool</title>
		<link>http://clojurestudydc.wordpress.com/2010/01/25/announcing-vijual-a-graph-layout-tool/</link>
		<comments>http://clojurestudydc.wordpress.com/2010/01/25/announcing-vijual-a-graph-layout-tool/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 18:49:07 +0000</pubDate>
		<dc:creator>goodmike</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[ascii]]></category>
		<category><![CDATA[bitmap]]></category>
		<category><![CDATA[Conrad Barski]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[render]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[tree]]></category>

		<guid isPermaLink="false">http://clojurestudydc.wordpress.com/?p=158</guid>
		<description><![CDATA[Group member Conrad Barski has just released version 0.1.0 of Vijual, a graph layout engine written in Clojure. Check Conrad&#8217;s detailed announcement for lots of information about installation and use. One detail that caught my eye is the use of the leiningen build tool and clojars community repository to package and distribute Vijual. This looks [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=158&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Group member Conrad Barski has just released version 0.1.0 of <a href="http://lisperati.com/vijual/">Vijual</a>, a graph layout engine written in Clojure. Check Conrad&#8217;s detailed announcement for lots of information about installation and use. One detail that caught my eye is the use of the <a href="http://github.com/technomancy/leiningen">leiningen build tool</a> and <a href="http://clojars.org/">clojars community repository</a> to package and distribute Vijual. This looks like an emerging standard.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clojurestudydc.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clojurestudydc.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clojurestudydc.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clojurestudydc.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clojurestudydc.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clojurestudydc.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clojurestudydc.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clojurestudydc.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clojurestudydc.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clojurestudydc.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clojurestudydc.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clojurestudydc.wordpress.com/158/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clojurestudydc.wordpress.com/158/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clojurestudydc.wordpress.com/158/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=158&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clojurestudydc.wordpress.com/2010/01/25/announcing-vijual-a-graph-layout-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42e0998c3077ba0ac435423941a3978e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">goodmike</media:title>
		</media:content>
	</item>
		<item>
		<title>The Joy of Michael Fogus</title>
		<link>http://clojurestudydc.wordpress.com/2010/01/14/the-joy-of-michael-fogus/</link>
		<comments>http://clojurestudydc.wordpress.com/2010/01/14/the-joy-of-michael-fogus/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 15:25:41 +0000</pubDate>
		<dc:creator>goodmike</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[fogus]]></category>
		<category><![CDATA[talk]]></category>
		<category><![CDATA[the joy of clojure]]></category>

		<guid isPermaLink="false">http://clojurestudydc.wordpress.com/?p=152</guid>
		<description><![CDATA[Here are two pieces of information related to group member Michael Fogus. First, he will be speaking later today, January 14, at FGM in Reston, on the subject of Clojure 1.1 features. More info is at the Capital Area Clojure Users Group meetup site. Second, the book he is co-authoring with Chris Houser, The Joy [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=152&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here are two pieces of information related to group member Michael Fogus. First, he will be speaking later today, January 14, at FGM in Reston, on the subject of Clojure 1.1 features. More info is at the <a href="http://www.meetup.com/Cap-Clug/?a=wm1_gn">Capital Area Clojure Users Group meetup site</a>. Second, the book he is co-authoring with Chris Houser, <em>The Joy of Clojure</em>, is <a href="http://joyofclojure.com/">available for pre-ordering</a>, and when you pre-order you may read the book as it progresses.</p>
<p>Congratulations, fogus!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clojurestudydc.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clojurestudydc.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clojurestudydc.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clojurestudydc.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clojurestudydc.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clojurestudydc.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clojurestudydc.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clojurestudydc.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clojurestudydc.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clojurestudydc.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clojurestudydc.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clojurestudydc.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clojurestudydc.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clojurestudydc.wordpress.com/152/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=152&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clojurestudydc.wordpress.com/2010/01/14/the-joy-of-michael-fogus/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42e0998c3077ba0ac435423941a3978e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">goodmike</media:title>
		</media:content>
	</item>
		<item>
		<title>Clojure at DC&#8217;s ALT.NET, January 27, 7PM</title>
		<link>http://clojurestudydc.wordpress.com/2010/01/13/clojure-at-dcs-alt-net-january-27-7pm/</link>
		<comments>http://clojurestudydc.wordpress.com/2010/01/13/clojure-at-dcs-alt-net-january-27-7pm/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 14:49:20 +0000</pubDate>
		<dc:creator>goodmike</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[alt.net]]></category>
		<category><![CDATA[clojure]]></category>
		<category><![CDATA[craig andera]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://clojurestudydc.wordpress.com/?p=148</guid>
		<description><![CDATA[Group member Craig Andera is speaking about Clojure at this month&#8217;s ALT.NET meeting. It&#8217;s being held at the Motley Fool&#8217;s offices in Alexandria, 5 minutes from the Metro stop, on Wednesday, January 27, at 7pm. Sign up here (it&#8217;s free): http://www.eventbrite.com/event/528348304 From the event&#8217;s description: So, what is Clojure? C# has been adding exciting new [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=148&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Group member Craig Andera is speaking about Clojure at this month&#8217;s ALT.NET meeting. It&#8217;s being held at the Motley Fool&#8217;s offices in Alexandria, 5 minutes from the Metro stop, on Wednesday, January 27, at 7pm.</p>
<p>Sign up here (it&#8217;s free): http://www.eventbrite.com/event/528348304</p>
<p>From the event&#8217;s description: </p>
<p>So, what is Clojure?</p>
<p>C# has been adding exciting new features with every release, but many of these have been available in other languages for years or even decades. By examining some of the features of these other languages, we can hope to glean what&#8217;s in store for the future of C#. Clojure is a JVM-based Lisp with an integral and interesting approach to concurrency. In this talk, we&#8217;ll examine those features, after a brief introduction to Clojure syntax.</p>
<p>Who is Craig?</p>
<p>Craig Andera &#8230; is an independent consultant with Wangdera Corporation, where he holds the rank of Jedi Master. He focuses on the design and implementation of large-scale, web-based systems.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clojurestudydc.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clojurestudydc.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clojurestudydc.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clojurestudydc.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clojurestudydc.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clojurestudydc.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clojurestudydc.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clojurestudydc.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clojurestudydc.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clojurestudydc.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clojurestudydc.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clojurestudydc.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clojurestudydc.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clojurestudydc.wordpress.com/148/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=148&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clojurestudydc.wordpress.com/2010/01/13/clojure-at-dcs-alt-net-january-27-7pm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42e0998c3077ba0ac435423941a3978e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">goodmike</media:title>
		</media:content>
	</item>
		<item>
		<title>Clojure Convinces Tim Bray to Code in a LISP</title>
		<link>http://clojurestudydc.wordpress.com/2009/11/22/clojure-convinces-tim-bray-to-code-in-a-lisp/</link>
		<comments>http://clojurestudydc.wordpress.com/2009/11/22/clojure-convinces-tim-bray-to-code-in-a-lisp/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 18:41:12 +0000</pubDate>
		<dc:creator>goodmike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://clojurestudydc.wordpress.com/?p=143</guid>
		<description><![CDATA[I was catching up on unread RSS feeds this morning, and I came across these two posts, from earlier in the month, in which superblogger Tim Bray, who has repeatedly sworn he would never program in any LISP, talks about programming a Clojure version of his wide-finder parallel-programming challenge project. His posts are here: Concur.next [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=143&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I was catching up on unread RSS feeds this morning, and I came across these two posts, from earlier in the month, in which superblogger <a href="http://www.tbray.org/ongoing/misc/Tim">Tim Bray</a>, who has repeatedly sworn he would never program in any LISP, talks about programming a Clojure version of his wide-finder parallel-programming challenge project. His posts are here:</p>
<ol>
<li><a href="http://www.tbray.org/ongoing/When/200x/2009/11/11/Clojure-References">Concur.next — References</a></li>
<li><a href="http://www.tbray.org/ongoing/When/200x/2009/11/18/Clojure-Parallel-I-O">Concur.next — Parallel I/O</a></li>
</ol>
<p>I recommend taking a close look at both posts. Bray is a clear thinker and excellent writer, so his code and explanations are not hard to follow. Also, the posts are worthwhile for the helpful &#8220;you are doing it wrong&#8221; comments posted below. It shows what a strong and helpful community Clojure has.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clojurestudydc.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clojurestudydc.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clojurestudydc.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clojurestudydc.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clojurestudydc.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clojurestudydc.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clojurestudydc.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clojurestudydc.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clojurestudydc.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clojurestudydc.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clojurestudydc.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clojurestudydc.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clojurestudydc.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clojurestudydc.wordpress.com/143/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=143&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clojurestudydc.wordpress.com/2009/11/22/clojure-convinces-tim-bray-to-code-in-a-lisp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42e0998c3077ba0ac435423941a3978e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">goodmike</media:title>
		</media:content>
	</item>
		<item>
		<title>Clojure training in Reston, with Rich and Stu, next year</title>
		<link>http://clojurestudydc.wordpress.com/2009/10/07/clojure-training-in-reston-with-rich-and-stu-next-year/</link>
		<comments>http://clojurestudydc.wordpress.com/2009/10/07/clojure-training-in-reston-with-rich-and-stu-next-year/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 18:36:47 +0000</pubDate>
		<dc:creator>goodmike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[Halloway]]></category>
		<category><![CDATA[hickey]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://clojurestudydc.wordpress.com/2009/10/07/clojure-training-in-reston-with-rich-and-stu-next-year/</guid>
		<description><![CDATA[Thanks to Paul for pointing this out: the Pragmatic Programmers training series is offering a 3-day training course in Reston, VA next year (date TBD). Clojure&#8217;s creator Rich Hickey and Stuart Halloway will be instructing. More information is at the Pragmatic Programmers site. It looks like the course will assume you know something about Lisp [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=140&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Thanks to <a href="http://paulbarry.com">Paul</a> for pointing this out: the Pragmatic Programmers training series is offering a 3-day training course in Reston, VA next year (date TBD). Clojure&#8217;s creator <a href="http://www.lisp50.org/schedule/schedule/hickey.html">Rich Hickey</a> and <a href="http://www.nofluffjuststuff.com/conference/speaker/stuart_halloway">Stuart Halloway</a> will be instructing. <a href="http://pragmaticstudio.com/clojure">More information</a> is at the Pragmatic Programmers site.</p>
<p>It looks like the course will assume you know something about Lisp or Java and functional programming, and possibly concurrency, but nothing about Clojure. It&#8217;s going to go well beyond basics, though, and it&#8217;s a chance to ask Rick Hickey questions directly. </p>
<p>It&#8217;s going to be expensive, with the alumni/group discount rate still a hefty $1195. The early bird price is $1495. I&#8217;ve been to the Advanced Ruby course of the same dimensions and cost, and it was worth it. If you all want to join up, 3 or more of us can get the group rate and save a few hundred dollars each.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clojurestudydc.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clojurestudydc.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clojurestudydc.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clojurestudydc.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clojurestudydc.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clojurestudydc.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clojurestudydc.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clojurestudydc.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clojurestudydc.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clojurestudydc.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clojurestudydc.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clojurestudydc.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clojurestudydc.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clojurestudydc.wordpress.com/140/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=140&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clojurestudydc.wordpress.com/2009/10/07/clojure-training-in-reston-with-rich-and-stu-next-year/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42e0998c3077ba0ac435423941a3978e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">goodmike</media:title>
		</media:content>
	</item>
		<item>
		<title>Clojure 1.0 and git</title>
		<link>http://clojurestudydc.wordpress.com/2009/07/03/clojure-1-0-and-git/</link>
		<comments>http://clojurestudydc.wordpress.com/2009/07/03/clojure-1-0-and-git/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 22:06:28 +0000</pubDate>
		<dc:creator>goodmike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://clojurestudydc.wordpress.com/?p=132</guid>
		<description><![CDATA[I&#8217;m chipping away at my Mashup project tasks, namely an OAuth library for Twitter and other providers of protected resources. But I wanted to pass on a concrete contribution, so here are some tips about taking advantage of Clojure&#8217;s availability through git, and how to put your clojure-contrib library in sync with the big Clojure [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=132&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m chipping away at my Mashup project tasks, namely an OAuth library for Twitter and other providers of protected resources. But I wanted to pass on a concrete contribution, so here are some tips about taking advantage of Clojure&#8217;s availability through git, and how to put your clojure-contrib library in sync with the big Clojure 1.0 release.</p>
<p><span id="more-132"></span></p>
<h3>Clojure first</h3>
<p>Clojure 1.0 is released, and you can get it as a ZIP file: </p>
<p>http://clojure.googlecode.com/files/clojure_1.0.0.zip</p>
<p>Unzip it, and everything you need is there, including a JAR file, clojure_1.0.0.jar.</p>
<p>I had to rename a few things, since my CLASSPATH expects a JAR called simply &#8216;clojure.jar&#8217; in a folder called &#8216;clojure&#8217;. After I renamed/backed up my existing clojure directory, I copied the unzipped clojure_1.0.0 folder into its place and renamed it. I also created a clojure.jar link, via <code>ln</code> to clojure_1.0.0.jar.</p>
<h3>clojure-contrib</h3>
<p>Now for the clojure-contrib. Stuart Sierra did us the favor of setting up a branch of clojure-contrib development that is intended to be compatible with the Clojure 1.0 release. <a href="http://groups.google.com/group/clojure/browse_frm/thread/86764263af1c2c71/9bcde2f934ac4bf4?lnk=gst&amp;q=contrib+branch+compatible#9bcde2f934ac4bf4" title="announcing a Clojure 1.0-compatible branch of clojure-contrib">Here&#8217;s Stuart&#8217;s announcement</a>. </p>
<p>First, I needed to clone the git repo. I renamed/backed up my old clojure-contrib folder and then issued this command:</p>
<p><code>&gt; git clone git://github.com/richhickey/clojure-contrib.git</code></p>
<p>This initialized a repository tracking the master branch. To get the latest 1.0-compatible code, I needed to track the branch &#8216;clojure-1.0-compatible&#8217;. Following <a href="http://hoth.entp.com/2009/1/21/git-track-is-where-its-at">advice from ENTP</a>, I determined the form of the command to issue was:</p>
<p><code>git branch --track local origin/remote &amp;&amp; git checkout local</code></p>
<p>For example, I decided to call my tracking branch &#8217;1.0&#8242;, so I issued:</p>
<p><code>&gt; git branch --track 1.0 origin/clojure-1.0-compatible &amp;&amp; git checkout 1.0</code></p>
<p>Then, to pull down a copy of this branch:</p>
<p><code>&gt; git pull</code></p>
<p>That&#8217;s all there is too it. Then I was ready to build my JAR&#8217;s:</p>
<p><code>&gt; ant -Dclojure.jar=../clojure/clojure.jar</code></p>
<p>First entirely painless Clojure update ever!</p>
<p>If you&#8217;re comfy with git, you&#8217;ll want to decide on whether to ignore the generated files or commit them. Of course, you can&#8217;t push to the remote source, so it really doesn&#8217;t matter.</p>
<p>Happy hacking!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clojurestudydc.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clojurestudydc.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clojurestudydc.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clojurestudydc.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clojurestudydc.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clojurestudydc.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clojurestudydc.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clojurestudydc.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clojurestudydc.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clojurestudydc.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clojurestudydc.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clojurestudydc.wordpress.com/132/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clojurestudydc.wordpress.com/132/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clojurestudydc.wordpress.com/132/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=132&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clojurestudydc.wordpress.com/2009/07/03/clojure-1-0-and-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42e0998c3077ba0ac435423941a3978e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">goodmike</media:title>
		</media:content>
	</item>
		<item>
		<title>Date management for the mashup project</title>
		<link>http://clojurestudydc.wordpress.com/2009/06/24/date-management-for-the-mashup-project/</link>
		<comments>http://clojurestudydc.wordpress.com/2009/06/24/date-management-for-the-mashup-project/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 12:20:49 +0000</pubDate>
		<dc:creator>goodmike</dc:creator>
				<category><![CDATA[capstone]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[anchor project]]></category>
		<category><![CDATA[datetime]]></category>
		<category><![CDATA[java interop]]></category>
		<category><![CDATA[joda.time]]></category>
		<category><![CDATA[metadata]]></category>

		<guid isPermaLink="false">http://clojurestudydc.wordpress.com/?p=115</guid>
		<description><![CDATA[I&#8217;m posting the code I&#8217;ve written for date management in the mashup project. It&#8217;s just a sketch, really. There&#8217;s plenty of work to do to fill it out. But I wanted to post what I&#8217;ve got now. Thanks to Keith, for his suggestion I use the joda.time library. Organization: namespaces I&#8217;ve broken the code out [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=115&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m posting the code I&#8217;ve written for date management in the mashup project. It&#8217;s just a sketch, really. There&#8217;s plenty of work to do to fill it out. But I wanted to post what I&#8217;ve got now.</p>
<p><span id="more-115"></span></p>
<p>Thanks to Keith, for his suggestion I use the joda.time library.</p>
<h3>Organization: namespaces</h3>
<p>I&#8217;ve broken the code out into a couple of namespaces, and thus into different files. The files live in folders under a src directory that is on my development classpath. For instance, the date time utility functions in namespace <code>org.clojurestudydc.mashups.util.datetime</code> are in a file src/org/clojurestudydc/mashups/util/datetime.clj.</p>
<h3>Datetime wrangling</h3>
<p>So date parsing is a bitch because dates are expressed in so many formats. The joda.time library offers a way to parse datetime strings by describing them using different characters for different parts of the date and time. The details are here:<br />
<a href="http://joda-time.sourceforge.net/api-release/org/joda/time/format/DateTimeFormat.html">http://joda-time.sourceforge.net/api-release/org/joda/time/format/DateTimeFormat.html</a> </p>
<p>The <code>org.joda.time.format.DateTimeFormat</code> class has a factory method <code>forPattern</code> that takes a descriptive string in this format and returns a <code>DateTimeFormat</code> object ready to use on datetime strings that match the description. In Clojure, to make a <code>DateTimeFormat</code> object that handles RSS 1.0 datetime strings:</p>
<pre>user&gt; (def rss-10-fmt (org.joda.time.format.DateTimeFormat/forPattern
                     "yyyy-MM-dd'T'HH:mm:ssZZ"))
#'user/rss-10-fmt</pre>
<p>Then use the object&#8217;s <code>parseDateTime</code> method on a timestamp:</p>
<pre>user&gt; (.parseDateTime rss-10-fmt "2005-10-02T09:01:15-07:00")
#&gt;DateTime 2005-10-02T12:01:15.000-04:00&gt;</pre>
<p>One serious shortcoming of the <code>DateTimeFormat</code> class is that you can&#8217;t ask it to parse a timezone expressed as an acronym (EDT, e.g.). So, I have to search timestamps for these and convert them into numerical timezone descriptors (e.g. -0400). So I wrote a function <code>replace-timezone-abbreviation</code> and a datamap <code>timezones</code> for this. (Code follows below.)</p>
<p>Then I built a vector of descriptions of datetime formats. I only put in two, for illustration purposes: RFC822, which RSS 2.0 holds to (mostly), and ISO8601, the closest format to RSS 1.0. Each format is expressed as a datamap with a name, a regex (:rpattern), and a DateTimeFormat pattern (:dpattern). The rest of the code I wrote builds up functions that can process a seq of datamaps and return a copy with each datamap&#8217;s value for a given key converted from a string to a joda.time.DateTime object. The code uses the formats&#8217; regexes to select a format to use. I have placeholders in the code for &#8220;hints&#8221; of various kinds. The idea is that you could pass a format&#8217;s name, and the code would try that format out first. Pass a format, or seq of them, and the code would try to match with them first. Pass a function that can be applied to a string value to derive a joda.time.DateTime object, and the code would try applying it and only go on to the formats if some exception were returned.</p>
<h3>OK, so here&#8217;s the code</h3>
<pre>(ns org.clojurestudydc.mashups.util.datetime
    (:import (org.joda.time DateTime DateTimeComparator)
	     (org.joda.time.format DateTimeFormat)))

(defn date-comparator [] (DateTimeComparator/getInstance))

(def timezones {"AST" "-0400" "ADT" "-0300" "EST" "-0500" "EDT" "-0400" "CST" "-0600" "CDT" "-0500"
"MST" "-0700" "MDT" "-0600" "PST" "-0800" "PDT" "-0700"
"AST" "-0900" "ADT" "-0800" "HST" "-1000" "HDT" "-0900"})

(defn replace-timezone-abbreviation [datestring]
	(let [ptn   (re-pattern (apply str (interpose "|" (keys timezones))))
	      match (re-find ptn datestring)]
	  (if match
	    (.replace datestring match (timezones match))
	    datestring)))

(defstruct date-format-entry :name :rpattern :dpattern)

(def date-format-entries
     [(struct date-format-entry :RFC822
             #"\w\w\w, \d\d \w\w\w \d\d\d\d \d\d:\d\d:\d\d"
	      "EEE, dd MMM yyyy HH:mm:ss ZZ")
      (struct date-format-entry :ISO8601
             #"\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d-\d\d:\d\d"
	      "yyyy-MM-dd'T'HH:mm:ssZZ")])

(defn find-fmt-by-name [name &amp; entries]
  (filter #(= name (:name %)) (concat date-format-entries (first entries))))

(defn find-fmt-by-regex-match [datestring &amp; xtra-entries]
  (let [entries (concat date-format-entries (first xtra-entries))]
	(first (filter (complement #(empty?
                (re-seq (:rpattern %) datestring))) entries))))

(defn parse-string [datestring dpattern]
  (.parseDateTime (DateTimeFormat/forPattern dpattern)
                            (replace-timezone-abbreviation datestring)))

(defn parse-item [item datekey]
  (let [date-format-schema (find-fmt-by-regex-match (datekey item))]
    (if (nil? date-format-schema)
      item ;better to throw an exception
      (let [datestring (datekey item)
	    dpattern (:dpattern date-format-schema)
	    dvalue (parse-string datestring dpattern)]
	(assoc item datekey dvalue)))))

(defn parse-mapseq-date-values [mapseq datekey &amp; hints]
  (map #(parse-item % datekey) mapseq))</pre>
<p>Here&#8217;s how you&#8217;d use it on a seq of rss items like the cleaned-rss seq we built earlier:</p>
<pre>user&gt; (use 'org.clojurestudydc.mashups.util.datetime)
nil
user&gt; (def date-corrected-rss
                     (parse-mapseq-date-values cleaned-rss :pubDate))
#'user/date-corrected-rss
user&gt; (:pubDate (first date-corrected-rss))
#&lt;DateTime 2009-06-23T14:37:54.000-04:00&gt;</pre>
<h3>Sorting</h3>
<p>And here&#8217;s how I use the datetime functions to sort. I have more code in a namespace under &#8216;&#8230;.alterations.sorting&#8217;, as this code conceptually makes a copy of the structure with its items in a different order:</p>
<pre>(ns org.clojurestudydc.mashups.alterations.sorting
    (:require [org.clojurestudydc.mashups.util.datetime :as dt  ]))
...

(defn configure-sort-by-date-fn [date-key]
	(let [dt-comparator (dt/date-comparator)]
	  (fn [coll] (sort #(.compare
               dt-comparator (date-key %2) (date-key %1)) coll))))</pre>
<p>The function <code>configure-sort-by-date-fn</code> takes a key to use to locate datetime values in a datamap and returns a function that&#8217;s ready to sort a collection (seq) of datamaps. Here&#8217;s how it&#8217;s used:</p>
<pre>user&gt; (use 'org.clojurestudydc.mashups.alterations.sorting)
nil
user&gt; (def sort-rss-items (configure-sort-by-date-fn :pubDate))
#'user/sort-rss-items
user&gt; (map :pubDate (take 5 (sort-rss-items date-corrected-rss)))
(#&lt;DateTime 2009-06-23T15:28:45.000-04:00&gt;
 #&lt;DateTime 2009-06-23T15:06:41.000-04:00&gt;
 #&lt;DateTime 2009-06-23T15:02:38.000-04:00&gt;
 #&lt;DateTime 2009-06-23T15:02:27.000-04:00&gt;
 #&lt;DateTime 2009-06-23T14:52:36.000-04:00&gt;)</pre>
<h3>Marking structures generated by builders</h3>
<p>As a closing note, another &#8220;hint&#8221; for a transformer like the datetime parser could be a metadata tag denoting the origin of the structure (and thus the likely format of its values). So here&#8217;s an edit to the RSS builder that marks our collection of RSS items with origin &#8216;rss:</p>
<pre>(ns org.clojurestudydc.mashups.builders.rss)
...

(defn rss-reader [url]
  (let [xml (xml/parse url)
          zipper (zip/xml-zip xml)
          elements (-&gt; zipper zip/down zip/children)
          items (filter #(= :item (:tag %)) elements)]
    (with-meta (map select-contents items)
	       {:origin 'rss})))</pre>
<p>We&#8217;ll need something better than <code>concat</code> now to combine these maps: we have to combine their metadata too.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clojurestudydc.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clojurestudydc.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clojurestudydc.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clojurestudydc.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clojurestudydc.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clojurestudydc.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clojurestudydc.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clojurestudydc.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clojurestudydc.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clojurestudydc.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clojurestudydc.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clojurestudydc.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clojurestudydc.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clojurestudydc.wordpress.com/115/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=115&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clojurestudydc.wordpress.com/2009/06/24/date-management-for-the-mashup-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42e0998c3077ba0ac435423941a3978e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">goodmike</media:title>
		</media:content>
	</item>
		<item>
		<title>A bit of Clojure at RubyNation 2009</title>
		<link>http://clojurestudydc.wordpress.com/2009/06/16/a-bit-of-clojure-at-rubynation-2009/</link>
		<comments>http://clojurestudydc.wordpress.com/2009/06/16/a-bit-of-clojure-at-rubynation-2009/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 20:51:38 +0000</pubDate>
		<dc:creator>goodmike</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[conference talk]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[reia]]></category>
		<category><![CDATA[relevance]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[scala]]></category>

		<guid isPermaLink="false">http://clojurestudydc.wordpress.com/?p=111</guid>
		<description><![CDATA[Just a quick post to mention how Clojure was mentioned at the RubyNation conference in Reston last weekend. I gave a lightning talk on day 2. Slides are posted. I only had 6 minutes, so I kept it brief. I don&#8217;t think I convinced a lot of the audience members to try it out. Afterwards, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=111&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just a quick post to mention how Clojure was mentioned at <a href="http://rubynation.org/">the RubyNation conference</a> in Reston last weekend.</p>
<p>I gave a lightning talk on day 2. <a href="http://clojure-study-dc.googlegroups.com/web/7clojure.key.pdf?gda=xRPx90IAAAA2TS-60ezd-_q3smQvRzgysCwicIej1H5EmnMv8_dpNsv4HODXPKaDo8g--NBuEIRV4u3aa4iAIyYQIqbG9naPgh6o8ccLBvP6Chud5KMzIQ">Slides are posted</a>. I only had 6 minutes, so I kept it brief. I don&#8217;t think I convinced a lot of the audience members to try it out. Afterwards, though, I got to talk to Aaron Bedra of Relevance, who was a technical editor for Stu&#8217;s book. He reports Clojure is actually in use on commercial projects. He&#8217;s a swell fellow.</p>
<p>Russ Olsen gave an impromptu talk at the end of the day about Clojure, Scala, Erlang, and Reia. Two things struck me about his approach to new languages. First, he gives a lot of important to &#8220;curb appeal&#8221;, or how nice the code looks. The parentheses bother him about Clojure and other lisps, same old story. The second thing, though, is the importance given to metaprogramming, which Ruby has brought into the forefront of a lot of developers&#8217; minds. As Russ pointed out, any Lisp makes metaprogramming easy. So that may be a selling point for Clojure among Rubyists.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clojurestudydc.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clojurestudydc.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clojurestudydc.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clojurestudydc.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clojurestudydc.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clojurestudydc.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clojurestudydc.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clojurestudydc.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clojurestudydc.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clojurestudydc.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clojurestudydc.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clojurestudydc.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clojurestudydc.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clojurestudydc.wordpress.com/111/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=111&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clojurestudydc.wordpress.com/2009/06/16/a-bit-of-clojure-at-rubynation-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42e0998c3077ba0ac435423941a3978e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">goodmike</media:title>
		</media:content>
	</item>
		<item>
		<title>Coding Meeting May 16th 1pm at HacDC</title>
		<link>http://clojurestudydc.wordpress.com/2009/05/15/coding-meeting-may-16th-1pm-at-hacdc/</link>
		<comments>http://clojurestudydc.wordpress.com/2009/05/15/coding-meeting-may-16th-1pm-at-hacdc/#comments</comments>
		<pubDate>Fri, 15 May 2009 14:34:21 +0000</pubDate>
		<dc:creator>goodmike</dc:creator>
				<category><![CDATA[capstone]]></category>
		<category><![CDATA[meeting]]></category>

		<guid isPermaLink="false">http://clojurestudydc.wordpress.com/?p=108</guid>
		<description><![CDATA[We&#8217;re meeting face-to-face again on Saturday, May 16th at 1pm, at HacDC&#8217;s meeting space in DC. We&#8217;ll be meeting to hack some code on our mashup project. Check out the group&#8217;s google group for discussion and code produced so far.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=108&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re meeting face-to-face again on Saturday, May 16th at 1pm, at HacDC&#8217;s meeting space in DC. We&#8217;ll be meeting to hack some code on our mashup project. Check out the group&#8217;s google group for <a href="http://groups.google.com/group/clojure-study-dc">discussion and code</a> produced so far.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/clojurestudydc.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/clojurestudydc.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/clojurestudydc.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/clojurestudydc.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/clojurestudydc.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/clojurestudydc.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/clojurestudydc.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/clojurestudydc.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/clojurestudydc.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/clojurestudydc.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/clojurestudydc.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/clojurestudydc.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/clojurestudydc.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/clojurestudydc.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=clojurestudydc.wordpress.com&amp;blog=5680575&amp;post=108&amp;subd=clojurestudydc&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://clojurestudydc.wordpress.com/2009/05/15/coding-meeting-may-16th-1pm-at-hacdc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/42e0998c3077ba0ac435423941a3978e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">goodmike</media:title>
		</media:content>
	</item>
	</channel>
</rss>
