<?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>cemerick &#187; Clojure</title>
	<atom:link href="http://cemerick.com/category/clojure/feed/" rel="self" type="application/rss+xml" />
	<link>http://cemerick.com</link>
	<description>Against all odds.</description>
	<lastBuildDate>Mon, 06 May 2013 16:16:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='cemerick.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>cemerick &#187; Clojure</title>
		<link>http://cemerick.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://cemerick.com/osd.xml" title="cemerick" />
	<atom:link rel='hub' href='http://cemerick.com/?pushpress=hub'/>
		<item>
		<title>Mostly Lazy, back in the saddle</title>
		<link>http://cemerick.com/2012/08/14/mostly-lazy-back-in-the-saddle/</link>
		<comments>http://cemerick.com/2012/08/14/mostly-lazy-back-in-the-saddle/#comments</comments>
		<pubDate>Tue, 14 Aug 2012 14:39:45 +0000</pubDate>
		<dc:creator>Chas Emerick</dc:creator>
				<category><![CDATA[Clojure]]></category>

		<guid isPermaLink="false">http://cemerick.com/?p=901</guid>
		<description><![CDATA[I was stoked to reboot Mostly Lazy by talking yesterday with Chris Houser (a.k.a. Chouser), this time via Skype.  It’s good to be back, so go check out the latest episode, maybe follow the @MostlyLazy twitter feed (who knows, it &#8230; <a href="http://cemerick.com/2012/08/14/mostly-lazy-back-in-the-saddle/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=901&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I was stoked to reboot <a href="http://twitter.com/MostlyLazy">Mostly Lazy</a> by <a href="http://mostlylazy.com/2012/08/14/episode-6-chris-houser-clojure-surveys-getting-the-little-things-right-in-languages-yegge-rama-clojurescript-repls/">talking yesterday with Chris Houser</a> (a.k.a. Chouser), this time via Skype.  It’s good to be back, so go check out the latest episode, maybe follow the <a href="http://twitter.com/MostlyLazy">@MostlyLazy</a> twitter feed (who knows, it might not suck), and suggest some future topics, questions, etc.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chasemerick.wordpress.com/901/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chasemerick.wordpress.com/901/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=901&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cemerick.com/2012/08/14/mostly-lazy-back-in-the-saddle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/b8ee952abb6620c1c93b3acb46cd391c?s=96&#38;d=identicon&#38;r=R" medium="image">
			<media:title type="html">cemerick</media:title>
		</media:content>
	</item>
		<item>
		<title>Results of the 2012 State of Clojure survey</title>
		<link>http://cemerick.com/2012/08/06/results-of-the-2012-state-of-clojure-survey/</link>
		<comments>http://cemerick.com/2012/08/06/results-of-the-2012-state-of-clojure-survey/#comments</comments>
		<pubDate>Mon, 06 Aug 2012 14:00:48 +0000</pubDate>
		<dc:creator>Chas Emerick</dc:creator>
				<category><![CDATA[Clojure]]></category>

		<guid isPermaLink="false">http://cemerick.com/?p=884</guid>
		<description><![CDATA[A few weeks ago, I opened the 2012 State of Clojure survey.  Per usual, I wanted to take the Clojure community&#8217;s collective temperature, see where we all came from, what we&#8217;re using Clojure for, what weaknesses and problems exist, and &#8230; <a href="http://cemerick.com/2012/08/06/results-of-the-2012-state-of-clojure-survey/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=884&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>A few weeks ago, I opened the <a title="2012 State of Clojure survey" href="http://cemerick.com/2012/07/19/2012-state-of-clojure-survey/">2012 State of Clojure survey</a>.  <a href="http://cemerick.com/2011/07/11/results-of-the-2011-state-of-clojure-survey/">Per</a> <a title="Results from the State of Clojure, Summer 2010 Survey" href="http://cemerick.com/2010/06/07/results-from-the-state-of-clojure-summer-2010-survey/">usual</a>, I wanted to take the Clojure community&#8217;s collective temperature, see where we all came from, what we&#8217;re using Clojure for, what weaknesses and problems exist, and hopefully provide some results that would allow everyone to calibrate priorities and such.  This was the third such survey I&#8217;ve conducted, and it was a little different than prior efforts:</p>
<ul>
<li>Now that there are a bunch of rapidly-maturing alternative Clojure implementations targeting non-JVM platforms, I wanted to see how those alternatives were faring in terms of uptake and usage.  So, the survey asked participants to characterize their usage of each of the Clojure implementations that I knew of that have matured to some minimal level.</li>
<li>A FAQ among language and library implementers has always been, &#8220;Which version of the JVM should I target?&#8221; I can&#8217;t say why I didn&#8217;t include a question relevant to that topic from the beginning, but it was included in this one — and the answers were surprising, at least to me.  A similar question was included that deals with which environment(s) people are targeting with ClojureScript.</li>
<li>As Clojure is used more widely and it becomes more and more clear that the language itself is stable, effective, and reliable, the next most pressing concern is the state of Clojure libraries.  Survey participants were asked to grade Clojure libraries, in general, on a number of different scores, from effectiveness to ease of discovery to documentation.</li>
</ul>
<p>I hope you find the results interesting and useful.</p>
<h2>Vitals</h2>
<p>First, some facts about the survey and how it was conducted. It was available for approximately 7 days (Wednesday night through Monday afternoon), during which time results were not available.  The survey was announced primarily via Twitter and two messages to the <a href="http://groups.google.com/group/clojure">main Clojure mailing list</a>, which has approximately 6,700 subscribers. <em>1,372 responses were received</em> — <strong>a surprising 2x increase in participation</strong> over last year&#8217;s 672 responses. As I&#8217;ve said before, I&#8217;m not a statistician, nor am I a professional when it comes to surveying, polling, or data collection of this sort in general, but this would seem to be a very fair sampling of the Clojure community.</p>
<p>(I&#8217;m not sure what to make of the huge increase in participation.  I don&#8217;t think there&#8217;s any question that more people are using Clojure now than there were last year, but a 2x increase seems overoptimistic, especially given my bias.)</p>
<p>Now, on to the survey results.  See the links at the end to the raw data to satisfy all your statistical urges.</p>
<p><em>(Note: Any question with results that sum to more than 100% allowed respondents to select more than one response.)</em></p>
<h2>Q: How long have you been using Clojure?</h2>
<p><img class="alignnone" title="How long have you been using Clojure?" src="http://chart.apis.google.com/chart?chxl=0:|0|60|120|180|240|300|360|1:|I've+stopped+using+Clojure+%E2%80%94%C2%A01%25|I+remember+when+%23clojure+had+6+people+in+it!+%E2%80%94+1%25|4+years+%E2%80%94%C2%A05%25|3+years+%E2%80%94+13%25|2+years+%E2%80%94+17%25|1+year+%E2%80%94+17%25|Months+%E2%80%94+22%25|Just+started+%E2%80%94+19%25|%5Bno+answer%5D+%E2%80%94+6%25&amp;chxs=0,000000,12,0,lt,676767|1,000000,12,1,lt,676767&amp;chxt=x,y&amp;chbh=24,5&amp;chs=500x287&amp;cht=bhs&amp;chco=0000E0|1212E2|2525E4|6F6FED|8181F0|3737E7|9393F2|5C5CEB|4A4AE9&amp;chds=0,360&amp;chd=t:77,262,302,234,227,177,67,16,10" alt="How long have you been using Clojure?" /></p>
<p>Good things to see: more new people trying Clojure, and those that were around last year and the year before sticking around.</p>
<p>New this year is the addition of the &#8220;I&#8217;ve stopped using Clojure&#8221; option.  Now that Clojure&#8217;s been around for long enough that some may have used it, and eventually stopped using it, I thought there might be lessons to be learned in what prompted such decisions.  I was surprised that only ten participants indicated that they&#8217;d stopped using Clojure; of course, people that have checked out are less likely to fill out a survey, but I was expecting more than ten nonetheless.  Only three of those left explanatory comments, so there&#8217;s hardly anything to generalize over.  But, there is one comment I&#8217;d like to highlight:</p>
<blockquote><p>Clojure&#8217;s greatest strength is also it&#8217;s greatest barrier to acceptance into the mainstream corporate IT world &#8211; namely, it&#8217;s LISP syntax (which I personally like quite a bit).  Scala appears to be easier to pitch to corporate IT.  Thus, (for now) I&#8217;ve been working on pitching functional programming via Scala to our IT department.  The LISP syntax is to difficult a promote in a world dominated by Java and .Net.</p></blockquote>
<p>Ah, the overwhelming power and ease of curly braces and monadic contravariant type classes? ;-)  (That phrase may be meaningless; my Scala vernacular is rusty these days.)  In the end, I don&#8217;t know that pitching Scala as a &#8220;better Java&#8221; because it can be made to look like Java is doing anyone any favors; as far as I can tell, idiomatic Scala is as different from Java as Clojure is from Java, in both syntax and semantics.</p>
<p>If you&#8217;re involved in corporate IT environments and have an interest in Clojure, you would do well to take in <a href="http://blip.tv/clojure/neal-ford-neal-s-master-plan-for-clojure-enterprise-mindshare-domination-5953926">Neal Ford&#8217;s master plan for Clojure enterprise mindshare domination</a> from last year&#8217;s Conj if you haven&#8217;t yet.  There&#8217;s no silver bullet therein, but I think it&#8217;s quite reasonable to expect &#8220;engaged&#8221; development organizations to be receptive to anything that will allow them to raise their game, regardless of parens vs. braces or similar silliness.</p>
<h2>Q: What language did you use just prior to adopting Clojure — or, if Clojure is not your primary language now, what is that primary language?</h2>
<p><img src="http://chart.apis.google.com/chart?chxl=0:|0|90|180|270|360|450|540|1:|Visual+Basic+%E2%80%94+0%25|Standard+ML+%E2%80%94+0%25|Smalltalk+%E2%80%94+0%25|Shell+%E2%80%94+0%25|Scheme+%E2%80%94+0%25|Scala+%E2%80%94+2%25|Ruby+%E2%80%94+16%25|R+%E2%80%94+1%25|Python+%E2%80%94+15%25|PHP+%E2%80%94+2%25|Perl+%E2%80%94+1%25|OCaml+%E2%80%94+0%25|Objective+C+%E2%80%94+1%25|Matlab+%E2%80%94+0%25|JRuby+%E2%80%94+1%25|Javascript+%E2%80%94+3%25|Java+%E2%80%94+33%25|Haskell+%E2%80%94+1%25|Groovy+%E2%80%94+2%25|Go+%E2%80%94+0%25|F%23+%E2%80%94+0%25|Erlang+%E2%80%94+1%25|Common+Lisp+%E2%80%94+3%25|C%2B%2B+%E2%80%94+3%25|C%23+%E2%80%94+6%25|C+%E2%80%94+2%25|%5Bno+answer%5D+%E2%80%94+6%25&amp;chxs=0,000000,12,0,lt,676767|1,000000,12,1,lt,676767&amp;chxt=x,y&amp;chbh=17,4,6&amp;chs=490x600&amp;cht=bhs&amp;chco=FFD699|FFA51F|FFAA2B|FF9B06|FFD493|FFAD31|FFA825|FFAF37|FFD9A0|FFA012|FFB23D|FFB444|FF9900|FFA319|FF9E0C|FFB64A|FFB950|FFBB56|FFC368|FFBE5C|FFC062|FFC56F|FFC875|FFCA7B|FFCD81|FFCF87|FFD18D&amp;chds=0,540&amp;chd=t:87,24,78,40,35,14,6,0,24,14,452,43,7,4,20,1,17,24,206,8,217,34,4,3,4,1,5" alt="" /></p>
<p>Per usual, the majority of Clojure programmers &#8220;come from&#8221; Java, Ruby, and Python.  This is the third year of identical results, so this question will likely not return.</p>
<h2>Q: If Clojure disappeared tomorrow, what language(s) might you use as a &#8220;replacement&#8221;?</h2>
<p><img src="http://chart.apis.google.com/chart?chxl=0:|0|93|186|279|372|465|1:|Other+%E2%80%94+4%25|Visual+Basic+%E2%80%94+0%25|Standard+ML+%E2%80%94+2%25|Smalltalk+%E2%80%94+2%25|Shell+%E2%80%94+0%25|Scheme+%E2%80%94+19%25|Scala+%E2%80%94+35%25|Ruby+%E2%80%94+22%25|R+%E2%80%94+3%25|Python+%E2%80%94+27%25|PHP+%E2%80%94+1%25|Perl+%E2%80%94+2%25|OCaml+%E2%80%94+5%25|Objective+C+%E2%80%94+2%25|Matlab+%E2%80%94+0%25|JRuby+%E2%80%94+10%25|Javascript+%E2%80%94+15%25|Java+%E2%80%94+19%25|Haskell+%E2%80%94+33%25|Groovy+%E2%80%94+8%25|Go+%E2%80%94+10%25|F%23+%E2%80%94+9%25|Erlang+%E2%80%94+16%25|Common+Lisp+%E2%80%94+24%25|C%2B%2B+%E2%80%94+2%25|C%23+%E2%80%94+5%25|C+%E2%80%94+3%25&amp;chxs=0,000000,12,0,lt,676767|1,000000,12,1,lt,676767&amp;chxt=x,y&amp;chbh=24,6&amp;chs=345x840&amp;cht=bhs&amp;chco=D82B2B|D61F1F|D72525|D93131|D00000|D51919|D10606|D20C0C|DB3D3D|DA3737|DC4444|D31212|E05656|E36868|E26262|E15C5C|DF5050|DE4A4A|EA8D8D|E46F6F|E57575|E88181|E77B7B|E98787|EC9999|EB9393|EDA0A0&amp;chds=0,465&amp;chd=t:40,65,31,327,217,116,131,110,450,251,207,129,4,25,74,23,10,363,46,291,465,252,2,22,24,0,53" alt="" /></p>
<p>Again, nearly identical to prior years&#8217; results: relative to where people came from prior to using Clojure, functional programming (Haskell, Scala, Erlang) and lisps (Scheme, Common Lisp) are preferred.  Also mirroring prior years&#8217; results, a number of people left &#8220;Other&#8221; responses like:</p>
<blockquote><p>too depressing to contemplate</p></blockquote>
<p>I agree.</p>
<h2>Q: How would you characterize your use of Clojure today?</h2>
<p><img class="alignnone" title="How would you characterize your use of Clojure *today*?" src="http://chart.apis.google.com/chart?chxl=0:|0|130|260|390|520|650|780|1:|I+use+it+at+work+%E2%80%94%C2%A038%25|I+use+it+for+my+studies+%E2%80%94%C2%A013%25|I+use+it+for+serious+%22hobby%22+projects+%E2%80%94%C2%A048%25|I'm+just+tinkering+%E2%80%94%C2%A043%25&amp;chxs=0,000000,12,0,lt,676767|1,000000,12,1,lt,676767&amp;chxt=x,y&amp;chbh=24,6&amp;chs=525x150&amp;cht=bhs&amp;chco=59E754&amp;chds=0,780&amp;chd=t:585,651,171,510" alt="How would you characterize your use of Clojure *today*?" width="525" height="150" /></p>
<p>The proportion of people reporting at-work usage of Clojure is up again, 3 points higher than last year, and 11 points higher than in 2010. As important and promising as this is, I&#8217;m actually more heartened by the fact that the proportions of people that are using Clojure for hobby projects has remained constant: I think it would be a great loss if Clojure ever became one of those languages that is used at work, but shunned when one wants to do some hacking for fun.  That capacity for enabling play is a huge source of the creativity and liveliness that makes using Clojure not only sensible, but satisfying.</p>
<h2>Q: In which domain(s) are you using Clojure?</h2>
<p><img class="alignnone" title="In which domain(s) are you using Clojure?" src="http://chart.apis.google.com/chart?chxl=0:|0|185|370|555|740|925|1:|Other+%E2%80%94+6%25|GIS+%E2%80%94+2%25|Embedded+systems+%E2%80%94+1%25|Mobile+app+development+(non-Web)+%E2%80%94+3%25|Open+source+projects+%E2%80%94+34%25|Building+and+delivering+commercial+_services_+%E2%80%94+14%25|Building+commercial+_products_+%E2%80%94+12%25|EAI+(all+that+%22enterprisey%22+stuff)+%E2%80%94+7%25|Non-relational+data+store+programming+(%22NoSQL%22)+%E2%80%94+22%25|RDBMS+programming+%E2%80%94+16%25|%22Big+Data%22+(hadoop+%2F+cascading+%2F+cassandra+%2F+storm+%2F+etc)+%E2%80%94+20%25|Thick+client+applications+(Swing+%2F+SWT+%2F+RCP+%2F+QT+%2F+JavaFX+%2F+etc)+%E2%80%94+7%25|Systems+administration+%2F+devops+%E2%80%94+15%25|Network+programming+%E2%80%94+18%25|Web+development+%E2%80%94+70%25|Graphics+%2F+Art+%E2%80%94+8%25|Music+%E2%80%94+6%25|Gaming+%E2%80%94+12%25|Math+%2F+data+analysis+%E2%80%94+35%25&amp;chxr=1,-18.333,100&amp;chxs=0,000000,12,0,lt,676767|1,000000,12,1,lt,676767&amp;chxt=x,y&amp;chbh=19,3&amp;chs=625x440&amp;cht=bhs&amp;chco=23D623|00D000|2CD82C|09D209|11D311|1AD51A|46DD46|3DDB3D|34DA34|60E260|4FDE4F|57E057|94EB94|8CEA8C|83E883|69E369|71E571|7AE77A|9DED9D&amp;chds=23.333,925&amp;chd=t:468,156,82,103,925,243,199,88,259,208,288,90,157,184,455,43,-1,24,78" alt="In which domain(s) are you using Clojure?" /></p>
<p>This chart is identical to last year&#8217;s results.  Web development and math/data analysis remain ubiquitous and lots of people are contributing to open source Clojure projects.</p>
<p>Most of the &#8220;Other&#8221; domains are scientific in nature, interestingly enough:</p>
<ul>
<li>scientific computing</li>
<li>biological research</li>
<li>bioinformatics</li>
<li>healthcare</li>
<li>medical (mass spec) data analysis</li>
</ul>
<p>…and so on.  There&#8217;s also a solid chunk of people doing AI, NLP, and semantic web stuff.</p>
<h2>Q: While Clojure started as a JVM-only language, there are now multiple implementations targeting different runtimes and environments. To what degree are you using each of these implementations?</h2>
<p>The last year has seen an explosion in the number of runtimes targeted by various Clojure ports, reimplementations, and adaptations.  This question was answered via a grid of options, but a better visualization than a set of typical bar charts is not ready at hand; so, first the charts, and then a couple of words:</p>
<p><img class="alignnone" title="To what degree are you using Clojure?" src="http://chart.apis.google.com/chart?chxl=0:|0|191|382|573|762|957|1:|Never+heard+of+it+%E2%80%94%C2%A00%25|No+plans+to+use+or+investigate+%E2%80%94%C2%A00%25|Investigating+%2F+evaluating+%E2%80%94+16%25|Applied+in+non-production+areas+%E2%80%94+31%25|In+%22production%22+%E2%80%94%C2%A050%25&amp;chxr=1,0,98.333&amp;chxs=0,000000,12,0,lt,676767|1,000000,12,1,lt,676767&amp;chxt=x,y&amp;chbh=24,6&amp;chs=565x180&amp;cht=bhs&amp;chco=8D5BD4&amp;chds=0,957&amp;chd=t:682,431,226,5,0&amp;chdl=Clojure" alt="To what degree are you using Clojure?" width="565" height="180" /></p>
<p><img class="alignnone" title="To what degree are you using Clojure.CLR?" src="http://chart.apis.google.com/chart?chxl=0:|0|191|382|573|762|957|1:|Never+heard+of+it+%E2%80%94%C2%A08%25|No+plans+to+use+or+investigate+%E2%80%94%C2%A070%25|Investigating+%2F+evaluating+%E2%80%94+10%25|Applied+in+non-production+areas+%E2%80%94+1%25|In+%22production%22+%E2%80%94%C2%A00%25&amp;chxr=1,0,93.333&amp;chxs=0,000000,12,0,lt,676767|1,000000,12,1,lt,676767&amp;chxt=x,y&amp;chbh=24,6&amp;chs=565x180&amp;cht=bhs&amp;chco=008000&amp;chds=0,957&amp;chd=t:4,13,142,957,104&amp;chdl=Clojure.CLR" alt="To what degree are you using Clojure.CLR?" width="565" height="180" /></p>
<p><img class="alignnone" title="To what degree are you using ClojureScript?" src="http://chart.apis.google.com/chart?chxl=0:|0|191|382|573|762|957|1:|Never+heard+of+it+%E2%80%94%C2%A02%25|No+plans+to+use+or+investigate+%E2%80%94%C2%A014%25|Investigating+%2F+evaluating+%E2%80%94+59%25|Applied+in+non-production+areas+%E2%80%94+11%25|In+%22production%22+%E2%80%94%C2%A08%25&amp;chxr=1,0,93.333&amp;chxs=0,000000,12,0,lt,676767|1,000000,12,1,lt,676767&amp;chxt=x,y&amp;chbh=24,6&amp;chs=565x180&amp;cht=bhs&amp;chco=3072F3&amp;chds=0,957&amp;chd=t:107,147,814,198,24&amp;chdl=ClojureScript" alt="To what degree are you using ClojureScript?" width="565" height="180" /></p>
<p><img class="alignnone" title="To what degree are you using clojure-py?" src="http://chart.apis.google.com/chart?chxl=0:|0|191|382|573|762|957|1:|Never+heard+of+it+%E2%80%94%C2%A022%25|No+plans+to+use+or+investigate+%E2%80%94%C2%A049%25|Investigating+%2F+evaluating+%E2%80%94+16%25|Applied+in+non-production+areas+%E2%80%94+1%25|In+%22production%22+%E2%80%94%C2%A00%25&amp;chxr=1,0,93.333&amp;chxs=0,000000,12,0,lt,676767|1,000000,12,1,lt,676767&amp;chxt=x,y&amp;chbh=24,6&amp;chs=565x180&amp;cht=bhs&amp;chco=990066&amp;chds=0,957&amp;chd=t:3,11,223,673,297&amp;chdl=clojure-py" alt="To what degree are you using clojure-py?" width="565" height="180" /></p>
<p><img class="alignnone" title="To what degree are you using clojure-scheme?" src="http://chart.apis.google.com/chart?chxl=0:|0|191|382|573|762|957|1:|Never+heard+of+it+%E2%80%94%C2%A033%25|No+plans+to+use+or+investigate+%E2%80%94%C2%A041%25|Investigating+%2F+evaluating+%E2%80%94+14%25|Applied+in+non-production+areas+%E2%80%94+1%25|In+%22production%22+%E2%80%94%C2%A00%25&amp;chxr=1,0,93.333&amp;chxs=0,000000,12,0,lt,676767|1,000000,12,1,lt,676767&amp;chxt=x,y&amp;chbh=24,6&amp;chs=565x180&amp;cht=bhs&amp;chco=FFCC33&amp;chds=0,957&amp;chd=t:2,1,186,567,448&amp;chdl=clojure-scheme" alt="To what degree are you using clojure-scheme?" width="565" height="180" /></p>
<p><img class="alignnone" title="To what degree are you using clojurec?" src="http://chart.apis.google.com/chart?chxl=0:|0|191|382|573|762|957|1:|Never+heard+of+it+%E2%80%94%C2%A029%25|No+plans+to+use+or+investigate+%E2%80%94%C2%A034%25|Investigating+%2F+evaluating+%E2%80%94+26%25|Applied+in+non-production+areas+%E2%80%94+0%25|In+%22production%22+%E2%80%94%C2%A00%25&amp;chxr=1,0,93.333&amp;chxs=0,000000,12,0,lt,676767|1,000000,12,1,lt,676767&amp;chxt=x,y&amp;chbh=24,6&amp;chs=565x180&amp;cht=bhs&amp;chco=BBCCED&amp;chds=0,957&amp;chd=t:2,4,351,463,393&amp;chdl=clojurec" alt="To what degree are you using clojurec?" width="565" height="180" /></p>
<p><a href="https://github.com/clojure/clojurescript">ClojureScript</a> clearly has the most traction and attention of all of the alternative implementations — nearly 20% of respondents are using it in some non-investigatory capacity — but <a href="https://github.com/halgari/clojure-py">clojure-py</a>, <a href="https://github.com/takeoutweight/clojure-scheme">clojure-scheme</a>, and <a href="https://github.com/schani/clojurec">clojurec</a> are also each being evaluated by nontrivial numbers of programmers, despite their relative youth.  Targeting JavaScript, Python, Scheme, and C (and thus to all sorts of platforms, including iOS, embedded devices, and so on) have long been of interest to Clojure programmers, so this immediate attraction is not surprising.</p>
<p>This is in contrast with <a href="https://github.com/clojure/clojure-clr">ClojureCLR</a>, and demonstrates how critical the targeted platform is to the success of a language implementation: despite ClojureCLR being complete and well-supported by the tireless David Miller, 70% of respondents just don&#8217;t have any interest in it, and only 17 respondents are using it in any capacity.  My best guess at explaining this is that those targeting .NET are fundamentally unwilling to consider languages not officially supported by Microsoft…witness the stasis of efforts like IronRuby and IronPython compared to JRuby and Jython and the other <em>dozens</em> of stable, active languages on the JVM.</p>
<p>Aside from any technical matters, this dynamic alone is enough to justify Rich Hickey&#8217;s prehistoric decision to focus Clojure on the JVM rather than the .NET CLR, and should be a factor for anyone considering working on or adopting alternative Clojure implementations: the target platform cannot be a footnote or secondary consideration.</p>
<p>Finally: a couple of comments elsewhere either pined for a Clojure implementation that targeted Lua, or helpfully pointed out the existence of <a href="https://github.com/raph-amiard/clojurescript-lua">clojurescript-lua</a>.  Clojure / Lua fans, check it out! (If a couple someones let me know it&#8217;s up to snuff, I&#8217;ll definitely include it next year.)</p>
<h2>Q: If you are using Clojure on the JVM, which JRE/JDK version do you target?</h2>
<p><img class="alignnone" title="Which JRE/JDK do you target?" src="http://chart.apis.google.com/chart?chxl=0:|0|134|268|402|536|670|1:|Other+%E2%80%94%C2%A03%25|%24LATEST+%E2%80%94%C2%A023%25|1.7+%E2%80%94+24%25|1.6+%E2%80%94%C2%A049%25|1.5+%E2%80%94+0%25&amp;chxr=1,0,98.333&amp;chxs=0,000000,12,0,lt,676767|1,000000,12,1,lt,676767&amp;chxt=x,y&amp;chbh=24,6&amp;chs=565x180&amp;cht=bhs&amp;chco=8D5BD4&amp;chds=0,670&amp;chd=t:6,670,331,321,44" alt="Which JRE/JDK do you target?" width="565" height="180" /></p>
<p>Only <em>5</em> respondents indicated that they target Java 1.5.  I honestly expected that number to be much, much higher.  I concede that there are surely plenty of Clojure programmers who aren&#8217;t floating around on the mailing list and twitter and who aren&#8217;t likely to participate in surveys — and such programmers might be more likely to be targeting older JVMs.  But, all caveats aside, this is fantastic news.</p>
<p>This means that, in general, library authors can safely target Java 1.6.  And, if it yields any benefits, Clojure moving to require Java 1.6 would appear to have few downsides (apologies to the few still targeting 1.5).</p>
<h2>Q: If you are using ClojureScript, which environments do you target?</h2>
<p><img title="Which JRE/JDK do you target?" src="http://chart.apis.google.com/chart?chxl=0:|0|138|276|414|552|688|1:|Other+%E2%80%94%C2%A02%25|node.js+%E2%80%94%C2%A019%25|Browsers+%E2%80%94%C2%A095%25&amp;chxr=1,0,98.333&amp;chxs=0,000000,12,0,lt,676767|1,000000,12,1,lt,676767&amp;chxt=x,y&amp;chbh=24,6&amp;chs=565x120&amp;cht=bhs&amp;chco=8D5BD4&amp;chds=0,688&amp;chd=t:688,134,18" alt="Which JRE/JDK do you target?" /></p>
<p>What surprised me here was that there&#8217;s a bunch of people using ClojureScript to write node.js apps!  That surely exposes my personal biases.</p>
<p>Notable &#8220;Other&#8221; selections here include Android and iOS (presumably through embedded web views?), as well as usage of various mobile-deployment toolkits like PhoneGap, Cordova, and so on.</p>
<p>In hindsight, I probably should have added &#8220;Mobile devices&#8221; and &#8220;Databases&#8221; (e.g. <a href="https://github.com/clojure-clutch/clutch#using-clojurescript-to-write-couchdb-views-">CouchDB</a>, <a href="http://code.google.com/p/plv8js/">PostgreSQL</a>) to the available options.</p>
<h2>Q: How true are the following statements when applied to the Clojure libraries available within your domain(s)?</h2>
<p>The JVM and other targeted platforms are known, stable quantities; and, especially with the release of Clojure 1.3 and 1.4 in the last year and the ongoing maturation of ClojureScript, the language is stable as well.  This leaves libraries as a certain unending &#8220;last frontier&#8221; of usability, in terms of programmers being able to get things done using Clojure and Co.  So, the survey asked if Clojure libraries, <em>in general</em>, are aptly described by a series of statements.</p>
<p>First, the charts, and their corresponding statements:</p>
<div class="wp-caption alignnone" style="width: 355px"><img src="https://chart.googleapis.com/chart?cht=bhs&amp;chs=345x120&amp;chbh=24%2C6&amp;chco=ff9900%7Cffaf37%7Cffc56f&amp;chxt=x%2Cy&amp;chxl=0%3A%7C0%7C193%7C386%7C579%7C772%7C965%7C1158%7C1%3A%7CSome%20do%7CNo%7CYes&amp;chxs=0%2C000000%2C12%2C0%2Clt%7C1%2C000000%2C12%2C1%2Clt&amp;chds=0%2C1158&amp;chd=t%3A966%2C8%2C261" alt="" width="345" height="120" /><p class="wp-caption-text">&#8220;They implement core functionality well.&#8221;</p></div>
<div class="wp-caption alignnone" style="width: 355px"><img src="https://chart.googleapis.com/chart?cht=bhs&amp;chs=345x120&amp;chbh=24%2C6&amp;chco=da3737%7Cd00000%7Ce46f6f&amp;chxt=x%2Cy&amp;chxl=0%3A%7C0%7C124%7C248%7C372%7C496%7C620%7C1%3A%7CSome%20are%7CNo%7CYes&amp;chxs=0%2C000000%2C12%2C0%2Clt%7C1%2C000000%2C12%2C1%2Clt&amp;chds=0%2C620&amp;chd=t%3A510%2C79%2C618" alt="" width="345" height="120" /><p class="wp-caption-text">&#8220;They are more effective than analogous libraries in other languages.&#8221;</p></div>
<div class="wp-caption alignnone" style="width: 355px"><img src="https://chart.googleapis.com/chart?cht=bhs&amp;chs=345x120&amp;chbh=24%2C6&amp;chco=dcca02%7Ce4d539%7Cebe170&amp;chxt=x%2Cy&amp;chxl=0%3A%7C0%7C100%7C200%7C300%7C400%7C500%7C600%7C1%3A%7CSome%20are%7CNo%7CYes&amp;chxs=0%2C000000%2C12%2C0%2Clt%7C1%2C000000%2C12%2C1%2Clt&amp;chds=0%2C600&amp;chd=t%3A493%2C224%2C501" alt="" width="345" height="120" /><p class="wp-caption-text">&#8220;They are easy to find.&#8221;</p></div>
<div class="wp-caption alignnone" style="width: 355px"><img src="https://chart.googleapis.com/chart?cht=bhs&amp;chs=345x120&amp;chbh=24%2C6&amp;chco=00d000%7C37da37%7C6fe46f&amp;chxt=x%2Cy&amp;chxl=0%3A%7C0%7C119%7C238%7C357%7C476%7C595%7C714%7C1%3A%7CSome%20are%7CNo%7CYes&amp;chxs=0%2C000000%2C12%2C0%2Clt%7C1%2C000000%2C12%2C1%2Clt&amp;chds=0%2C714&amp;chd=t%3A596%2C25%2C494" alt="" width="345" height="120" /><p class="wp-caption-text">&#8220;Their maintainers are receptive to feedback, patches, etc.&#8221;</p></div>
<div class="wp-caption alignnone" style="width: 355px"><img src="https://chart.googleapis.com/chart?cht=bhs&amp;chs=345x120&amp;chbh=24%2C6&amp;chco=ad38be%7C9601ac%7Cc46fd0&amp;chxt=x%2Cy&amp;chxl=0%3A%7C0%7C163%7C326%7C489%7C652%7C815%7C978%7C1%3A%7CSome%20are%7CNo%7CYes&amp;chxs=0%2C000000%2C12%2C0%2Clt%7C1%2C000000%2C12%2C1%2Clt&amp;chds=0%2C978&amp;chd=t%3A191%2C192%2C817" alt="" width="345" height="120" /><p class="wp-caption-text">&#8220;They are accurately and adequately documented.&#8221;</p></div>
<p>Sweeping conclusions made from this data are probably suspect, but I&#8217;ll make a stab at it:</p>
<p>Clojure libraries are generally of high quality, and more effective than libraries people have used in other languages.  Further, library maintainers are generally collaborative and easy to work with.</p>
<p>On the other hand, the right Clojure library isn&#8217;t always easy to find, and many libraries are poorly or inaccurately documented.</p>
<p>There have been a <a href="http://clojuresphere.herokuapp.com/">couple</a> of <a href="http://www.clojure-toolbox.com/">stabs</a> at easing discovery, but not yet anything that&#8217;s caught fire (or, been regularly maintained, unfortunately).  At the very least, everyone should keep <a href="http://search.maven.org/">search.maven.org</a> bookmarked for those libraries that are deployed to Maven central.  But, in the end, it may be that there&#8217;s no solution to this problem, insofar as it&#8217;s <em>damn hard</em> to track distributed development efforts with a centrally-planned solution; just look at how essentially rudimentary search.maven.org is, and that&#8217;s servicing one of the largest software development ecosystems in the world.  It may be that time and internalized community knowledge (e.g. &#8220;What is the best library for X?&#8221; &#8220;Y, of course!&#8221;) are the only things we&#8217;ll be able to count on.</p>
<p>(Those shouting &#8220;<a href="http://search.cpan.org/">CPAN</a>, CPAN!&#8221; at their screens now should really calm down.)</p>
<p>The documentation issue is, as we&#8217;ve seen in previous surveys and as we&#8217;ll see again later here, the most common thread of complaint amongst Clojure programmers.  More on this in a bit.</p>
<p>In hindsight, I should have offered only two options (Yes/No), which would have pushed people off the fence of &#8220;Some are&#8221;, and thus made it easier to get a clear picture of the state of things.</p>
<h2>Q: What have been the biggest wins for you in using Clojure?</h2>
<p><img src="http://chart.apis.google.com/chart?chxl=0:|0|222|444|666|888|1110|1:|Other+%E2%80%94+4%25|Extensible+reader+%2F+tagged+reader+literals+%E2%80%94+2%25|Immutability+%E2%80%94+58%25|Pleasant+%2F+helpful+community+%E2%80%94+36%25|Ease+of+development+%E2%80%94+47%25|Runtime+performance+%E2%80%94+11%25|Functional+programming+%E2%80%94+83%25|Multimethods+%E2%80%94+13%25|The+REPL+%E2%80%94+64%25|Protocols%2C+records%2C+types+%E2%80%94+15%25|Metadata+%E2%80%94+8%25|Platform+(JVM)+compatibility+%2F+interop+%E2%80%94+60%25|Macros+and+homoiconicity+%E2%80%94+41%25|Concurrency+facilities+%E2%80%94+37%25&amp;chxs=0,000000,12,0,lt,676767|1,000000,12,1,lt,676767&amp;chxt=x,y&amp;chbh=24,6&amp;chs=565x450&amp;cht=bhs&amp;chco=1818E3|9A9AF3|0C0CE1|0000E0|3B3BE7|2424E4|8E8EF1|2F2FE6|6B6BED|5F5FEC|5353EA|7676EE|8282F0|4747E9&amp;chds=0,1110&amp;chd=t:495,544,807,105,197,849,171,1109,142,629,485,773,24,50" alt="" /></p>
<p>Compared to last year, mentions of protocols, records, and types went up by 50%, probably due to people starting to grok how to best utilize them.  The proportion that called out multimethods doubled, which I&#8217;m even happier to see.  Beyond that, functional programming, JVM interop, and the joys of the REPL continue to be people&#8217;s favorite benefits of Clojure.</p>
<p>Notably, very, very few people reported that the <a href="https://github.com/clojure/clojure/blob/master/changes.md#21-reader-literals">extensible reader</a> introduced in Clojure 1.4.0 was a big win.  This is understandable given how new 1.4.0 is (released just four months ago), and so it may take some time for people to learn how and when to use tagged literals well.</p>
<h2>Q: Which development environment(s) do you use to work with Clojure?</h2>
<p><img class="alignnone" src="http://chart.apis.google.com/chart?chxl=0:|0|138|276|414|552|690|828|1:|Other+%E2%80%94+10%25|Clooj+%E2%80%94+3%25|Command-line+REPL+%E2%80%94+26%25|Vim+%2B+vimclojure+%E2%80%94+23%25|Textmate+%2B+textmate-clojure+%E2%80%94+3%25|NetBeans+%2B+Enclojure+%E2%80%94+1%25|IntelliJ+%2B+La+Clojure+%E2%80%94+11%25|Emacs+%2B+SLIME+%E2%80%94+52%25|Emacs+%2B+inferior-lisp+%E2%80%94+6%25|Eclipse+%2B+Counterclockwise+%E2%80%94+18%25&amp;chxs=0,000000,12,0,lt,676767|1,000000,12,1,lt,676767&amp;chxt=x,y&amp;chbh=24,6&amp;chs=545x330&amp;cht=bhs&amp;chco=FFAD32|FFA011|FFBA53|FFB442|FF9900|FFA621|FFD595|FFC163|FFC774|FFCE85&amp;chds=0,828&amp;chd=t:238,86,692,147,9,34,312,343,42,132" alt="" width="545" height="330" /></p>
<p>There&#8217;s been some movement in the area of development environments:</p>
<ul>
<li>Emacs usage dropped 10%</li>
<li>Eclipse + Counterclockwise gained 4%</li>
<li>Usage of &#8220;Command-line REPL&#8221;s gained 5%</li>
</ul>
<p>…but, I think most of the shifts from last year are noise.  What <em>isn&#8217;t</em> noise is the total collapse of usage of NetBeans + <a href="http://www.enclojure.org/">Enclojure</a>; it was used by 13% of respondents in 2010, and now is used by just 1%.</p>
<p>Popular mentions in the &#8220;Other&#8221; column include:</p>
<ul>
<li>vim + <a href="http://www.vim.org/scripts/script.php?script_id=2531">slimv</a> (SLIME)</li>
<li><a href="http://dev.clojure.org/display/doc/Getting+Started+With+Sublime+Text+2">Sublime Text</a></li>
<li><a href="http://app.kodowa.com/playground">Light Table</a></li>
<li>Emacs + <a href="https://github.com/kingtim/nrepl.el">nrepl.el</a> (a project aiming to add nREPL support to Emacs)</li>
</ul>
<p>I&#8217;ll talk a bit more about development environments later.</p>
<h2>Q: Which toolchain(s) do you use?</h2>
<p><img class="alignnone" src="https://chart.googleapis.com/chart?cht=bhs&amp;chs=545x240&amp;chbh=24%2C6&amp;chco=ea8e8e|d41818|d00000|d92f2f|dd4747|e67676|e15f5f&amp;chxt=x%2Cy&amp;chxl=0%3A|0|251|502|753|1004|1255|1%3A|Other+%E2%80%94+1%25|Shell+scripts+%E2%80%94+8%25|make+%E2%80%94+4%25|Gradle+%E2%80%94+2%25|Ant+%E2%80%94+5%25|Maven+%28%60mvn%60%29+%E2%80%94+13%25|Leiningen+%E2%80%94+95%25&amp;chxs=0%2C000000%2C12%2C0%2Clt|1%2C000000%2C12%2C1%2Clt&amp;chds=0%2C1255&amp;chd=t%3A1255%2C178%2C69%2C25%2C50%2C101%2C16" alt="" width="545" height="240" /></p>
<p><em>Everyone</em> uses <a href="http://leiningen.org">Leiningen</a>.  The other 5% just wish they could.  ;-)</p>
<p>There&#8217;s no data from previous years to compare this to, but whatever the curve of growth of Leiningen, <a href="http://technomancy.us">technomancy</a> &amp; co. deserve a ton of credit for shaving the yaks and herding the cats to build it up into what it has become today.  People&#8217;s everyday Clojure experience is greatly enhanced by the get-out-of-the-way approach taken by Leiningen, and I think we&#8217;re all better off for it.</p>
<h2>Q: Describe how you have participated in the development of the Clojure implementation or &#8220;contrib&#8221; libraries.</h2>
<p><img class="alignnone" src="http://chart.apis.google.com/chart?chxl=0:|0|172|344|516|688|860|1:|Other+%E2%80%94+3%25|I+am+unsure+of+my+ability+to+contribute.+%E2%80%94+23%25|I've+avoided+participating+b%2Fc+of+the+contributor+agreement.+%E2%80%94+4%25|I've+avoided+participating+b%2Fc+of+the+vetting+process.+%E2%80%94+3%25|I've+submitted+patches+that+have+been+accepted.+%E2%80%94+6%25|I've+submitted+patches.+%E2%80%94+6%25|I've+reported+issues+through+the+official+issue+tracker.+%E2%80%94+11%25|I+haven't+needed+to.+%E2%80%94+66%25&amp;chxs=0,000000,12,0,lt,676767|1,000000,12,1,lt,676767&amp;chxt=x,y&amp;chbh=24,6&amp;chs=565x270&amp;cht=bhs&amp;chco=EDE47D|E2D32B|F0E892|DCCA02|DFCE17|E5D740|E7DB54|EAE069&amp;chds=0,860&amp;chd=t:859,148,79,76,37,56,295,40" alt="" width="565" height="270" /></p>
<p>This is a bit of inside baseball, but I was curious to see how widespread participation is in the development of Clojure itself and the surrounding &#8220;contrib&#8221; libraries, and what might be standing in the way of people that might otherwise participate.</p>
<p>A couple of things jump out at me:</p>
<p>66% of respondents haven&#8217;t had a need to contribute to Clojure, to the point of not even needing to report bugs.  I think that&#8217;s a damn good number of people that have presumably had a distinctly positive experience re: language quality and completeness.</p>
<p>There&#8217;s rarely a week (or, day, perhaps?) that goes by on Twitter or in irc without some griping about <a href="http://dev.clojure.org/display/design/JIRA+workflow">Clojure&#8217;s contributions process</a> and <a href="http://clojure.org/contributing">policies</a>. However, just 85 respondents (~6%) cite that process or the Clojure contributor agreement (the most contentious part of those policies) as barriers to their contributing to the language and surrounding libraries; this makes me think that these issues are the favorites of a loud minority more than anything else.  On the other hand, 85 respondents represent 28% of the group that have the desire and need to contribute (i.e. excluding those that &#8220;haven&#8217;t needed&#8221; to contribute and those that are &#8220;unsure of their ability&#8221; to contribute).  It does seem worrisome that more than a quarter of potential contributors are opting out at least some of the time for reasons orthogonal to the code and documentation and work involved.</p>
<h2>Q: What has been most frustrating for you in your use of Clojure; or, what has kept you from using Clojure more than you do now?</h2>
<p><img src="http://chart.apis.google.com/chart?chxl=0:|0|71|142|213|284|355|1:|Other+%E2%80%94+21%25|Runtime+performance+%E2%80%94+12%25|Unpleasant+community+interactions+%2F+atmosphere+%E2%80%94+2%25|Library+incompatibility+w%2F+different+versions+of+Clojure+%E2%80%94+13%25|Frequency+%2F+predictability+of+official+releases+%E2%80%94+2%25|Difficulty+using+Clojure+for+scripting+(command+line)+%E2%80%94+25%25|Lack+of+comprehensive+%2F+approachable+editors+%2F+IDEs+%E2%80%94+19%25|Concerns+over+long-term+language+viability+%E2%80%94+19%25|Future+staffing+concerns+%E2%80%94+23%25|Difficulty+deploying+completed+applications+%E2%80%94+8%25|Difficulty+finding+%2F+evaluating+relevant+libraries+%E2%80%94+18%25|Lack+of+integration+w%2F+non-Clojure+tools%2Fsystems+%E2%80%94+3%25|Clojure's+%22install%22+process+%E2%80%94+15%25|Lack+of+comprehensive+%2F+approachable+documentation+%E2%80%94+30%25&amp;chxs=0,000000,12,0,lt,676767|1,000000,12,1,lt,676767&amp;chxt=x,y&amp;chbh=24,6&amp;chs=600x450&amp;cht=bhs&amp;chco=9AEC9A|8EEA8E|18D418|3BDB3B|2FD92F|24D724|00D000|0CD20C|5FE15F|53DF53|47DD47|82E882|6BE46B|76E676&amp;chds=0,355&amp;chd=t:353,182,38,212,97,276,228,218,294,27,155,18,143,246" alt="" /></p>
<p>A lot of the most common and most frustrating problems were expanded upon in the free-form responses, so I talk about them a bit there (see below). Otherwise, just a couple thoughts:</p>
<p>The Clojure community remains a nice place to be, with only 2% of respondents indicating that they&#8217;ve had unpleasant interactions with others, the same proportion as last year.</p>
<p>I didn&#8217;t think it possible, but an even <em>larger</em> proportion of respondents than last year — now up to a third — indicate that documentation is a key problem.  This ties into the feedback seen earlier that library documentation is generally not what it should be.  To a large degree, this is a self-inflicted wound: both Clojure and its libraries are technologically sufficient and effective and useful, but many, <em>many</em> people are tripping on their way towards using them.</p>
<p>Given that the only other problems within 10 percentage points of the documentation issue are largely out of everyone&#8217;s direct control (issues using Clojure for scripting, likely hampered by the JVM&#8217;s startup time; and future staffing concerns, more of a communications and psychological issue than a technical or content problem), <strong><em>the best thing anyone can do to help Clojure succeed is to help make documentation and tutorials better for every skill level and domain,</em></strong><em> anywhere.</em> I do what I can in my projects <a href="http://www.clojurebook.com">and elsewhere</a>; please do what you can, too.</p>
<h2>Free-form topics</h2>
<p>Per usual, I included two free-form fields where people could write whatever they like: one dedicated to the biggest problems people think Clojure has (which allowed people to point out topics I didn&#8217;t offer as options in the prior question, or to further emphasize their choices there), the other for &#8220;general comments&#8221;.  Responses from their fields are included in the raw data linked below, as well as in separate HTML files for easier reading (spreadsheets are really poor for reading long-form text).  I encourage you to take a look, as I only provide a selective, slanted, biased, self-interested, unscientific overview here…</p>
<h3>&#8220;What do you think is Clojure&#8217;s most glaring weakness / blind spot / problem?&#8221;</h3>
<p>Predictably, the topics named in the responses to this question ranged all over the place.  Here&#8217;s a selection of common complaints, or tidbits I found interesting.</p>
<h4>Documentation &amp; getting started</h4>
<p>I already flogged this above, but it&#8217;s worth noting the level of &#8220;enthusiasm&#8221; (a.k.a. &#8220;vitriol&#8221;) many people have with regard to the documentation for and around Clojure.  This is easily the most common topic in the &#8220;weak spot&#8221; comments.  There are few areas that are immune from such criticism, but much of it inevitably lands on clojure.org, its (lack of) connection to <a href="http://dev.clojure.org/display/doc/Home">the development wiki</a> (flawed as it is), and so on.</p>
<p>Specifically, there are a number of comments along the lines of:</p>
<blockquote><p><a href="http://clojure.org/getting_started" rel="nofollow">http://clojure.org/getting_started</a> should be replaced with <a href="https://github.com/technomancy/leiningen/blob/master/README.md" rel="nofollow">https://github.com/technomancy/leiningen/blob/master/README.md</a></p></blockquote>
<p>There&#8217;s been a lot of griping over the years about the <a href="http://www.clojure.org/getting_started">&#8220;getting started&#8221; section of clojure.org</a>, insofar as it leads newcomers through bootstrapping Clojure through a direct <code>java -cp ...</code> invocation on the command line, leaving them with the default, not-particularly-nice (sorry) REPL.  I&#8217;ve previously thought that the neutral stance taken on clojure.org is reasonable, insofar as a language shouldn&#8217;t be dictating (explicitly or otherwise) the use of a particular toolchain.  However, given the clearly universal acceptance of Leiningen into people&#8217;s hearts, and relatively high degree of difficulty that newcomers clearly feel with regard to the official first steps, I think it may be time to revisit that neutrality.  Leiningen, especially its v2.x incarnation, <em>makes Clojure look and feel good</em> &#8220;right out of the box&#8221;; since so many of the difficulties people report are around the immediate getting-started process, this simple recommendation could alleviate a lot of pain people are having.</p>
<h4>Development environments</h4>
<p>Many remain unhappy with the available development environments, and many express frustration with Emacs and the learning curve it entails (this not necessarily being an indictment of Emacs; if another editor were the most popular, it might receive the majority of scorn as well). However, I&#8217;ll go out on a limb and say that the number and strength of complaints on this topic were down somewhat from last year, which would correspond well with the 8% drop in reports of editors and IDEs being a leading frustration in the previous question compared to 2011.</p>
<p>Along these lines, a number of respondents wrote something similar to:</p>
<blockquote><p>…every time counter clockwise gets another release, the world gets better.</p></blockquote>
<p>I wholeheartedly agree.  <a href="https://www.gittip.com/laurentpetit/">Laurent</a> has made a ton of progress with <a href="http://code.google.com/p/counterclockwise/">Counterclockwise</a> in the past year, with Leiningen 2 integration that&#8217;s never failed me.  By all means check out the <a href="http://groups.google.com/group/clojuredev-users/browse_frm/thread/f84c0d960a88fd4b">latest betas</a> for absolutely excellent, dead easy-to-use Clojure code completion.  If you&#8217;re not happy with what you use today, give Counterclockwise a shot. (Disclaimer: I am — though not lately :-( — a Counterclockwise contributor.)</p>
<p>And, thanks to <a href="http://thinkrelevance.com/">Relevance</a> as well, for <a href="http://groups.google.com/group/clojure/browse_thread/thread/8cb9162117c62621">their ongoing sponsorship of Laurent&#8217;s work</a>.</p>
<h4>Hubris</h4>
<p>I found this complaint interesting:</p>
<blockquote><p>The hubris it&#8217;s champions have about functional programming.</p></blockquote>
<p>I might be a good prototype of this commenter&#8217;s claim: I champion Clojure, am convinced that functional programming is superior to nearly all alternatives for most applications that I care about and that I see friends and peers building, and I share that conviction broadly.  Perhaps &#8220;hubristic Clojure goon&#8221; is the new &#8220;smug lisp weenie&#8221;?</p>
<p>The notion of &#8220;hubris&#8221; — excessive pride and arrogance — is interesting though. Should we scrape along with caveats and disclaimers, giving equal time to procedural programming and object oriented programming and the power of pointer arithmetic in order to prove our humility? One of the great things about the Clojure community in general is that it expects people to be adults capable of independent and self-motivated thought.  So, if someone — anyone — says something confidently, you should be happy and proud to disagree as long as you have good reason to do so.  There is nothing more cherished among Clojure programmers than well-reasoned discussion, and admitting error, mistake, or fault isn&#8217;t a taboo sign of weakness.</p>
<p>To me, this sounds like vitality and honesty, not hubris.</p>
<h4>Development process snark</h4>
<p>Whatever its merits or demerits, people have grown accustomed to laissez-faire collaboration styles (exemplified currently by the typical Github project), so comments like this:</p>
<blockquote><p>contrib doesn&#8217;t seem very contrib-y.</p></blockquote>
<p>and</p>
<blockquote><p>Clojure/core&#8217;s apparent unfriendliness to community contributions.</p></blockquote>
<p>aren&#8217;t uncommon, and underline the sentiment some expressed in the contribution-related question earlier.  Fair or not, there is definitely an undercurrent of frustration among some.</p>
<h4>Android pain</h4>
<p>An example comment:</p>
<blockquote><p>One would expect clojure to have a better Android story.</p></blockquote>
<p>Many people lamented Clojure&#8217;s apparent difficulty in being used to program Android apps.  I confess I&#8217;ve never tried myself, but I know that <a href="http://www.deepbluelambda.org/programming/clojure/clojure-for-android-source-published">some </a><a href="http://www.deepbluelambda.org/programming/clojure/clojure-for-android-source-published">people have gone to great lengths</a> to build and publish Android apps written in Clojure, apparently needing to produce custom builds of the language in order to work around particularities in the Dalvik VM (stack size, JIT limitations, and classloader idiosyncrasies being some of the problems I&#8217;m vaguely aware of).  Making Clojure work well on Android <a href="http://dev.clojure.org/display/design/Android+Support">is an effort being tracked</a>, but one that I don&#8217;t really know the status of.</p>
<p>It&#8217;s surprising how many Android-related complaints showed up, even though only 3% of respondents reported using Clojure for mobile development earlier.  Perhaps that figure is so low <em>because</em> Clojure&#8217;s Android support is apparently just not up to snuff (and thus driving people to build apps using ClojureScript + e.g. Phonegap, or punting entirely and using Java or Scala or …)?</p>
<h3>&#8220;General comments?&#8221;</h3>
<p>Thankfully, the &#8220;general comments&#8221; field immediately followed the dedicated bitch-box ;-), so nearly all of the responses here were filled with whimsy and joy about how great Clojure is, e.g.:</p>
<blockquote><p>Thanks to RH.</p>
<p>It&#8217;s a lovely language.</p>
<p>I love it. Programming became fun again like it was 15 years ago.</p>
<p>Missing question: &#8220;Do you like the direction Clojure&#8217;s going in?&#8221;  - Yes! :)</p>
<p>Clojurescript is the shit</p>
<p>&lt;3</p>
<p>Clojure put the fun back in software development for me at a point where I was disillusioned and close to a career change (even though I started programming when I was 10yrs old). Now I&#8217;m programming Clojure 12hrs a day for the tech startup I founded and I absolutely love it.</p></blockquote>
<p>…and, my personal favourite:</p>
<blockquote><p>I love Clojure so much, I want to give it a kitten.</p></blockquote>
<p>Me too! So, Clojure, have a kitten; her name is Mittens:</p>
<p><a href="http://chasemerick.files.wordpress.com/2012/08/mittens.jpg"><img class="size-full wp-image-888 aligncenter" title="Mittens!" src="http://chasemerick.files.wordpress.com/2012/08/mittens.jpg?w=640" alt="Mittens!"   /></a></p>
<p>She&#8217;s seen enough Clojure at this point that she should be able to get a job writing the stuff by now…</p>
<h2>Raw Data</h2>
<p>All of the data gathered by the survey form are available:</p>
<ul>
<li>the <a href="https://docs.google.com/spreadsheet/ccc?key=0AqULylOQcEq1dENfclNDNDFJNk53Tl8wdUtaYTNRUlE#gid=0">raw Google Docs spreadsheet</a> with all response data (the empty columns are some artifact of the survey form GUI modifying the spreadsheet; I left them in due to warnings I received when attempting to delete them)</li>
<li>Readable responses to <a href="https://dl.dropbox.com/u/35498822/freeform-weakness.html">&#8220;What do you think is Clojure&#8217;s most glaring weakness / blind spot / problem?&#8221;</a></li>
<li>Readable responses from the <a href="http://dl.dropbox.com/u/35498822/freeform-general-comments.html">&#8220;general comments&#8221;</a> field</li>
</ul>
<p>If you are particularly interested in the Clojure community, are involved in Clojure projects, or write about, teach, or promote Clojure, you would be well-served to browse around the survey data to draw your own conclusions.</p>
<hr />
<p>I&#8217;ll wrap this up with one final thought that came while combing through the survey data and compiling this post: all while Clojure and its community has stayed healthy and continued growing like a weed, and while ambitious hackers have helped the language bloom into a <em>family</em> of languages targeting different platforms, no fatal risk has yet shown itself.  Five years on, there&#8217;s been no crucial flaw found in the principled underpinnings of the language, and no poisonous dynamic has twisted its way into the community.  While problems do exist, they are tractable, and many will yield through time and goodwill, a commodity for which we thankfully do not want.</p>
<p>For anyone considering placing a bet on Clojure, and for those of us that already have, these are all very, very good signs.</p>
<p>Thus ends the third State of Clojure survey.  I hope you&#8217;ve found the above interesting, thought-provoking, and perhaps useful.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chasemerick.wordpress.com/884/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chasemerick.wordpress.com/884/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=884&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cemerick.com/2012/08/06/results-of-the-2012-state-of-clojure-survey/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/b8ee952abb6620c1c93b3acb46cd391c?s=96&#38;d=identicon&#38;r=R" medium="image">
			<media:title type="html">cemerick</media:title>
		</media:content>

		<media:content url="http://chart.apis.google.com/chart?chxl=0:&#124;0&#124;60&#124;120&#124;180&#124;240&#124;300&#124;360&#124;1:&#124;I&#039;ve+stopped+using+Clojure+%E2%80%94%C2%A01%25&#124;I+remember+when+%23clojure+had+6+people+in+it!+%E2%80%94+1%25&#124;4+years+%E2%80%94%C2%A05%25&#124;3+years+%E2%80%94+13%25&#124;2+years+%E2%80%94+17%25&#124;1+year+%E2%80%94+17%25&#124;Months+%E2%80%94+22%25&#124;Just+started+%E2%80%94+19%25&#124;%5Bno+answer%5D+%E2%80%94+6%25&#38;chxs=0,000000,12,0,lt,676767&#124;1,000000,12,1,lt,676767&#38;chxt=x,y&#38;chbh=24,5&#38;chs=500x287&#38;cht=bhs&#38;chco=0000E0&#124;1212E2&#124;2525E4&#124;6F6FED&#124;8181F0&#124;3737E7&#124;9393F2&#124;5C5CEB&#124;4A4AE9&#38;chds=0,360&#38;chd=t:77,262,302,234,227,177,67,16,10" medium="image">
			<media:title type="html">How long have you been using Clojure?</media:title>
		</media:content>

		<media:content url="http://chart.apis.google.com/chart?chxl=0:&#124;0&#124;90&#124;180&#124;270&#124;360&#124;450&#124;540&#124;1:&#124;Visual+Basic+%E2%80%94+0%25&#124;Standard+ML+%E2%80%94+0%25&#124;Smalltalk+%E2%80%94+0%25&#124;Shell+%E2%80%94+0%25&#124;Scheme+%E2%80%94+0%25&#124;Scala+%E2%80%94+2%25&#124;Ruby+%E2%80%94+16%25&#124;R+%E2%80%94+1%25&#124;Python+%E2%80%94+15%25&#124;PHP+%E2%80%94+2%25&#124;Perl+%E2%80%94+1%25&#124;OCaml+%E2%80%94+0%25&#124;Objective+C+%E2%80%94+1%25&#124;Matlab+%E2%80%94+0%25&#124;JRuby+%E2%80%94+1%25&#124;Javascript+%E2%80%94+3%25&#124;Java+%E2%80%94+33%25&#124;Haskell+%E2%80%94+1%25&#124;Groovy+%E2%80%94+2%25&#124;Go+%E2%80%94+0%25&#124;F%23+%E2%80%94+0%25&#124;Erlang+%E2%80%94+1%25&#124;Common+Lisp+%E2%80%94+3%25&#124;C%2B%2B+%E2%80%94+3%25&#124;C%23+%E2%80%94+6%25&#124;C+%E2%80%94+2%25&#124;%5Bno+answer%5D+%E2%80%94+6%25&#38;chxs=0,000000,12,0,lt,676767&#124;1,000000,12,1,lt,676767&#38;chxt=x,y&#38;chbh=17,4,6&#38;chs=490x600&#38;cht=bhs&#38;chco=FFD699&#124;FFA51F&#124;FFAA2B&#124;FF9B06&#124;FFD493&#124;FFAD31&#124;FFA825&#124;FFAF37&#124;FFD9A0&#124;FFA012&#124;FFB23D&#124;FFB444&#124;FF9900&#124;FFA319&#124;FF9E0C&#124;FFB64A&#124;FFB950&#124;FFBB56&#124;FFC368&#124;FFBE5C&#124;FFC062&#124;FFC56F&#124;FFC875&#124;FFCA7B&#124;FFCD81&#124;FFCF87&#124;FFD18D&#38;chds=0,540&#38;chd=t:87,24,78,40,35,14,6,0,24,14,452,43,7,4,20,1,17,24,206,8,217,34,4,3,4,1,5" medium="image" />

		<media:content url="http://chart.apis.google.com/chart?chxl=0:&#124;0&#124;93&#124;186&#124;279&#124;372&#124;465&#124;1:&#124;Other+%E2%80%94+4%25&#124;Visual+Basic+%E2%80%94+0%25&#124;Standard+ML+%E2%80%94+2%25&#124;Smalltalk+%E2%80%94+2%25&#124;Shell+%E2%80%94+0%25&#124;Scheme+%E2%80%94+19%25&#124;Scala+%E2%80%94+35%25&#124;Ruby+%E2%80%94+22%25&#124;R+%E2%80%94+3%25&#124;Python+%E2%80%94+27%25&#124;PHP+%E2%80%94+1%25&#124;Perl+%E2%80%94+2%25&#124;OCaml+%E2%80%94+5%25&#124;Objective+C+%E2%80%94+2%25&#124;Matlab+%E2%80%94+0%25&#124;JRuby+%E2%80%94+10%25&#124;Javascript+%E2%80%94+15%25&#124;Java+%E2%80%94+19%25&#124;Haskell+%E2%80%94+33%25&#124;Groovy+%E2%80%94+8%25&#124;Go+%E2%80%94+10%25&#124;F%23+%E2%80%94+9%25&#124;Erlang+%E2%80%94+16%25&#124;Common+Lisp+%E2%80%94+24%25&#124;C%2B%2B+%E2%80%94+2%25&#124;C%23+%E2%80%94+5%25&#124;C+%E2%80%94+3%25&#38;chxs=0,000000,12,0,lt,676767&#124;1,000000,12,1,lt,676767&#38;chxt=x,y&#38;chbh=24,6&#38;chs=345x840&#38;cht=bhs&#38;chco=D82B2B&#124;D61F1F&#124;D72525&#124;D93131&#124;D00000&#124;D51919&#124;D10606&#124;D20C0C&#124;DB3D3D&#124;DA3737&#124;DC4444&#124;D31212&#124;E05656&#124;E36868&#124;E26262&#124;E15C5C&#124;DF5050&#124;DE4A4A&#124;EA8D8D&#124;E46F6F&#124;E57575&#124;E88181&#124;E77B7B&#124;E98787&#124;EC9999&#124;EB9393&#124;EDA0A0&#38;chds=0,465&#38;chd=t:40,65,31,327,217,116,131,110,450,251,207,129,4,25,74,23,10,363,46,291,465,252,2,22,24,0,53" medium="image" />

		<media:content url="http://chart.apis.google.com/chart?chxl=0:&#124;0&#124;130&#124;260&#124;390&#124;520&#124;650&#124;780&#124;1:&#124;I+use+it+at+work+%E2%80%94%C2%A038%25&#124;I+use+it+for+my+studies+%E2%80%94%C2%A013%25&#124;I+use+it+for+serious+%22hobby%22+projects+%E2%80%94%C2%A048%25&#124;I&#039;m+just+tinkering+%E2%80%94%C2%A043%25&#38;chxs=0,000000,12,0,lt,676767&#124;1,000000,12,1,lt,676767&#38;chxt=x,y&#38;chbh=24,6&#38;chs=525x150&#38;cht=bhs&#38;chco=59E754&#38;chds=0,780&#38;chd=t:585,651,171,510" medium="image">
			<media:title type="html">How would you characterize your use of Clojure *today*?</media:title>
		</media:content>

		<media:content url="http://chart.apis.google.com/chart?chxl=0:&#124;0&#124;185&#124;370&#124;555&#124;740&#124;925&#124;1:&#124;Other+%E2%80%94+6%25&#124;GIS+%E2%80%94+2%25&#124;Embedded+systems+%E2%80%94+1%25&#124;Mobile+app+development+(non-Web)+%E2%80%94+3%25&#124;Open+source+projects+%E2%80%94+34%25&#124;Building+and+delivering+commercial+_services_+%E2%80%94+14%25&#124;Building+commercial+_products_+%E2%80%94+12%25&#124;EAI+(all+that+%22enterprisey%22+stuff)+%E2%80%94+7%25&#124;Non-relational+data+store+programming+(%22NoSQL%22)+%E2%80%94+22%25&#124;RDBMS+programming+%E2%80%94+16%25&#124;%22Big+Data%22+(hadoop+%2F+cascading+%2F+cassandra+%2F+storm+%2F+etc)+%E2%80%94+20%25&#124;Thick+client+applications+(Swing+%2F+SWT+%2F+RCP+%2F+QT+%2F+JavaFX+%2F+etc)+%E2%80%94+7%25&#124;Systems+administration+%2F+devops+%E2%80%94+15%25&#124;Network+programming+%E2%80%94+18%25&#124;Web+development+%E2%80%94+70%25&#124;Graphics+%2F+Art+%E2%80%94+8%25&#124;Music+%E2%80%94+6%25&#124;Gaming+%E2%80%94+12%25&#124;Math+%2F+data+analysis+%E2%80%94+35%25&#38;chxr=1,-18.333,100&#38;chxs=0,000000,12,0,lt,676767&#124;1,000000,12,1,lt,676767&#38;chxt=x,y&#38;chbh=19,3&#38;chs=625x440&#38;cht=bhs&#38;chco=23D623&#124;00D000&#124;2CD82C&#124;09D209&#124;11D311&#124;1AD51A&#124;46DD46&#124;3DDB3D&#124;34DA34&#124;60E260&#124;4FDE4F&#124;57E057&#124;94EB94&#124;8CEA8C&#124;83E883&#124;69E369&#124;71E571&#124;7AE77A&#124;9DED9D&#38;chds=23.333,925&#38;chd=t:468,156,82,103,925,243,199,88,259,208,288,90,157,184,455,43,-1,24,78" medium="image">
			<media:title type="html">In which domain(s) are you using Clojure?</media:title>
		</media:content>

		<media:content url="http://chart.apis.google.com/chart?chxl=0:&#124;0&#124;191&#124;382&#124;573&#124;762&#124;957&#124;1:&#124;Never+heard+of+it+%E2%80%94%C2%A00%25&#124;No+plans+to+use+or+investigate+%E2%80%94%C2%A00%25&#124;Investigating+%2F+evaluating+%E2%80%94+16%25&#124;Applied+in+non-production+areas+%E2%80%94+31%25&#124;In+%22production%22+%E2%80%94%C2%A050%25&#38;chxr=1,0,98.333&#38;chxs=0,000000,12,0,lt,676767&#124;1,000000,12,1,lt,676767&#38;chxt=x,y&#38;chbh=24,6&#38;chs=565x180&#38;cht=bhs&#38;chco=8D5BD4&#38;chds=0,957&#38;chd=t:682,431,226,5,0&#38;chdl=Clojure" medium="image">
			<media:title type="html">To what degree are you using Clojure?</media:title>
		</media:content>

		<media:content url="http://chart.apis.google.com/chart?chxl=0:&#124;0&#124;191&#124;382&#124;573&#124;762&#124;957&#124;1:&#124;Never+heard+of+it+%E2%80%94%C2%A08%25&#124;No+plans+to+use+or+investigate+%E2%80%94%C2%A070%25&#124;Investigating+%2F+evaluating+%E2%80%94+10%25&#124;Applied+in+non-production+areas+%E2%80%94+1%25&#124;In+%22production%22+%E2%80%94%C2%A00%25&#38;chxr=1,0,93.333&#38;chxs=0,000000,12,0,lt,676767&#124;1,000000,12,1,lt,676767&#38;chxt=x,y&#38;chbh=24,6&#38;chs=565x180&#38;cht=bhs&#38;chco=008000&#38;chds=0,957&#38;chd=t:4,13,142,957,104&#38;chdl=Clojure.CLR" medium="image">
			<media:title type="html">To what degree are you using Clojure.CLR?</media:title>
		</media:content>

		<media:content url="http://chart.apis.google.com/chart?chxl=0:&#124;0&#124;191&#124;382&#124;573&#124;762&#124;957&#124;1:&#124;Never+heard+of+it+%E2%80%94%C2%A02%25&#124;No+plans+to+use+or+investigate+%E2%80%94%C2%A014%25&#124;Investigating+%2F+evaluating+%E2%80%94+59%25&#124;Applied+in+non-production+areas+%E2%80%94+11%25&#124;In+%22production%22+%E2%80%94%C2%A08%25&#38;chxr=1,0,93.333&#38;chxs=0,000000,12,0,lt,676767&#124;1,000000,12,1,lt,676767&#38;chxt=x,y&#38;chbh=24,6&#38;chs=565x180&#38;cht=bhs&#38;chco=3072F3&#38;chds=0,957&#38;chd=t:107,147,814,198,24&#38;chdl=ClojureScript" medium="image">
			<media:title type="html">To what degree are you using ClojureScript?</media:title>
		</media:content>

		<media:content url="http://chart.apis.google.com/chart?chxl=0:&#124;0&#124;191&#124;382&#124;573&#124;762&#124;957&#124;1:&#124;Never+heard+of+it+%E2%80%94%C2%A022%25&#124;No+plans+to+use+or+investigate+%E2%80%94%C2%A049%25&#124;Investigating+%2F+evaluating+%E2%80%94+16%25&#124;Applied+in+non-production+areas+%E2%80%94+1%25&#124;In+%22production%22+%E2%80%94%C2%A00%25&#38;chxr=1,0,93.333&#38;chxs=0,000000,12,0,lt,676767&#124;1,000000,12,1,lt,676767&#38;chxt=x,y&#38;chbh=24,6&#38;chs=565x180&#38;cht=bhs&#38;chco=990066&#38;chds=0,957&#38;chd=t:3,11,223,673,297&#38;chdl=clojure-py" medium="image">
			<media:title type="html">To what degree are you using clojure-py?</media:title>
		</media:content>

		<media:content url="http://chart.apis.google.com/chart?chxl=0:&#124;0&#124;191&#124;382&#124;573&#124;762&#124;957&#124;1:&#124;Never+heard+of+it+%E2%80%94%C2%A033%25&#124;No+plans+to+use+or+investigate+%E2%80%94%C2%A041%25&#124;Investigating+%2F+evaluating+%E2%80%94+14%25&#124;Applied+in+non-production+areas+%E2%80%94+1%25&#124;In+%22production%22+%E2%80%94%C2%A00%25&#38;chxr=1,0,93.333&#38;chxs=0,000000,12,0,lt,676767&#124;1,000000,12,1,lt,676767&#38;chxt=x,y&#38;chbh=24,6&#38;chs=565x180&#38;cht=bhs&#38;chco=FFCC33&#38;chds=0,957&#38;chd=t:2,1,186,567,448&#38;chdl=clojure-scheme" medium="image">
			<media:title type="html">To what degree are you using clojure-scheme?</media:title>
		</media:content>

		<media:content url="http://chart.apis.google.com/chart?chxl=0:&#124;0&#124;191&#124;382&#124;573&#124;762&#124;957&#124;1:&#124;Never+heard+of+it+%E2%80%94%C2%A029%25&#124;No+plans+to+use+or+investigate+%E2%80%94%C2%A034%25&#124;Investigating+%2F+evaluating+%E2%80%94+26%25&#124;Applied+in+non-production+areas+%E2%80%94+0%25&#124;In+%22production%22+%E2%80%94%C2%A00%25&#38;chxr=1,0,93.333&#38;chxs=0,000000,12,0,lt,676767&#124;1,000000,12,1,lt,676767&#38;chxt=x,y&#38;chbh=24,6&#38;chs=565x180&#38;cht=bhs&#38;chco=BBCCED&#38;chds=0,957&#38;chd=t:2,4,351,463,393&#38;chdl=clojurec" medium="image">
			<media:title type="html">To what degree are you using clojurec?</media:title>
		</media:content>

		<media:content url="http://chart.apis.google.com/chart?chxl=0:&#124;0&#124;134&#124;268&#124;402&#124;536&#124;670&#124;1:&#124;Other+%E2%80%94%C2%A03%25&#124;%24LATEST+%E2%80%94%C2%A023%25&#124;1.7+%E2%80%94+24%25&#124;1.6+%E2%80%94%C2%A049%25&#124;1.5+%E2%80%94+0%25&#38;chxr=1,0,98.333&#38;chxs=0,000000,12,0,lt,676767&#124;1,000000,12,1,lt,676767&#38;chxt=x,y&#38;chbh=24,6&#38;chs=565x180&#38;cht=bhs&#38;chco=8D5BD4&#38;chds=0,670&#38;chd=t:6,670,331,321,44" medium="image">
			<media:title type="html">Which JRE/JDK do you target?</media:title>
		</media:content>

		<media:content url="http://chart.apis.google.com/chart?chxl=0:&#124;0&#124;138&#124;276&#124;414&#124;552&#124;688&#124;1:&#124;Other+%E2%80%94%C2%A02%25&#124;node.js+%E2%80%94%C2%A019%25&#124;Browsers+%E2%80%94%C2%A095%25&#38;chxr=1,0,98.333&#38;chxs=0,000000,12,0,lt,676767&#124;1,000000,12,1,lt,676767&#38;chxt=x,y&#38;chbh=24,6&#38;chs=565x120&#38;cht=bhs&#38;chco=8D5BD4&#38;chds=0,688&#38;chd=t:688,134,18" medium="image">
			<media:title type="html">Which JRE/JDK do you target?</media:title>
		</media:content>

		<media:content url="https://chart.googleapis.com/chart?cht=bhs&#38;chs=345x120&#38;chbh=24%2C6&#38;chco=ff9900%7Cffaf37%7Cffc56f&#38;chxt=x%2Cy&#38;chxl=0%3A%7C0%7C193%7C386%7C579%7C772%7C965%7C1158%7C1%3A%7CSome%20do%7CNo%7CYes&#38;chxs=0%2C000000%2C12%2C0%2Clt%7C1%2C000000%2C12%2C1%2Clt&#38;chds=0%2C1158&#38;chd=t%3A966%2C8%2C261" medium="image" />

		<media:content url="https://chart.googleapis.com/chart?cht=bhs&#38;chs=345x120&#38;chbh=24%2C6&#38;chco=da3737%7Cd00000%7Ce46f6f&#38;chxt=x%2Cy&#38;chxl=0%3A%7C0%7C124%7C248%7C372%7C496%7C620%7C1%3A%7CSome%20are%7CNo%7CYes&#38;chxs=0%2C000000%2C12%2C0%2Clt%7C1%2C000000%2C12%2C1%2Clt&#38;chds=0%2C620&#38;chd=t%3A510%2C79%2C618" medium="image" />

		<media:content url="https://chart.googleapis.com/chart?cht=bhs&#38;chs=345x120&#38;chbh=24%2C6&#38;chco=dcca02%7Ce4d539%7Cebe170&#38;chxt=x%2Cy&#38;chxl=0%3A%7C0%7C100%7C200%7C300%7C400%7C500%7C600%7C1%3A%7CSome%20are%7CNo%7CYes&#38;chxs=0%2C000000%2C12%2C0%2Clt%7C1%2C000000%2C12%2C1%2Clt&#38;chds=0%2C600&#38;chd=t%3A493%2C224%2C501" medium="image" />

		<media:content url="https://chart.googleapis.com/chart?cht=bhs&#38;chs=345x120&#38;chbh=24%2C6&#38;chco=00d000%7C37da37%7C6fe46f&#38;chxt=x%2Cy&#38;chxl=0%3A%7C0%7C119%7C238%7C357%7C476%7C595%7C714%7C1%3A%7CSome%20are%7CNo%7CYes&#38;chxs=0%2C000000%2C12%2C0%2Clt%7C1%2C000000%2C12%2C1%2Clt&#38;chds=0%2C714&#38;chd=t%3A596%2C25%2C494" medium="image" />

		<media:content url="https://chart.googleapis.com/chart?cht=bhs&#38;chs=345x120&#38;chbh=24%2C6&#38;chco=ad38be%7C9601ac%7Cc46fd0&#38;chxt=x%2Cy&#38;chxl=0%3A%7C0%7C163%7C326%7C489%7C652%7C815%7C978%7C1%3A%7CSome%20are%7CNo%7CYes&#38;chxs=0%2C000000%2C12%2C0%2Clt%7C1%2C000000%2C12%2C1%2Clt&#38;chds=0%2C978&#38;chd=t%3A191%2C192%2C817" medium="image" />

		<media:content url="http://chart.apis.google.com/chart?chxl=0:&#124;0&#124;222&#124;444&#124;666&#124;888&#124;1110&#124;1:&#124;Other+%E2%80%94+4%25&#124;Extensible+reader+%2F+tagged+reader+literals+%E2%80%94+2%25&#124;Immutability+%E2%80%94+58%25&#124;Pleasant+%2F+helpful+community+%E2%80%94+36%25&#124;Ease+of+development+%E2%80%94+47%25&#124;Runtime+performance+%E2%80%94+11%25&#124;Functional+programming+%E2%80%94+83%25&#124;Multimethods+%E2%80%94+13%25&#124;The+REPL+%E2%80%94+64%25&#124;Protocols%2C+records%2C+types+%E2%80%94+15%25&#124;Metadata+%E2%80%94+8%25&#124;Platform+(JVM)+compatibility+%2F+interop+%E2%80%94+60%25&#124;Macros+and+homoiconicity+%E2%80%94+41%25&#124;Concurrency+facilities+%E2%80%94+37%25&#38;chxs=0,000000,12,0,lt,676767&#124;1,000000,12,1,lt,676767&#38;chxt=x,y&#38;chbh=24,6&#38;chs=565x450&#38;cht=bhs&#38;chco=1818E3&#124;9A9AF3&#124;0C0CE1&#124;0000E0&#124;3B3BE7&#124;2424E4&#124;8E8EF1&#124;2F2FE6&#124;6B6BED&#124;5F5FEC&#124;5353EA&#124;7676EE&#124;8282F0&#124;4747E9&#38;chds=0,1110&#38;chd=t:495,544,807,105,197,849,171,1109,142,629,485,773,24,50" medium="image" />

		<media:content url="http://chart.apis.google.com/chart?chxl=0:&#124;0&#124;138&#124;276&#124;414&#124;552&#124;690&#124;828&#124;1:&#124;Other+%E2%80%94+10%25&#124;Clooj+%E2%80%94+3%25&#124;Command-line+REPL+%E2%80%94+26%25&#124;Vim+%2B+vimclojure+%E2%80%94+23%25&#124;Textmate+%2B+textmate-clojure+%E2%80%94+3%25&#124;NetBeans+%2B+Enclojure+%E2%80%94+1%25&#124;IntelliJ+%2B+La+Clojure+%E2%80%94+11%25&#124;Emacs+%2B+SLIME+%E2%80%94+52%25&#124;Emacs+%2B+inferior-lisp+%E2%80%94+6%25&#124;Eclipse+%2B+Counterclockwise+%E2%80%94+18%25&#38;chxs=0,000000,12,0,lt,676767&#124;1,000000,12,1,lt,676767&#38;chxt=x,y&#38;chbh=24,6&#38;chs=545x330&#38;cht=bhs&#38;chco=FFAD32&#124;FFA011&#124;FFBA53&#124;FFB442&#124;FF9900&#124;FFA621&#124;FFD595&#124;FFC163&#124;FFC774&#124;FFCE85&#38;chds=0,828&#38;chd=t:238,86,692,147,9,34,312,343,42,132" medium="image" />

		<media:content url="https://chart.googleapis.com/chart?cht=bhs&#38;chs=545x240&#38;chbh=24%2C6&#38;chco=ea8e8e&#124;d41818&#124;d00000&#124;d92f2f&#124;dd4747&#124;e67676&#124;e15f5f&#38;chxt=x%2Cy&#38;chxl=0%3A&#124;0&#124;251&#124;502&#124;753&#124;1004&#124;1255&#124;1%3A&#124;Other+%E2%80%94+1%25&#124;Shell+scripts+%E2%80%94+8%25&#124;make+%E2%80%94+4%25&#124;Gradle+%E2%80%94+2%25&#124;Ant+%E2%80%94+5%25&#124;Maven+%28%60mvn%60%29+%E2%80%94+13%25&#124;Leiningen+%E2%80%94+95%25&#38;chxs=0%2C000000%2C12%2C0%2Clt&#124;1%2C000000%2C12%2C1%2Clt&#38;chds=0%2C1255&#38;chd=t%3A1255%2C178%2C69%2C25%2C50%2C101%2C16" medium="image" />

		<media:content url="http://chart.apis.google.com/chart?chxl=0:&#124;0&#124;172&#124;344&#124;516&#124;688&#124;860&#124;1:&#124;Other+%E2%80%94+3%25&#124;I+am+unsure+of+my+ability+to+contribute.+%E2%80%94+23%25&#124;I&#039;ve+avoided+participating+b%2Fc+of+the+contributor+agreement.+%E2%80%94+4%25&#124;I&#039;ve+avoided+participating+b%2Fc+of+the+vetting+process.+%E2%80%94+3%25&#124;I&#039;ve+submitted+patches+that+have+been+accepted.+%E2%80%94+6%25&#124;I&#039;ve+submitted+patches.+%E2%80%94+6%25&#124;I&#039;ve+reported+issues+through+the+official+issue+tracker.+%E2%80%94+11%25&#124;I+haven&#039;t+needed+to.+%E2%80%94+66%25&#38;chxs=0,000000,12,0,lt,676767&#124;1,000000,12,1,lt,676767&#38;chxt=x,y&#38;chbh=24,6&#38;chs=565x270&#38;cht=bhs&#38;chco=EDE47D&#124;E2D32B&#124;F0E892&#124;DCCA02&#124;DFCE17&#124;E5D740&#124;E7DB54&#124;EAE069&#38;chds=0,860&#38;chd=t:859,148,79,76,37,56,295,40" medium="image" />

		<media:content url="http://chart.apis.google.com/chart?chxl=0:&#124;0&#124;71&#124;142&#124;213&#124;284&#124;355&#124;1:&#124;Other+%E2%80%94+21%25&#124;Runtime+performance+%E2%80%94+12%25&#124;Unpleasant+community+interactions+%2F+atmosphere+%E2%80%94+2%25&#124;Library+incompatibility+w%2F+different+versions+of+Clojure+%E2%80%94+13%25&#124;Frequency+%2F+predictability+of+official+releases+%E2%80%94+2%25&#124;Difficulty+using+Clojure+for+scripting+(command+line)+%E2%80%94+25%25&#124;Lack+of+comprehensive+%2F+approachable+editors+%2F+IDEs+%E2%80%94+19%25&#124;Concerns+over+long-term+language+viability+%E2%80%94+19%25&#124;Future+staffing+concerns+%E2%80%94+23%25&#124;Difficulty+deploying+completed+applications+%E2%80%94+8%25&#124;Difficulty+finding+%2F+evaluating+relevant+libraries+%E2%80%94+18%25&#124;Lack+of+integration+w%2F+non-Clojure+tools%2Fsystems+%E2%80%94+3%25&#124;Clojure&#039;s+%22install%22+process+%E2%80%94+15%25&#124;Lack+of+comprehensive+%2F+approachable+documentation+%E2%80%94+30%25&#38;chxs=0,000000,12,0,lt,676767&#124;1,000000,12,1,lt,676767&#38;chxt=x,y&#38;chbh=24,6&#38;chs=600x450&#38;cht=bhs&#38;chco=9AEC9A&#124;8EEA8E&#124;18D418&#124;3BDB3B&#124;2FD92F&#124;24D724&#124;00D000&#124;0CD20C&#124;5FE15F&#124;53DF53&#124;47DD47&#124;82E882&#124;6BE46B&#124;76E676&#38;chds=0,355&#38;chd=t:353,182,38,212,97,276,228,218,294,27,155,18,143,246" medium="image" />

		<media:content url="http://chasemerick.files.wordpress.com/2012/08/mittens.jpg" medium="image">
			<media:title type="html">Mittens!</media:title>
		</media:content>
	</item>
		<item>
		<title>2012 State of Clojure survey</title>
		<link>http://cemerick.com/2012/07/19/2012-state-of-clojure-survey/</link>
		<comments>http://cemerick.com/2012/07/19/2012-state-of-clojure-survey/#comments</comments>
		<pubDate>Thu, 19 Jul 2012 12:48:48 +0000</pubDate>
		<dc:creator>Chas Emerick</dc:creator>
				<category><![CDATA[Clojure]]></category>

		<guid isPermaLink="false">http://cemerick.com/?p=855</guid>
		<description><![CDATA[I&#8217;ve run &#8220;State of Clojure&#8221; surveys for each of the last two years (see results from 2010 and 2011), and the time has come for the 2012 edition. The survey itself is embedded below.  It will remain open for input &#8230; <a href="http://cemerick.com/2012/07/19/2012-state-of-clojure-survey/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=855&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve run &#8220;State of Clojure&#8221; surveys for each of the last two years (see results from <a title="Results from the State of Clojure, Summer 2010 Survey" href="http://cemerick.com/2010/06/07/results-from-the-state-of-clojure-summer-2010-survey/">2010</a> and <a title="Results of the 2011 State of Clojure survey" href="http://cemerick.com/2011/07/11/results-of-the-2011-state-of-clojure-survey/">2011</a>), and the time has come for the 2012 edition.</p>
<p>The survey itself is embedded below.  It will remain open for input for approximately a week, until ~Thursday, July 26<sup>th</sup>.</p>
<p>A lot has happened over the past year: the first two non-Conj Clojure conferences (<a href="http://clojurewest.org/">Clojure/West</a> and <a href="http://euroclojure.org">EuroClojure</a>) went off to great popular acclaim, <a href="http://groups.google.com/group/clojure/browse_thread/thread/1f87f69db07a8162">Clojure 1.4.0 was released</a>, <a href="http://clojurebook.com">more Clojure books</a> have been published, and more and more people continue to be drawn into the language&#8217;s orbit.  The <em>apparent</em> vector of progress and activity seems to be approximately the same as it was when I wrote up the first State of Clojure survey:</p>
<blockquote><p>The Clojure community is larger than it ever has been, and shows no sign of slackening its growth.  It seems like now would be a good time to take stock of where the community is, how people came to use Clojure, and how it’s being used in the world.</p>
<p>Hopefully enough responses will come through that we’ll be able to get a good picture of the current state of affairs, and maybe a little insight into where Clojure can and should make headway in the future.</p></blockquote>
<p>As before, I will post again sometime shortly after the survey closes with all of the captured data, some pretty charts, and whatever attempts at witty, (un?)biased commentary I can come up with.  ;-) It would be great to see some follow-on analyses using the raw data: e.g., people doing game development are really unhappy with the state of libraries in their chosen domain; or, maybe people doing mobile development are starting to seriously look at some particular Clojure implementation. Who knows what interesting tidbits might rise to the surface if someone really dug into the data…</p>
<p>Finally, please do what you can to spread around this survey to those that you know of that are working with Clojure — really, in any capacity.  You&#8217;ll find various social media chicklets at the bottom of this post if you want the lazy way out.</p>
<p><strong>The survey is now closed.  I&#8217;ll be posting the results and my pithy analysis sometime next week…</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chasemerick.wordpress.com/855/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chasemerick.wordpress.com/855/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=855&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cemerick.com/2012/07/19/2012-state-of-clojure-survey/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/b8ee952abb6620c1c93b3acb46cd391c?s=96&#38;d=identicon&#38;r=R" medium="image">
			<media:title type="html">cemerick</media:title>
		</media:content>
	</item>
		<item>
		<title>What sucks about Clojure…and why you&#8217;ll love it anyway</title>
		<link>http://cemerick.com/2012/06/19/what-sucks-about-clojureand-why-youll-love-it-anyway/</link>
		<comments>http://cemerick.com/2012/06/19/what-sucks-about-clojureand-why-youll-love-it-anyway/#comments</comments>
		<pubDate>Tue, 19 Jun 2012 19:42:58 +0000</pubDate>
		<dc:creator>Chas Emerick</dc:creator>
				<category><![CDATA[Clojure]]></category>

		<guid isPermaLink="false">http://cemerick.com/?p=848</guid>
		<description><![CDATA[I gave a talk with this title at the wonderful Clojure/West conference back in March.  The video and slides for it are now available on InfoQ here. You can go watch the talk itself, so I won&#8217;t repeat its preface.  &#8230; <a href="http://cemerick.com/2012/06/19/what-sucks-about-clojureand-why-youll-love-it-anyway/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=848&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I gave a talk with this title at the wonderful <a href="http://clojurewest.org/">Clojure/West conference</a> back in March.  The video and slides for it are now available on <a href="http://www.infoq.com/presentations/What-Sucks-about-Clojure-and-Why-You-ll-Love-It-Anyway">InfoQ here</a>.</p>
<p>You can go watch the talk itself, so I won&#8217;t repeat its preface.  I&#8217;ll just say that, having seen the talk for the first time myself, I&#8217;m very happy with its content and delivery.  I&#8217;m hoping that others — especially those new to Clojure or looking at Clojure for the first time — will find the talk helpful in directing their attention to the tricksier bits of the language.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chasemerick.wordpress.com/848/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chasemerick.wordpress.com/848/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=848&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cemerick.com/2012/06/19/what-sucks-about-clojureand-why-youll-love-it-anyway/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/b8ee952abb6620c1c93b3acb46cd391c?s=96&#38;d=identicon&#38;r=R" medium="image">
			<media:title type="html">cemerick</media:title>
		</media:content>
	</item>
		<item>
		<title>Starting Clojure (mk. 2)</title>
		<link>http://cemerick.com/2012/05/02/starting-clojure/</link>
		<comments>http://cemerick.com/2012/05/02/starting-clojure/#comments</comments>
		<pubDate>Wed, 02 May 2012 20:04:01 +0000</pubDate>
		<dc:creator>Chas Emerick</dc:creator>
				<category><![CDATA[Clojure]]></category>
		<category><![CDATA[Clojure Programming (book)]]></category>

		<guid isPermaLink="false">http://cemerick.com/?p=827</guid>
		<description><![CDATA[I&#8217;ve wanted to put together a long-form introductory Clojure screencast for some time.  I had an opportunity to do this in grand style yesterday in a live O&#8217;Reilly webcast, but, for various reasons, I wasn&#8217;t fond of how that came &#8230; <a href="http://cemerick.com/2012/05/02/starting-clojure/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=827&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve wanted to put together a long-form introductory Clojure screencast for some time.  I had an opportunity to do this in grand style yesterday in a live O&#8217;Reilly webcast, but, for various reasons, <a href="#disaster">I wasn&#8217;t fond of how that came together</a>.  So, I cut another live coding screencast that introduces, in various levels of detail:</p>
<ul>
<li><a href="http://clojure.org">Clojure</a></li>
<li><a href="http://code.google.com/p/counterclockwise/">Counterclockwise (the Eclipse Clojure plugin)</a></li>
<li><a href="http://leiningen.org">Leiningen</a> (the Clojure build and project management tool), along with the new (still-in-beta but very reliable) <a href="http://groups.google.com/group/clojuredev-users/browse_frm/thread/e4e3bdb398fadc10">Leiningen Eclipse plugin</a></li>
<li>The basic mechanics of the Clojure REPL (contrasted with typical interpreters or consoles)</li>
<li>A popular Clojure web stack, including:
<ul>
<li><a href="http://github.com/mmcgrana/ring">Ring</a> — the foundational web library</li>
<li><a href="https://github.com/weavejester/compojure">Compojure</a> for routing and various helpers</li>
<li><a href="https://github.com/cgrand/enlive">Enlive</a> for templating</li>
</ul>
</li>
</ul>
<p>A complete (though not pretty!) URL shortener webapp is built from scratch, with discussions of immutable data structures, function composition, and mild concurrency topics scattered throughout.  It&#8217;s a fair bit more than I was planning on covering in the O&#8217;Reilly webcast, but I think the additional material blended in well.</p>
<p><a name="mk2"></a>Without further ado, <em>Starting Clojure, mk. 2</em>:</p>
<p><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='390' src='http://www.youtube.com/embed/VVd4ow-ZcX0?version=3&#038;rel=0&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;hd=1&#038;wmode=transparent' frameborder='0'></iframe></span></p>
<p>(You may want to watch full screen in HD to see various details)</p>
<p>Once you&#8217;re done with the screencast, you may want to continue your Clojure explorations with the help of <em><a href="http://www.clojurebook.com/">Clojure Programming</a></em>, and maybe <a href="http://www.clojureatlas.com/">Clojure Atlas</a> (which, conveniently enough, <a href="http://www.clojureatlas.com/book-discount">is available at a hefty discount with your copy of  <em>Clojure Programming</em></a>).</p>
<h3 style="margin-top:10em;"><a name="disaster"></a>Backstory on the O&#8217;Reilly Starting Clojure webcast</h3>
<p>Ever had a bad day? Sure, of course. Ever had a really bad day prior to presenting a live-coding webcast to what turned out to be ~700 internet attendees?  Yeah, that was me yesterday. If you&#8217;re brave (or want to wince, laugh, and then cry at my performance), you will likely be able to see the video of it eventually. But seriously, don&#8217;t bother.</p>
<p>I probably should have postponed the whole thing, but that seemed unreasonable at the time — the fact that it had been planned for a couple of weeks, had a bunch of registered attendees, and my own stubbornness urged me on to commit programmer seppuku.  I was existentially distracted the whole time, and the more I tried to hold it together, the worse things got.  (Of course, that&#8217;s not an excuse, but an explanation.)  Honestly, after finishing the webcast, I was absolutely horrified; I had a great opportunity to represent Clojure well to a large body of programmers new to the language, and I utterly failed.  I felt like I had done a disservice to O&#8217;Reilly and, most of all, my coauthors.</p>
<p>Fight or flight kicked in, and for 5 minutes, I harbored thoughts of giving up doing screencasts and public speaking permanently, to save everyone involved. Thankfully, I relaxed, had a couple glasses of wine, and woke up early this next morning with a clear head to record a live-coding screencast, in proper single-take style, which you see above.  It is epically better than the O&#8217;Reilly webcast, covers the material better than I planned, and was marred only by a couple of minor hiccups that were more funny than sad.</p>
<p>That is to say, <a href="#mk2"><em>mk. 2</em></a> is entirely in keeping with my usual baseline, and I&#8217;m happy to have it out there.  In the end, I hope more people see it than the first webcast I did.  In any case, I&#8217;m glad to have gotten back on the horse and hopefully redeemed myself by some measure.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chasemerick.wordpress.com/827/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chasemerick.wordpress.com/827/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=827&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cemerick.com/2012/05/02/starting-clojure/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/b8ee952abb6620c1c93b3acb46cd391c?s=96&#38;d=identicon&#38;r=R" medium="image">
			<media:title type="html">cemerick</media:title>
		</media:content>
	</item>
		<item>
		<title>A refresh of Clojure Atlas</title>
		<link>http://cemerick.com/2012/04/26/a-refresh-of-clojure-atlas/</link>
		<comments>http://cemerick.com/2012/04/26/a-refresh-of-clojure-atlas/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 18:21:29 +0000</pubDate>
		<dc:creator>Chas Emerick</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Clojure]]></category>
		<category><![CDATA[Clojure Atlas]]></category>

		<guid isPermaLink="false">http://cemerick.com/?p=819</guid>
		<description><![CDATA[I&#8217;m sorry to admit that I let the Clojure Atlas wilt a bit over the past year or so. (I was a little busy!)  However, I am conversely quite happy to say that that&#8217;s over now; Clojure Atlas has been &#8230; <a href="http://cemerick.com/2012/04/26/a-refresh-of-clojure-atlas/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=819&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.clojureatlas.com"><img class="alignright" title="Clojure Atlas" src="http://www.clojureatlas.com/marketing/logo-small.png" alt="" width="204" height="137" /></a>I&#8217;m sorry to admit that I let the <a href="http://clojureatlas.com">Clojure Atlas</a> wilt a bit over the past year or so. (<a href="http://clojurebook.com">I was a little busy!</a>)  However, I am conversely quite happy to say that that&#8217;s over now; Clojure Atlas has been refreshed to add editions for Clojure v1.3.0 and v1.4.0.</p>
<p>(If you don&#8217;t know what Clojure Atlas is, <a href="http://www.clojureatlas.com/">head on over</a> and check out the snazzy new demo/tour video.)</p>
<p>Other highlights include:</p>
<h2>Pricing changes</h2>
<p>I think the previous pricing was too high.  (You never know until you try.)  Pricing has been lowered, and I&#8217;ve added a fun option whereby you can <a href="http://www.clojureatlas.com/book-discount">get any edition of Clojure Atlas for just $5</a>.  I don&#8217;t quite know what I&#8217;ll end up doing for upgrades going forward, but you will definitely be able to stay current without paying the full boat each time.</p>
<h2>Free upgrades</h2>
<p>Between the too-high pricing and the far-too-long period between the initial release of Clojure Atlas and now, those that prepaid for access to the Clojure v1.3.0 Atlas how have access to all of them, up to and including v1.4.0.  Those early significant supporters will also get free upgrades to all future Clojure Atlas revisions.  Thanks, guys and gals.</p>
<p>If you only purchased the Atlas for Clojure v1.2.0 previously, your account has been upgraded to include the Atlas for v1.3.0.</p>
<h2>Ontology improvements</h2>
<p>Aside from the obvious additions that needed to go in to reflect changes in Clojure v1.3.0 and v1.4.0, the ontology has been improved significantly to be more comprehensive and more accurate.  In addition, I&#8217;ve started adding detailed documentation (<a href="http://www.clojureatlas.com/org.clojure:clojure:1.4.0?guest=t#specials/field-access">for example</a>) to subjects/nodes within the ontology that <em>I&#8217;ve</em> added (in contrast to vars, which in general already have documentation of their own).</p>
<h2>Visualization improvements</h2>
<p>The graph visualization is certainly far from perfect, but I&#8217;ve tweaked it a fair bit to get it to &#8220;settle&#8221; faster than it did before.  I&#8217;m also pondering a complete reworking of the visualization to make it deterministic (rather than using a particle simulation as it does now).</p>
<h2>No more PayPal</h2>
<p>Many people balked at using PayPal — and believe me, no one is happier than I to be rid of it at this point.  Payments are now all handled courtesy of <a href="https://www.stripe.com">Stripe</a>, which has been a dream to work with.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chasemerick.wordpress.com/819/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chasemerick.wordpress.com/819/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=819&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cemerick.com/2012/04/26/a-refresh-of-clojure-atlas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/b8ee952abb6620c1c93b3acb46cd391c?s=96&#38;d=identicon&#38;r=R" medium="image">
			<media:title type="html">cemerick</media:title>
		</media:content>

		<media:content url="http://www.clojureatlas.com/marketing/logo-small.png" medium="image">
			<media:title type="html">Clojure Atlas</media:title>
		</media:content>
	</item>
		<item>
		<title>Friend: an extensible authentication and authorization library for Clojure Ring webapps and services</title>
		<link>http://cemerick.com/2012/04/11/friend-an-extensible-authentication-and-authorization-library-for-clojure-ring-webapps-and-services/</link>
		<comments>http://cemerick.com/2012/04/11/friend-an-extensible-authentication-and-authorization-library-for-clojure-ring-webapps-and-services/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 14:28:30 +0000</pubDate>
		<dc:creator>Chas Emerick</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Clojure]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://cemerick.com/?p=812</guid>
		<description><![CDATA[Say hello to my little Friend. There&#8217;s plenty of technical stuff in the README to chew on if you like.  In short, I&#8217;m hoping this can eventually be a warden/spring-security/everyauth /omniauth for Clojure; that is, a common abstraction for authentication &#8230; <a href="http://cemerick.com/2012/04/11/friend-an-extensible-authentication-and-authorization-library-for-clojure-ring-webapps-and-services/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=812&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><em>Say hello to my little <a href="https://github.com/cemerick/friend">Friend</a>.</em></p>
<p>There&#8217;s plenty of technical stuff in the README to chew on if you like.  In short, I&#8217;m hoping this can eventually be a <a href="https://github.com/hassox/warden/wiki">warden</a>/<a href="http://static.springsource.org/spring-security/">spring-security</a>/<a href="https://github.com/bnoguchi/everyauth">everyauth</a> /<a href="https://github.com/intridea/omniauth">omniauth</a> for Clojure; that is, a common abstraction for authentication and authorization mechanisms.  Clojure has been around long enough that adding pedestrian things like form and HTTP Basic and <code>$AUTH_METHOD_HERE</code> to a Ring application should be easy.  Right now, it&#8217;s not: either you&#8217;re pasting together a bunch of different libraries that don&#8217;t necessarily compose well together, or you get drawn into shaving the authentication and authorization yaks for the fifth time in your life so you can sleep well at night.</p>
<p>Hopefully Friend will make this a solved problem, or at least push things in that direction.  It plays nice with all of the best principles of Ring, and includes support for:</p>
<ul>
<li>form, HTTP Basic, and OpenID authentication</li>
<li>role-based authorization (optionally using hierarchical roles via Clojure&#8217;s <code>derive</code> and <code>isa?</code>)</li>
<li><code>su</code> capabilities (multiple login support / a.k.a. &#8220;log in as&#8221;)</li>
<li>channel security (i.e. HTTPS-only for certain Ring routes)</li>
<li>…and more</li>
</ul>
<p>Most importantly, it takes a stab at a couple of core abstractions for others to drop in other authentication workflows, e.g. OAuth in all of its incarnations, NTLM, BrowserID, etc. etc. etc.  There are already plenty of Clojure implementations for all sorts of authentication methods; hopefully someone (you?!) will step up and bring one of them to the party, so anyone&#8217;s Friend-empowered Clojure webapp can easily offer any or all of them with a minimum of suffering.</p>
<p>Finally: frankly, it&#8217;s absurd that I&#8217;m writing security-related stuffs.  (I know it hardly ever works out that way, but it seems like some <em>experts</em> somewhere should be taking care of this.)  It would be a great thing if you were to beat on <a href="https://github.com/cemerick/friend">Friend</a> and try to find exploits, general breakage, etc., especially if you have prior experience in this area.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chasemerick.wordpress.com/812/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chasemerick.wordpress.com/812/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=812&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cemerick.com/2012/04/11/friend-an-extensible-authentication-and-authorization-library-for-clojure-ring-webapps-and-services/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/b8ee952abb6620c1c93b3acb46cd391c?s=96&#38;d=identicon&#38;r=R" medium="image">
			<media:title type="html">cemerick</media:title>
		</media:content>
	</item>
		<item>
		<title>&#8216;Clojure Programming&#8217; book finished</title>
		<link>http://cemerick.com/2012/02/27/clojure-programming-book-finished/</link>
		<comments>http://cemerick.com/2012/02/27/clojure-programming-book-finished/#comments</comments>
		<pubDate>Mon, 27 Feb 2012 17:43:47 +0000</pubDate>
		<dc:creator>Chas Emerick</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Clojure]]></category>
		<category><![CDATA[Clojure Programming (book)]]></category>

		<guid isPermaLink="false">http://cemerick.com/?p=799</guid>
		<description><![CDATA[Yes — it&#8217;s finished! :-D Early last month, after writing 190,000 words, editing away scads more, assembling and testing more than 1,000 code snippets and 20 full sample projects, and conceptualizing dozens of illustrations, Christophe, Brian, and I declared Clojure &#8230; <a href="http://cemerick.com/2012/02/27/clojure-programming-book-finished/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=799&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Yes — it&#8217;s finished! :-D<img class="size-full wp-image-801 alignright" title="achievement" src="http://chasemerick.files.wordpress.com/2012/02/achievement.png?w=640" alt=""   /></p>
<p>Early last month, after writing 190,000 words, editing away scads more, assembling and testing more than 1,000 code snippets and 20 full sample projects, and conceptualizing dozens of illustrations, <a href="http://clj-me.cgrand.net/">Christophe</a>, <a href="http://briancarper.net/">Brian</a>, and I declared <em><a href="http://www.clojurebook.com/">Clojure Programming</a></em> <strong>done</strong>.  It&#8217;s been writhing its way through O&#8217;Reilly&#8217;s editorial process ever since.</p>
<p>I&#8217;d hoped that the book would be published before <a href="http://clojurewest.org/">Clojure/West</a> in mid-March, but alas, it was not to be.  It looks like it&#8217;ll drop in mid-April.</p>
<p>However, fret not! If you want to dig into <em>Clojure Programming</em> right away, you can read the final draft of it online.  Of course, you can preorder the dead-tree version of it as well; easy links to both options are available at <a href="http://www.clojurebook.com/">clojurebook.com</a>.  There, you&#8217;ll also find a full table of contents, some basic info on the book, and a way to join the <a href="http://clojurebook.com">clojurebook.com </a>mailing list and a pointer to the <a href="http://twitter.com/ClojureBook">book&#8217;s Twitter account</a>.  We&#8217;ll be pushing various Clojure tips and links to useful tools and resources and announcing the availability of all sorts of book-related content on the site through the mailing list and Twitter feed; and, if things work out as I hope, some early access to and/or special offers for things that will help you get the most out of your Clojure experience in general.</p>
<p>So, thanks for your patience.  I think the book will end up being worth it.  Of course, I have to thank my coauthors; without Brian and Christophe, it simply would never have been finished, nor would it be as good as it is.  There&#8217;s a ton of other people that deserve credit too, but you&#8217;ll have to buy the book and read the acknowledgements to learn about them…</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chasemerick.wordpress.com/799/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chasemerick.wordpress.com/799/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=799&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cemerick.com/2012/02/27/clojure-programming-book-finished/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/b8ee952abb6620c1c93b3acb46cd391c?s=96&#38;d=identicon&#38;r=R" medium="image">
			<media:title type="html">cemerick</media:title>
		</media:content>

		<media:content url="http://chasemerick.files.wordpress.com/2012/02/achievement.png" medium="image">
			<media:title type="html">achievement</media:title>
		</media:content>
	</item>
		<item>
		<title>Introducing: Mostly λazy (a Clojure podcast)</title>
		<link>http://cemerick.com/2011/11/08/introducing-mostly-%ce%bbazy-a-clojure-podcast/</link>
		<comments>http://cemerick.com/2011/11/08/introducing-mostly-%ce%bbazy-a-clojure-podcast/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 15:23:33 +0000</pubDate>
		<dc:creator>Chas Emerick</dc:creator>
				<category><![CDATA[Clojure]]></category>

		<guid isPermaLink="false">http://cemerick.com/?p=775</guid>
		<description><![CDATA[As some of you may know already, I&#8217;ve started a Clojure podcast called Mostly λazy.  The first episode is in the can and has been published.  There are RSS feeds for your readers and podcatchers there for the taking, and &#8230; <a href="http://cemerick.com/2011/11/08/introducing-mostly-%ce%bbazy-a-clojure-podcast/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=775&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>As some of you may know already, I&#8217;ve started a Clojure podcast called <a href="http://mostlylazy.com">Mostly λazy</a>.  <a href="http://mostlylazy.com/2011/11/08/episode-0-0-1-sean-corfield-clojure-contrib-and-real-world-clojure/">The first episode</a> is in the can and has been published.  There are RSS feeds for your readers and podcatchers there for the taking, and I&#8217;ll be working on getting the feed into iTunes shortly.</p>
<p>The <a href="http://mostlylazy.com/2011/11/03/coming-soon/">initial announcement post</a> for Mostly λazy drew a lot of <em>really</em> good ideas and suggestions, many of which I&#8217;ll be stealing. :-D I&#8217;m really glad that a lot of people find the concept of a Clojure podcast appealing; whilst I&#8217;m fundamentally doing this to enjoy myself, it&#8217;s nice to know that there will be at least a dozen or so people listening… ;-)</p>
<p>I&#8217;ll be at Clojure Conj 2011 this week, and will likely capture a bunch of conversations with people there.  That should provide me with a decent backlog of material that I can trickle out through the rest of the year, perhaps mixed in with some shorter segments based on the aforementioned suggestions.  In any case, I hope anyone who does listen finds the experience entertaining and engaging.</p>
<p>By the way, this is likely the first and last post I&#8217;ll make here about <a href="http://mostlylazy.com">Mostly λazy</a>. It has its own site/blog, so you should go subscribe there if you want to see more Clojure podcast news in the future.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chasemerick.wordpress.com/775/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chasemerick.wordpress.com/775/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=775&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cemerick.com/2011/11/08/introducing-mostly-%ce%bbazy-a-clojure-podcast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/b8ee952abb6620c1c93b3acb46cd391c?s=96&#38;d=identicon&#38;r=R" medium="image">
			<media:title type="html">cemerick</media:title>
		</media:content>
	</item>
		<item>
		<title>Ambrose has received his Clojure &#8220;scholarship&#8221;, thanks to you.</title>
		<link>http://cemerick.com/2011/11/08/ambrose-has-received-his-clojure-scholarship-thanks-to-you/</link>
		<comments>http://cemerick.com/2011/11/08/ambrose-has-received-his-clojure-scholarship-thanks-to-you/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 06:40:02 +0000</pubDate>
		<dc:creator>Chas Emerick</dc:creator>
				<category><![CDATA[Clojure]]></category>

		<guid isPermaLink="false">http://cemerick.com/?p=766</guid>
		<description><![CDATA[The eve of Clojure Conj 2011 is upon us, so I feel compelled get off my butt and finally close the loop on this one. Per usual, you, the Clojure community, have come through.  Ambrose Bonnaire-Sergeant will be attending the &#8230; <a href="http://cemerick.com/2011/11/08/ambrose-has-received-his-clojure-scholarship-thanks-to-you/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=766&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The eve of <a href="http://clojure-conj.org">Clojure Conj 2011</a> is upon us, so I feel compelled get off my butt and finally close the loop on this one.</p>
<p><a href="http://cemerick.com/2010/09/10/anthony-simpson-will-receive-his-clojure-scholarship-thanks-to-you/">Per usual</a>, you, the Clojure community, have come through.  <a href="https://twitter.com/#%21/ambrosebs">Ambrose Bonnaire-Sergeant</a> will be attending the Conj and giving <a href="http://clojure-conj.org/schedule#bonnaire-sergeant">an introductory talk on logic programming</a>, only made possible after $3,000 was raised through donations <a href="http://cemerick.com/2011/09/20/2011-clojure-scholarship-help-send-ambrose-to-the-conj/">solicited via this blog</a> and various pestering on Twitter, IRC, and the Clojure mailing list.</p>
<p>(As was mentioned from the start, the Conj organizers do provide a travel stipend, even a generous one for international speakers, but the costs of getting to North Carolina from Western Australia are far beyond that budget.  Thus the need for a fundraiser.)</p>
<p>Finally, I will soon be notifying the winners of the free copies of <a href="http://clojurebook.com">Clojure Programming</a> from O&#8217;Reilly (signed by myself and hopefully my coauthors as well, <a href="http://briancarper.net/">Brian Carper</a> and <a href="http://clj-me.cgrand.net/">Christophe Grand</a>) privately by email.  Your extraordinary generosity is a big part of how this effort was able to succeed.</p>
<h2>Thank you!</h2>
<p>To those that donated, thank you very, very much.  Your assistance is not taken for granted:</p>
<ul>
<li>Anonymous x 3</li>
<li>Sam Aaron</li>
<li>Harold Ancell</li>
<li>Craig Andera</li>
<li>Justin Balthrop</li>
<li>Carlos Barboza</li>
<li>James Christopher Bare</li>
<li>Meikel Brandmeyer</li>
<li>David Cabana</li>
<li>Brian Cooley</li>
<li>Aaron Crow</li>
<li>Paul deGrandis</li>
<li>Manuel Angel Rivas Diaz</li>
<li>Alan Dipert</li>
<li>Cameron Dorrat</li>
<li>Kevin Downey</li>
<li>Jim Duey</li>
<li>Holger Durer</li>
<li>Antoni Batchelli Estrada</li>
<li>John Fingerhut</li>
<li>Louis Franco</li>
<li>Joseph Gallo</li>
<li>Baishampayan Ghose</li>
<li>Stephen Gilardi</li>
<li>Juan Manuel Gimeno</li>
<li>Christophe Grand</li>
<li>Anthony Grimes</li>
<li>Philip Hagelberg</li>
<li>Mark Henderson</li>
<li>Richard Hickey</li>
<li>William Hidden</li>
<li>Daniel Jomphe</li>
<li>Geoffrey Knauth</li>
<li>Vinod Kurup</li>
<li>David Liebke</li>
<li>Kent Mabee</li>
<li>Christopher Maier</li>
<li>Durgesh Mankekar</li>
<li>Roberto Mannai</li>
<li>Roberto Mannai</li>
<li>Nathan Marz</li>
<li>Carin Meier</li>
<li>Dave Newton</li>
<li>David Nolen</li>
<li>Mark Nutter</li>
<li>Alexey Ott</li>
<li>Donald Parish</li>
<li>Laurent Petit</li>
<li>Michael Ravits</li>
<li>Volker Schlecht</li>
<li>Ryan Senior</li>
<li>Patrick Shields</li>
<li>Stuart Sierra</li>
<li>Luo Tian</li>
<li>Benny Tsai</li>
<li>Moritz Ulrich</li>
<li>Craig Worrall</li>
<li>Koji Yusa</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chasemerick.wordpress.com/766/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chasemerick.wordpress.com/766/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cemerick.com&#038;blog=14971344&#038;post=766&#038;subd=chasemerick&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cemerick.com/2011/11/08/ambrose-has-received-his-clojure-scholarship-thanks-to-you/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/b8ee952abb6620c1c93b3acb46cd391c?s=96&#38;d=identicon&#38;r=R" medium="image">
			<media:title type="html">cemerick</media:title>
		</media:content>
	</item>
	</channel>
</rss>
