I totally understand the value of having a single source of truth (DRY principle). My main problem was that to get from 0-60 for doing clojure development is quite challenging.
Say you want to do what my document describes, that is setup Leiningen, setup emacs, etc..., it took me weeks to get it working. That is going to turn off a lot of people who'd like to get started. I'm sure I've made many misguided recommendations, I'm a newbie myself. But I've been tasked to help other people get on board with Clojure and I need to be able to send them to one link. I had a major piss around trying to get the marmelade repo working. Finally, someone suggested emacs 24, which itself is fairly hard to find without a link to alpa. So say I start at: http://marmalade-repo.org/, well then it says: "Install package.el", it doesn't say how to install package.el, so now I gotta google that. So say eventually I figure that out. Well it says to add it to your ~/.emacs. I was helping someone out the other day, and in their instance it needed to go into ~/.emacs.d/init.el. Another face plant. Then if they aren't on emacs 24, there is a chance that their 23 won't load more than one repo, that happened to me. Face plant. Then I head over to lein: https://github.com/technomancy/leiningen, well this one is better than most install instructions, but still IMO, isn't as simple to follow as my instructions. Which I'd agree I should update to use Lein 2. However it doesn't talk about the dependencies of Lein, like rlwrap, since understandably that is out of scope, but for a newbie, it's darn handy to have that stuff. Say you were running the jre instead of the jdk, which I was, and my swank-cdt debugger wasn't working, again I have a note for that. Then we get back to marmalade. The steps to install package.el are quite a few. You should put ~/.emacs.d/ on your load path, you've got to (require 'package). It doesn't mention anything about (package-initialize), which seems to be helpful. Next I want to get swank-slime-clojure server going. Do I need slime? I don't really know. So I head over to: https://github.com/technomancy/swank-clojure, which is not bad, but it doesn't tell me that I have to do a 'lein deps' after I put the entry into my emacs. It doesn't tell me that if I jack-in and then modify my project.clj that I need to re-jack-in. Face plant. I still don't know if I need both clojure and clojure-contrib in my project.clj files or not. They are different versions, should they be in sync? After that I don't even know where I found the info about how to setup my *.clj files so that they'd auto load into the REPL after saving them, certainly another website. Did it also have the nice tip that: "C-c A-p" is what you can use to update the namespace in your REPL. Now I want debugging, off to somewhere else. Here: http://georgejahad.com/clojure/swank-cdt.html. Well it doesn't tell me that swank-clojure is NOT a plugin, but rather a dependency. Face plant. Didn't help with JDK/JRE issue. And I'm not even listing all the other issues which would bore anyone on this list to tears. Maybe an appropriate solution is the one you alluded to, which is to have a link to the websites I mentioned about at each point in the 0-60 doc? I did find myself getting a bit angry writing this, because I'd really like to see clojure displace java, but I think its fair to say that there is a gap in helping people who have little emacs/clojure/leiningen/swank/slime/cdt/lisp exposure getting on board. I think there is value in reducing that complexity as far as possible to let them get going doing some coding. I think github is a better place to document this stuff than confluence. Confluence just doesn't have the prettifying abilities of github. Also, whats the right solution around contributors, etc...? Well again git is pretty good. Someone could clone this stuff, put it somewhere legitimate, and accept patches to the documentation. Github also makes it quite trivial to share contribution permissions and to manage revisions. I don't want to piss of the good people of this community that I'd like to be accepted into...is that possible? I hope so. :) ft On Wednesday, June 13, 2012 12:33:38 PM UTC-7, fenton wrote: > > > https://github.com/ftravers/PublicDocumentation/blob/master/clojure-development-setup.md > > An index to other clojure tutorials: > > > https://github.com/ftravers/PublicDocumentation/blob/master/clojure-index.md > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en