<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1442042929301469968</id><updated>2012-03-17T16:51:37.514-07:00</updated><category term='cljr'/><category term='Semantic Web'/><category term='repl'/><category term='PowerLoom'/><category term='NLP'/><category term='emacs'/><category term='RDF'/><category term='reasoning'/><category term='AI'/><category term='artificial intelligence'/><category term='swank'/><category term='package management'/><title type='text'>ClojurePla.net</title><subtitle type='html'>Using the Clojure programming language for fun and profit!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.clojurepla.net/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default'/><link rel='alternate' type='text/html' href='http://www.clojurepla.net/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mark Watson,  author and consultant</name><uri>http://www.blogger.com/profile/05514730816583918651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/_FOFPUsW3T3c/SWO4Tcrr14I/AAAAAAAACis/0vgJvc-yzh4/S220/Mark_hat_small.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1442042929301469968.post-5297497021488885546</id><published>2010-08-29T21:14:00.001-07:00</published><updated>2010-08-29T21:14:38.209-07:00</updated><title type='text'>I am freezing this blog: future Clojure material will be on my main technology blog</title><content type='html'>Please visit &lt;a href="http://blog.markwatson.com"&gt;my general technology blog&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1442042929301469968-5297497021488885546?l=www.clojurepla.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.clojurepla.net/feeds/5297497021488885546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.clojurepla.net/2010/08/i-am-freezing-this-blog-future-clojure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/5297497021488885546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/5297497021488885546'/><link rel='alternate' type='text/html' href='http://www.clojurepla.net/2010/08/i-am-freezing-this-blog-future-clojure.html' title='I am freezing this blog: future Clojure material will be on my main technology blog'/><author><name>Mark Watson,  author and consultant</name><uri>http://www.blogger.com/profile/05514730816583918651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/_FOFPUsW3T3c/SWO4Tcrr14I/AAAAAAAACis/0vgJvc-yzh4/S220/Mark_hat_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1442042929301469968.post-4265949832097418332</id><published>2010-08-19T15:51:00.000-07:00</published><updated>2010-08-19T15:53:54.163-07:00</updated><title type='text'>cool: Clojure 1.2 released today</title><content type='html'>I just updated the project.clj on all of my active lein-based projects and I updated my local cljr setup.&lt;br /&gt;&lt;br /&gt;I have been on version 1.2 for my own projects and my work projects for some time, but it is always great to use a released major version.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1442042929301469968-4265949832097418332?l=www.clojurepla.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.clojurepla.net/feeds/4265949832097418332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.clojurepla.net/2010/08/cool-clojure-12-released-today.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/4265949832097418332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/4265949832097418332'/><link rel='alternate' type='text/html' href='http://www.clojurepla.net/2010/08/cool-clojure-12-released-today.html' title='cool: Clojure 1.2 released today'/><author><name>Mark Watson,  author and consultant</name><uri>http://www.blogger.com/profile/05514730816583918651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/_FOFPUsW3T3c/SWO4Tcrr14I/AAAAAAAACis/0vgJvc-yzh4/S220/Mark_hat_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1442042929301469968.post-4667093560042126906</id><published>2010-08-18T08:04:00.000-07:00</published><updated>2010-08-18T08:49:05.251-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='cljr'/><title type='text'>more notes on using cljr</title><content type='html'>For work at CompassLabs, I now use the Clojure setup that everyone else uses (emacs+swank-clojure, with our custom repositories). For my own Clojure hacking (my own projects) I have just about settled on using &lt;a href="http://github.com/liebke/cljr" target="new"&gt;cljr&lt;/a&gt; for convenience and agility. For me, the big win is being able to access Clojure libraries, Java libraries, and JAR files containing data sets I use often for NLP work from any directory. I don't need a heavy weight project, like for example, using Leiningen with all dependencies locally loaded. cljr uses Leiningen to manage the packages in the single ~/.cljr repository. When you startup cljr, everything in ~/.cljr is on your JVM classpath: this may seem a little heavy, but it is very convenient.&lt;br /&gt;&lt;br /&gt;As an example, this morning I noticed an old Twitter direct message from the author of Nozzle library asking me if I had a chance to try it. Instead of setting up a separate Leiningen project directory, I just did a &lt;strong&gt;cljr install com.ashafa/nozzle 0.2.1&lt;/strong&gt;, went to my catch-all directory where I keep short snippets of Clojure code, and entered Tunde's test program for Nozzle:&lt;pre&gt;;; assumes: cljr install com.ashafa/nozzle 0.2.1&lt;br /&gt;&lt;br /&gt;(use 'com.ashafa.nozzle)&lt;br /&gt;&lt;br /&gt;(def username (System/getenv "TWITTER_ACCOUNT"))&lt;br /&gt;(def passwd   (System/getenv "TWITTER_PASSWD"))&lt;br /&gt;&lt;br /&gt;(defn my-callback &lt;br /&gt;   [message] &lt;br /&gt;   (println message))&lt;br /&gt;&lt;br /&gt;(def noz (create-nozzle "filter" username passwd my-callback {:track "twitter"}))&lt;/pre&gt;and running it is as simple as:&lt;pre&gt;cljr run nozzle-twitter-test.clj&lt;/pre&gt;or, if you want to use emacs+swank:&lt;pre&gt;cljr swank&lt;/pre&gt;and after starting Emacs in the same directory:&lt;pre&gt;M-x slime-connect&lt;/pre&gt;and in the repl:&lt;pre&gt;(load "nozzle-twitter-test")&lt;/pre&gt;I still use IntelliJ with the Clojure plugin for some projects also.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1442042929301469968-4667093560042126906?l=www.clojurepla.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.clojurepla.net/feeds/4667093560042126906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.clojurepla.net/2010/08/more-notes-on-using-cljr.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/4667093560042126906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/4667093560042126906'/><link rel='alternate' type='text/html' href='http://www.clojurepla.net/2010/08/more-notes-on-using-cljr.html' title='more notes on using cljr'/><author><name>Mark Watson,  author and consultant</name><uri>http://www.blogger.com/profile/05514730816583918651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/_FOFPUsW3T3c/SWO4Tcrr14I/AAAAAAAACis/0vgJvc-yzh4/S220/Mark_hat_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1442042929301469968.post-3702137726690214842</id><published>2010-08-15T10:58:00.000-07:00</published><updated>2010-08-15T14:13:19.728-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='artificial intelligence'/><title type='text'>My light weight Clojure wrapper for the PowerLoom knowledge representation and reasoning system</title><content type='html'>A ZIP file with everything you need to try it is on &lt;a href="http://markwatson.com/opensource/" target="new"&gt;my open source web page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.isi.edu/isd/LOOM/PowerLoom/" target="new"&gt;PowerLoom&lt;/a&gt; has been in development for many years and is available in Common Lisp, C++, and Java editions. I wrapped the Java edition for this project.&lt;br /&gt;&lt;br /&gt;This is just a first cut at a wrapper because assertions and queries must be encoded as strings.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1442042929301469968-3702137726690214842?l=www.clojurepla.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.clojurepla.net/feeds/3702137726690214842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.clojurepla.net/2010/08/my-light-weight-clojure-wrapper-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/3702137726690214842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/3702137726690214842'/><link rel='alternate' type='text/html' href='http://www.clojurepla.net/2010/08/my-light-weight-clojure-wrapper-for.html' title='My light weight Clojure wrapper for the PowerLoom knowledge representation and reasoning system'/><author><name>Mark Watson,  author and consultant</name><uri>http://www.blogger.com/profile/05514730816583918651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/_FOFPUsW3T3c/SWO4Tcrr14I/AAAAAAAACis/0vgJvc-yzh4/S220/Mark_hat_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1442042929301469968.post-3385483772198255547</id><published>2010-08-14T15:15:00.000-07:00</published><updated>2010-08-14T15:52:14.766-07:00</updated><title type='text'>Clojure: the good and the awkward</title><content type='html'>I have been doing some Clojure development at &lt;a href="http://compasslabs.com/about-us.html" target="new"&gt;CompassLabs&lt;/a&gt; this year and I now feel like I have enough experience to better discuss both the language and tools that have been developed to support Clojure.&lt;br /&gt;&lt;br /&gt;First for the awkward bits: for me the worse aspect of Clojure development is the un-useful stack frames when an error is thrown. I have 99% confidence that this problem will eventually get fixed and this issue will go away. Another awkward aspect is not being able to settle down on a single development setup. I currently use:&lt;ul&gt;&lt;li&gt;Emacs+swank - more experienced Clojure developers who I work with prefer this option, so I am trying to adjust&lt;/li&gt;&lt;li&gt;lein repl - a favorite option for me, using a light weight editor like TextMate to edit text.&lt;/li&gt;&lt;li&gt;IntelliJ with Clojure plugin - another favorite option for me, especially in projects where I am also working on Java and/or Scala code&lt;/li&gt;&lt;li&gt;David Liebke's clj repl and package manager - this is a nice option if you prefer to not work in a project-oriented mode and instead want to have packages installed on your development system that are available for working on small files, snippets, etc. no matter what directory you are working in&lt;/li&gt;&lt;/ul&gt;Choice is good so I am not really complaining too much about having four good options for working on code.&lt;br /&gt;&lt;br /&gt;For me, the best bits of coding in Clojure are the uniform APIs for seqs and the wealth of existing Java libraries that make Clojure close to ideal for many kinds of applications.&lt;br /&gt;&lt;br /&gt;I spend a lot of time coding in Clojure, Ruby, Java, Common Lisp, and Scheme. It is difficult to predict what tools will be most useful in the future but as rough edges of the Clojure experience are smoothed out, Clojure has the real possibility for being a reasonable choice for almost all of my development.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1442042929301469968-3385483772198255547?l=www.clojurepla.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.clojurepla.net/feeds/3385483772198255547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.clojurepla.net/2010/08/clojure-good-and-awkward.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/3385483772198255547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/3385483772198255547'/><link rel='alternate' type='text/html' href='http://www.clojurepla.net/2010/08/clojure-good-and-awkward.html' title='Clojure: the good and the awkward'/><author><name>Mark Watson,  author and consultant</name><uri>http://www.blogger.com/profile/05514730816583918651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/_FOFPUsW3T3c/SWO4Tcrr14I/AAAAAAAACis/0vgJvc-yzh4/S220/Mark_hat_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1442042929301469968.post-2645760827451982031</id><published>2010-07-11T05:31:00.000-07:00</published><updated>2010-07-11T05:42:37.827-07:00</updated><title type='text'>The Aleph asynchronous server</title><content type='html'>Zach Tellman implemented a &lt;a href="http://github.com/ztellman/aleph" target="new"&gt;Clojure rapper for the Java Netty asynchronous server&lt;/a&gt; that looks very nice (I have only played with it on my laptop, no stress tests).&lt;br /&gt;&lt;br /&gt;I experimented with Node.js last month but Aleph looks like a better fit for me (preferring to work in Clojure instead of Javascript).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1442042929301469968-2645760827451982031?l=www.clojurepla.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.clojurepla.net/feeds/2645760827451982031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.clojurepla.net/2010/07/aleph-asynchronous-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/2645760827451982031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/2645760827451982031'/><link rel='alternate' type='text/html' href='http://www.clojurepla.net/2010/07/aleph-asynchronous-server.html' title='The Aleph asynchronous server'/><author><name>Mark Watson,  author and consultant</name><uri>http://www.blogger.com/profile/05514730816583918651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/_FOFPUsW3T3c/SWO4Tcrr14I/AAAAAAAACis/0vgJvc-yzh4/S220/Mark_hat_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1442042929301469968.post-9081952670314620778</id><published>2010-06-25T16:41:00.001-07:00</published><updated>2010-08-14T15:26:33.703-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='repl'/><category scheme='http://www.blogger.com/atom/ns#' term='package management'/><category scheme='http://www.blogger.com/atom/ns#' term='RDF'/><title type='text'>Two interesting projects: clj and clj-plaza</title><content type='html'>I am travelling and working, so not too much time to kick the tires on either of these projects yet.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://tech.puredanger.com/2010/06/24/using-clojure-and-clj-plaza-to-play-with-rdf-data/" target="new"&gt;Alex Miller&lt;/a&gt; provides a good introduction to Clojure and &lt;a href="http://antoniogarrote.github.com/clj-plaza/" target="new"&gt;clj-plaza&lt;/a&gt;. This package by Antonio Garrote looks like a very nice wrapper for several RDF data stores. I have installed clj-plaza but I am waiting for an evening when I have several hours to really kick the tires with several different data stores like 4store, AllegroGraph 4, etc.&lt;br /&gt;&lt;br /&gt;I installed David Liebke's &lt;a href="http://github.com/liebke/cljr" target="new"&gt;clj repl and package manager&lt;/a&gt; today. It looks like a useful addition to developing in IntelliJ or swank-clojure.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1442042929301469968-9081952670314620778?l=www.clojurepla.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.clojurepla.net/feeds/9081952670314620778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.clojurepla.net/2010/06/two-interesting-projects-clj-and-clj.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/9081952670314620778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/9081952670314620778'/><link rel='alternate' type='text/html' href='http://www.clojurepla.net/2010/06/two-interesting-projects-clj-and-clj.html' title='Two interesting projects: clj and clj-plaza'/><author><name>Mark Watson,  author and consultant</name><uri>http://www.blogger.com/profile/05514730816583918651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/_FOFPUsW3T3c/SWO4Tcrr14I/AAAAAAAACis/0vgJvc-yzh4/S220/Mark_hat_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1442042929301469968.post-4332723805234463034</id><published>2010-06-21T20:20:00.000-07:00</published><updated>2010-06-21T20:43:44.225-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AI'/><category scheme='http://www.blogger.com/atom/ns#' term='reasoning'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerLoom'/><title type='text'>My new Clojure fun project and a new programming font</title><content type='html'>I saw an article on Hacker News today on the &lt;a href="http://robey.lag.net/2010/06/21/mensch-font.html" target="new"&gt;Mensch font&lt;/a&gt; which I installed on my MacBook and set up a named IntelliJ style. Pretty nice, but in the Hacker News comments someone mentioned the &lt;a href="http://www.levien.com/type/myfonts/inconsolata.html" target="new"&gt;Inconsolata font&lt;/a&gt; which I like even better so I created an IntelliJ style for that also.&lt;br /&gt;&lt;br /&gt;My &lt;i&gt;fun&lt;/i&gt; Clojure project is a Clojure-friendly wrapper for the &lt;a href="http://www.isi.edu/isd/LOOM/PowerLoom/" target="new"&gt;PowerLoom&lt;/a&gt; reasoning system. One of my customers on a Clojure project asked about a Clojure friendly reasoning system and I suggested Drools. I covered Drools in my last Java AI book, but for my own interests I prefer PowerLoom. I have a JRuby wrapper for PowerLoom on my &lt;a href="http://www.markwatson.com/opensource/" target="new"&gt;open source page&lt;/a&gt; but I want something really tailored to Clojure idioms.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1442042929301469968-4332723805234463034?l=www.clojurepla.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.clojurepla.net/feeds/4332723805234463034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.clojurepla.net/2010/06/my-new-clojure-fun-project-and-new.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/4332723805234463034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/4332723805234463034'/><link rel='alternate' type='text/html' href='http://www.clojurepla.net/2010/06/my-new-clojure-fun-project-and-new.html' title='My new Clojure fun project and a new programming font'/><author><name>Mark Watson,  author and consultant</name><uri>http://www.blogger.com/profile/05514730816583918651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/_FOFPUsW3T3c/SWO4Tcrr14I/AAAAAAAACis/0vgJvc-yzh4/S220/Mark_hat_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1442042929301469968.post-4012290557950695942</id><published>2010-06-21T16:41:00.000-07:00</published><updated>2010-06-21T16:44:19.934-07:00</updated><title type='text'>Good interview with Stuart Halloway</title><content type='html'>It is on &lt;a href="http://java.dzone.com/videos/clojure-and-simplicty" target="new"&gt;dzone.com&lt;/a&gt;. He and I both come from Ruby and Lisp backgrounds, and I agree with his comments on programming languages and productivity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1442042929301469968-4012290557950695942?l=www.clojurepla.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.clojurepla.net/feeds/4012290557950695942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.clojurepla.net/2010/06/good-interview-with-stuart-halloway.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/4012290557950695942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/4012290557950695942'/><link rel='alternate' type='text/html' href='http://www.clojurepla.net/2010/06/good-interview-with-stuart-halloway.html' title='Good interview with Stuart Halloway'/><author><name>Mark Watson,  author and consultant</name><uri>http://www.blogger.com/profile/05514730816583918651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/_FOFPUsW3T3c/SWO4Tcrr14I/AAAAAAAACis/0vgJvc-yzh4/S220/Mark_hat_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1442042929301469968.post-248959761224918144</id><published>2010-05-11T13:06:00.000-07:00</published><updated>2010-05-16T06:39:42.774-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='swank'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Increase JVM memory when using Swank Clojure</title><content type='html'>When I am developing with Emacs, Swank, and Clojure I almost always need more memory than you get by default with "java -client" so I edited ~/emacs.d/elpa/swank-clojure-1.1.0/swank-clojure.el on my laptop permanently overriding the amount of memory that swank-clojure gives the JVM by adding one line:&lt;pre&gt;(defun swank-clojure-cmd ()&lt;br /&gt;  "Create the command to start clojure according to current settings."&lt;br /&gt;  (swank-clojure-check-install)&lt;br /&gt;  (if swank-clojure-binary&lt;br /&gt;      (if (listp swank-clojure-binary)&lt;br /&gt;          swank-clojure-binary&lt;br /&gt;        (list swank-clojure-binary))&lt;br /&gt;    (delete-if&lt;br /&gt;     'null&lt;br /&gt;     (append&lt;br /&gt;      (list swank-clojure-java-path)&lt;br /&gt;      swank-clojure-extra-vm-args&lt;br /&gt;      (list "-Xmx1024m")  ;; MLW 5/11/2010&lt;br /&gt;   ...&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1442042929301469968-248959761224918144?l=www.clojurepla.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.clojurepla.net/feeds/248959761224918144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.clojurepla.net/2010/05/increase-jvm-memory-when-using-swank.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/248959761224918144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/248959761224918144'/><link rel='alternate' type='text/html' href='http://www.clojurepla.net/2010/05/increase-jvm-memory-when-using-swank.html' title='Increase JVM memory when using Swank Clojure'/><author><name>Mark Watson,  author and consultant</name><uri>http://www.blogger.com/profile/05514730816583918651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/_FOFPUsW3T3c/SWO4Tcrr14I/AAAAAAAACis/0vgJvc-yzh4/S220/Mark_hat_small.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1442042929301469968.post-3263873591753916971</id><published>2010-05-08T12:08:00.000-07:00</published><updated>2010-05-08T12:20:56.702-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Semantic Web'/><category scheme='http://www.blogger.com/atom/ns#' term='NLP'/><title type='text'>Two of my open source Clojure projects</title><content type='html'>I used Clojure in a few examples of my book "Practical Semantic Web Programming" (a rough cut PDF is available on my &lt;a href="http://markwatson.com/opencontent" target="new"&gt;open content&lt;/a&gt; web page and the source code for the examples is &lt;a href="http://github.com/mark-watson/java_practical_semantic_web" target=new"&gt;available on github&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;I also wrapped the Clojure natural language processing (NLP) part of the book code separately &lt;a href="http://github.com/mark-watson/knowledgebooks-clojure" target="new"&gt;on github&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Both of these projects are just thin Clojure wrappers on larger Java libraries. That said, I am starting to use Clojure more on new projects so future open source projects will likely be pure Clojure.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1442042929301469968-3263873591753916971?l=www.clojurepla.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.clojurepla.net/feeds/3263873591753916971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.clojurepla.net/2010/05/two-of-my-open-source-clojure-projects.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/3263873591753916971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/3263873591753916971'/><link rel='alternate' type='text/html' href='http://www.clojurepla.net/2010/05/two-of-my-open-source-clojure-projects.html' title='Two of my open source Clojure projects'/><author><name>Mark Watson,  author and consultant</name><uri>http://www.blogger.com/profile/05514730816583918651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/_FOFPUsW3T3c/SWO4Tcrr14I/AAAAAAAACis/0vgJvc-yzh4/S220/Mark_hat_small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1442042929301469968.post-5496153193723398258</id><published>2010-05-08T11:39:00.000-07:00</published><updated>2010-05-08T11:54:26.722-07:00</updated><title type='text'>Welcome to ClojurePla.net</title><content type='html'>I have been programming in Lisp professionally since 1980. &lt;a href="http://clojure.org/" target="new"&gt;Clojure&lt;/a&gt; is a modern dialect of Lisp designed by Rich Hickey.&lt;br /&gt;&lt;br /&gt;In the past I have typically done about 1/3 of my consulting work using Common Lisp, 1/3 in Ruby, and the remaining 1/3 in Java. I still love these three languages but Clojure offers (at least for me) a single language that can be used for almost all of my software development needs except for simple scripting (when I use Ruby).&lt;br /&gt;&lt;br /&gt;I have three other blogs: &lt;a href="http://blog.markwatson.com" target="new"&gt;for general technology&lt;/a&gt;, &lt;a href="http://aiblog.markwatson.com" target="new"&gt;artificial intelligence&lt;/a&gt;, and &lt;a href="http://rubyplanet.net" target="new"&gt;Ruby&lt;/a&gt;. I use my blogs to record useful programming tricks for my future reference and hopefully my notes will help other people also. I like to write about things that interest me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1442042929301469968-5496153193723398258?l=www.clojurepla.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.clojurepla.net/feeds/5496153193723398258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.clojurepla.net/2010/05/welcome-to-clojureplanet.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/5496153193723398258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1442042929301469968/posts/default/5496153193723398258'/><link rel='alternate' type='text/html' href='http://www.clojurepla.net/2010/05/welcome-to-clojureplanet.html' title='Welcome to ClojurePla.net'/><author><name>Mark Watson,  author and consultant</name><uri>http://www.blogger.com/profile/05514730816583918651</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/_FOFPUsW3T3c/SWO4Tcrr14I/AAAAAAAACis/0vgJvc-yzh4/S220/Mark_hat_small.jpg'/></author><thr:total>1</thr:total></entry></feed>
