Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
Because emacs is traditionally THE editor for lispy programming languages and is so versatile. Of course there are other IDEs out there and you should try a few, but Emacs is easily the most common tool when programming lisp and therefore has the biggest variety of helpers available. -- Sent from my mobile Am 23.06.2012 07:52 schrieb Qiu Xiafei qiuxia...@gmail.com: p.s. I think idea + la enclosure works quite wellwhy beginners are always introduced to emacs solution? On Sat, Jun 23, 2012 at 4:45 AM, fenton fenton.trav...@gmail.com wrote: Hi Brad, I've updated my doc with your questions. Here is how I responded to your particular queries. Note the answer may not be correct as I'm a clojure newbie myself. - Leiningen is a build tool like maven for java, or rake (i think) for ruby. You can use it to publish your jar into maven repositories for example. Slime is a protocol that lets you communicate from emacs to a listening server. In clojure, we start a swank server, which is the clojure REPL process, and connect to it from emacs, speaking 'slime'. The net effect is that we can have a REPL inside our emacs editor. - On Thursday, June 21, 2012 5:58:23 PM UTC-7, brad bowman wrote: On Thursday, June 21, 2012 12:58:19 PM UTC+10, John Gabriele wrote: On Jun 18, 10:23 pm, Chris Zheng zcaud...@gmail.com wrote: {snip} So basically, if a 'lead clojure evangelist' can either 'officially' or 'unofficially' recommend ONE emacs setup, along with a bunch of videos/tutorials that demonstrate how to code and how fast it is to design and code using the repl. Then that be enough to get people at least interested. People are very opinionated about their editor/IDE. I think the Getting +Started docs are good --- they separate: * if you want just Emacs plus the repl, here you go (clojure-mode readme) * if you want Emacs + inferior-lisp, do this (this doc needs work) * if you want Emacs + swank/slime, do this (swank-clojure readme) and of course also info on Eclipse, Clooj, and other editors/ide's as well. I'm right at the start of this process, completely unfamiliar with Clojure, Leiningen, Emacs, Java and all of the projects with cute names. I don't even know what I want. I've cut and pasted various git-clone and lein commands, but have no idea about the bigger picture. I'm happy to dawdle along on my own, but if my current (and hopefully temporary) ignorance can provide feedback on a start-up guide then let me know. At present I'm often wondering what is this thing? why do I want it?. Slime for example. I don't especially want answers here, but something like a glossary for the clojure ecosystem would be handy (not that I've looked hard). Another document that might useful is a platform Rosetta stone matching clojure tools and libraries to those that fill a similar role in other languages (Java and Ruby for starters). This is more of a nice to have. Thanks, Brad -- 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 -- 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 -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
On Thursday, June 21, 2012 12:58:19 PM UTC+10, John Gabriele wrote: On Jun 18, 10:23 pm, Chris Zheng zcaud...@gmail.com wrote: {snip} So basically, if a 'lead clojure evangelist' can either 'officially' or 'unofficially' recommend ONE emacs setup, along with a bunch of videos/tutorials that demonstrate how to code and how fast it is to design and code using the repl. Then that be enough to get people at least interested. People are very opinionated about their editor/IDE. I think the Getting +Started docs are good --- they separate: * if you want just Emacs plus the repl, here you go (clojure-mode readme) * if you want Emacs + inferior-lisp, do this (this doc needs work) * if you want Emacs + swank/slime, do this (swank-clojure readme) and of course also info on Eclipse, Clooj, and other editors/ide's as well. I'm right at the start of this process, completely unfamiliar with Clojure, Leiningen, Emacs, Java and all of the projects with cute names. I don't even know what I want. I've cut and pasted various git-clone and lein commands, but have no idea about the bigger picture. I'm happy to dawdle along on my own, but if my current (and hopefully temporary) ignorance can provide feedback on a start-up guide then let me know. At present I'm often wondering what is this thing? why do I want it?. Slime for example. I don't especially want answers here, but something like a glossary for the clojure ecosystem would be handy (not that I've looked hard). Another document that might useful is a platform Rosetta stone matching clojure tools and libraries to those that fill a similar role in other languages (Java and Ruby for starters). This is more of a nice to have. Thanks, Brad -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
Hi Brad, I've updated my doc with your questions. Here is how I responded to your particular queries. Note the answer may not be correct as I'm a clojure newbie myself. - Leiningen is a build tool like maven for java, or rake (i think) for ruby. You can use it to publish your jar into maven repositories for example. Slime is a protocol that lets you communicate from emacs to a listening server. In clojure, we start a swank server, which is the clojure REPL process, and connect to it from emacs, speaking 'slime'. The net effect is that we can have a REPL inside our emacs editor. - On Thursday, June 21, 2012 5:58:23 PM UTC-7, brad bowman wrote: On Thursday, June 21, 2012 12:58:19 PM UTC+10, John Gabriele wrote: On Jun 18, 10:23 pm, Chris Zheng zcaud...@gmail.com wrote: {snip} So basically, if a 'lead clojure evangelist' can either 'officially' or 'unofficially' recommend ONE emacs setup, along with a bunch of videos/tutorials that demonstrate how to code and how fast it is to design and code using the repl. Then that be enough to get people at least interested. People are very opinionated about their editor/IDE. I think the Getting +Started docs are good --- they separate: * if you want just Emacs plus the repl, here you go (clojure-mode readme) * if you want Emacs + inferior-lisp, do this (this doc needs work) * if you want Emacs + swank/slime, do this (swank-clojure readme) and of course also info on Eclipse, Clooj, and other editors/ide's as well. I'm right at the start of this process, completely unfamiliar with Clojure, Leiningen, Emacs, Java and all of the projects with cute names. I don't even know what I want. I've cut and pasted various git-clone and lein commands, but have no idea about the bigger picture. I'm happy to dawdle along on my own, but if my current (and hopefully temporary) ignorance can provide feedback on a start-up guide then let me know. At present I'm often wondering what is this thing? why do I want it?. Slime for example. I don't especially want answers here, but something like a glossary for the clojure ecosystem would be handy (not that I've looked hard). Another document that might useful is a platform Rosetta stone matching clojure tools and libraries to those that fill a similar role in other languages (Java and Ruby for starters). This is more of a nice to have. Thanks, Brad -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
p.s. I think idea + la enclosure works quite wellwhy beginners are always introduced to emacs solution? On Sat, Jun 23, 2012 at 4:45 AM, fenton fenton.trav...@gmail.com wrote: Hi Brad, I've updated my doc with your questions. Here is how I responded to your particular queries. Note the answer may not be correct as I'm a clojure newbie myself. - Leiningen is a build tool like maven for java, or rake (i think) for ruby. You can use it to publish your jar into maven repositories for example. Slime is a protocol that lets you communicate from emacs to a listening server. In clojure, we start a swank server, which is the clojure REPL process, and connect to it from emacs, speaking 'slime'. The net effect is that we can have a REPL inside our emacs editor. - On Thursday, June 21, 2012 5:58:23 PM UTC-7, brad bowman wrote: On Thursday, June 21, 2012 12:58:19 PM UTC+10, John Gabriele wrote: On Jun 18, 10:23 pm, Chris Zheng zcaud...@gmail.com wrote: {snip} So basically, if a 'lead clojure evangelist' can either 'officially' or 'unofficially' recommend ONE emacs setup, along with a bunch of videos/tutorials that demonstrate how to code and how fast it is to design and code using the repl. Then that be enough to get people at least interested. People are very opinionated about their editor/IDE. I think the Getting +Started docs are good --- they separate: * if you want just Emacs plus the repl, here you go (clojure-mode readme) * if you want Emacs + inferior-lisp, do this (this doc needs work) * if you want Emacs + swank/slime, do this (swank-clojure readme) and of course also info on Eclipse, Clooj, and other editors/ide's as well. I'm right at the start of this process, completely unfamiliar with Clojure, Leiningen, Emacs, Java and all of the projects with cute names. I don't even know what I want. I've cut and pasted various git-clone and lein commands, but have no idea about the bigger picture. I'm happy to dawdle along on my own, but if my current (and hopefully temporary) ignorance can provide feedback on a start-up guide then let me know. At present I'm often wondering what is this thing? why do I want it?. Slime for example. I don't especially want answers here, but something like a glossary for the clojure ecosystem would be handy (not that I've looked hard). Another document that might useful is a platform Rosetta stone matching clojure tools and libraries to those that fill a similar role in other languages (Java and Ruby for starters). This is more of a nice to have. Thanks, Brad -- 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 -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
On 21/06/12 03:58, John Gabriele wrote: Sometimes you need to spend time with an editor + repl to see the value in something more sophisticated. Also, I suppose sometimes you end up sticking with the editor + repl anyway.:) exactlypersonally I'm sticking to editor + embedded repl until light-table comes out! Jim -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
I created a guide from my recent experience with Clojure + Leiningen2 + Emacs (on Linux and Mac OSX) that hopefully makes it very easy for developers to get a productive environment. http://clojure.jr0cket.co.uk/perfect-environment I would be willing to contribute any or all of this if its useful to the official docs on Confluence. I will have a look at what is required to contribute to dev.clojure.org. Thanks | About http://john.jr0cket.co.uk/ | Blog http://blog.jr0cket.co.uk/ | @JR0cket http://http//twitter.com/#%21/JR0cket | Google+http://gplus.to/JR0cket| LinkedIn http://uk.linkedin.com/in/jr0cket | On 13 June 2012 20:33, fenton fenton.trav...@gmail.com 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
I was using textmate and a repl for the longest time because I was put off by the intricacies of emacs.. and then I found this: https://github.com/overtone/emacs-live and the tutorial that recommended it http://www.vijaykiran.com/2012/01/11/web-application-development-with-clojure-part-1/ It's great. I'm completely sold on emacs.. On any computer, I install emacs, install lein, run one command: $ git clone https://github.com/overtone/emacs-live ~/emacs.d Now I have everything I need to develop in clojure like hinting, autocomplete and docs. Most importantly, it has a black background and fluro text by default. NO CUSTOMISATIONS! I remember how difficult it was for me as a complete newbie coming into the language. Thinking in a functional style was hard enough, let alone trying to get swank working and then frustrating over every aspect of emacs banging my head against the wall would have been more productive. It was so frusting because I just wanted something that worked and a bunch of tutorials that showed me how to get started. Things like autocomplete and documentation are essential for learning the concepts quickly. Its only recently that a spate of them has come out for the joe programmer and its really good to see that happening. My 2 cents: - New users don't want complication. Give them one 'product' to start off with and then slowly introduce them to more concepts later - Videos and Tutorials are a must. Its not about showing off about look how short I can make my code man... Its about helping others see a new way to think about the problem. The only way to do that besides sitting down with them is through tutorials. Longer tutorials and demonstrations that work through a complete problem are more helpful than short ones that are demonstrating the 'feature.. Hats off in particular to Brian Marick (http://vimeo.com/19404746), Chas Emerick (http://www.youtube.com/watch?v=VVd4ow-ZcX0), and Phil Hagelburg (https://peepcode.com/products/functional-programming-with-clojure) for taking the time to show the world how they worked through a 'real-world' problem. So basically, if a 'lead clojure evangelist' can either 'officially' or 'unofficially' recommend ONE emacs setup, along with a bunch of videos/tutorials that demonstrate how to code and how fast it is to design and code using the repl. Then that be enough to get people at least interested. Expanding on that idea, If there were a set of peepcode-like 1 to 1.5h tutorials for clojure and its libraries (an episode on ring, an episode on agents futures and watches, an episode on incanter, an episode on writing a dsl, an episode on aleph..., an episode on writing a clojurescript application and also doing 'play-by-play' videos with top clojure developers), I'm sure newbies are going to take up the language much faster because they will have the crutches to allow them to explore the clojure landscape without worrying about how to go about entering text into a arcane text-editor. -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
+1, I had the same experience as Chris, lot of frustration until I found Emacs-live On Jun 20, 2012 1:54 PM, Chris Zheng zcaud...@gmail.com wrote: I was using textmate and a repl for the longest time because I was put off by the intricacies of emacs.. and then I found this: https://github.com/overtone/emacs-live and the tutorial that recommended it http://www.vijaykiran.com/2012/01/11/web-application-development-with-clojure-part-1/ It's great. I'm completely sold on emacs.. On any computer, I install emacs, install lein, run one command: $ git clone https://github.com/overtone/emacs-live ~/emacs.d Now I have everything I need to develop in clojure like hinting, autocomplete and docs. Most importantly, it has a black background and fluro text by default. NO CUSTOMISATIONS! I remember how difficult it was for me as a complete newbie coming into the language. Thinking in a functional style was hard enough, let alone trying to get swank working and then frustrating over every aspect of emacs banging my head against the wall would have been more productive. It was so frusting because I just wanted something that worked and a bunch of tutorials that showed me how to get started. Things like autocomplete and documentation are essential for learning the concepts quickly. Its only recently that a spate of them has come out for the joe programmer and its really good to see that happening. My 2 cents: - New users don't want complication. Give them one 'product' to start off with and then slowly introduce them to more concepts later - Videos and Tutorials are a must. Its not about showing off about look how short I can make my code man... Its about helping others see a new way to think about the problem. The only way to do that besides sitting down with them is through tutorials. Longer tutorials and demonstrations that work through a complete problem are more helpful than short ones that are demonstrating the 'feature.. Hats off in particular to Brian Marick ( http://vimeo.com/19404746), Chas Emerick ( http://www.youtube.com/watch?v=VVd4ow-ZcX0), and Phil Hagelburg ( https://peepcode.com/products/functional-programming-with-clojure) for taking the time to show the world how they worked through a 'real-world' problem. So basically, if a 'lead clojure evangelist' can either 'officially' or 'unofficially' recommend ONE emacs setup, along with a bunch of videos/tutorials that demonstrate how to code and how fast it is to design and code using the repl. Then that be enough to get people at least interested. Expanding on that idea, If there were a set of peepcode-like 1 to 1.5h tutorials for clojure and its libraries (an episode on ring, an episode on agents futures and watches, an episode on incanter, an episode on writing a dsl, an episode on aleph..., an episode on writing a clojurescript application and also doing 'play-by-play' videos with top clojure developers), I'm sure newbies are going to take up the language much faster because they will have the crutches to allow them to explore the clojure landscape without worrying about how to go about entering text into a arcane text-editor. -- 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 -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
On Jun 18, 10:23 pm, Chris Zheng zcaud...@gmail.com wrote: I was using textmate and a repl for the longest time because I was put off by the intricacies of emacs.. and then {snip} Now I have everything I need to develop in clojure like hinting, autocomplete and docs. Most importantly, it has a black background and fluro text by default. NO CUSTOMISATIONS! Sometimes you need to spend time with an editor + repl to see the value in something more sophisticated. Also, I suppose sometimes you end up sticking with the editor + repl anyway. :) {snip} So basically, if a 'lead clojure evangelist' can either 'officially' or 'unofficially' recommend ONE emacs setup, along with a bunch of videos/tutorials that demonstrate how to code and how fast it is to design and code using the repl. Then that be enough to get people at least interested. People are very opinionated about their editor/IDE. I think the Getting +Started docs are good --- they separate: * if you want just Emacs plus the repl, here you go (clojure-mode readme) * if you want Emacs + inferior-lisp, do this (this doc needs work) * if you want Emacs + swank/slime, do this (swank-clojure readme) and of course also info on Eclipse, Clooj, and other editors/ide's as well. But I certainly agree with you that screencasts/videos/tutorials for each of those are very useful. Categorized links to such presentations are just what wiki's are good at providing. I don't know what the attitude is toward links like that on the confluence wiki, but I hope they're welcomed. It's not so bad keeping links on wiki's up to date. Now keeping full docs coherent in wikis is another matter ... :) ---John -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
Sorry to be an absolute pain, but could we not have a single page that has (almost everything) that a newbie might want to know. Can't we be a bit opinionated, like: editor: emacs builder: leiningen repl: swank emacs packages: clojure-mode, paredit, highlight-parens, autocomplete, ac-slime Newbies don't want choices for options they don't understand. Can we decide on a canonical (or several canonical) solutions. Like packaging. When they get more advanced and want to swap components out, great. Maybe clojure-mode isn't the place for this. Can we create a repo that is for this type of thing? By we I mean Phil or Sean, since you guys are known to the community. I picture a single page for each of these canonical setups, so the user doesn't have to click somewhere else. A page that brings it all together. People go buy books for this type of thing. They don't want the book saying: Now go buy this other book for this step in the process. What I'm really asking for is does the community (anyone) see value in this type of thing, and if so can we create a github repo dedicated to the purpose? -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
On Sat, Jun 16, 2012 at 8:49 AM, fenton fenton.trav...@gmail.com wrote: Sorry to be an absolute pain, but could we not have a single page that has (almost everything) that a newbie might want to know. Can't we be a bit opinionated, like: This has been discussed at length on several occasions and - whilst many Clojurians end up with Emacs / Leiningen / Swank - the consensus seems to be that is unreasonable as a first experience of Clojure. Hence the Getting Started page suggests Try Clojure (no install at all), Clooj, Leiningen and only then does it talk about IDEs. For folks coming from a Java world, Eclipse or IntelliJ is going to be a better experience than Emacs. For folks coming from Ruby or Python, Leiningen and TextMate/Sublime Text 2 is probably the best introductory experience (although there's no longer a page covering those editors). Or vim. For all Emacs' power, making it the default choice for newbies is going to create a huge barrier to entry for people coming to Clojure. Newbies don't want choices for options they don't understand. The current Getting Started page is a vast simplification from what was there before - and is the result of several rounds of refinement by the community, with a lot of input from Clojure newbies. What I'm really asking for is does the community (anyone) see value in this type of thing, and if so can we create a github repo dedicated to the purpose? It might be useful to go back thru the list archives and read some of the getting started threads that have got us where we are today. We can definitely improve the documentation around Getting Started but gaining consensus on how to do that has not proved easy so far :) -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ World Singles, LLC. -- http://worldsingles.com/ Perfection is the enemy of the good. -- Gustave Flaubert, French realist novelist (1821-1880) -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
So if someone wants to setup the best environment for developing clojure, like serious Java developers who want to make clojure their new home, the community doesn't think having a single page for those people to use to setup their environment, as a good idea? There should be several one stop shops. A single page where someone can go to, to setup their whole system. I'm already maintaining this for emacs/clojure-mode/leiningen, etc... I don't think having this all over the zoo is a great idea, it's a good idea, but should be supplemented by the above. Phil, objects, because he see's the duplication...totally fair comment, but there are different needs, that aren't met by just having lein/clojure-more/marmelade, etc... all in their respective homes. Initially, I asked if posting links to the docs I was writing was socially acceptable, and now I think it is, and will continue to do what I am doing, I think it has a lot of value. Sure it has problems, duplicate data, etc..., but it also has a lot of value too I think. Shall I clone clojure-mode, and update that doc you referenced to have stuff about Leiningen? ...and all the other things...I'm happy to do that. However, I suspect, this argument around: single source of truth, and having fragmented getting started scenario, is a little intractable. I think you have to live with the fact that you'll have somewhere that pulls together single sources of truth to package them in a way that is targetted at certain users. This is a typical problem that constantly crops up all over the place. The best way would be for each section to be function that you referenced and it got included inline, then people could mix and match each section they needed to create documents that were nothing but references back to the single source of truth. However, until we get to a place like that, people are going to opt for copying information (that will go stale). Heck often the single source of truth is out of date! What I'd suggest is that a git repo gets openned for this purpose. Make contributing easy. Until someone in the community does that, I'll tool away at creating docs that I need and I think can benefit others. Should I not post them into the clojure group, because maybe they can confuse people from the official docs? No, I don't think so, but I should reference back to the official docs in my docs. I think that is a reasonable alternative. I know someone suggested I try to keep up the docs that are already in place, but I'm not super comfortable with that. 1 - they are just fragments that I try to understand, and I'm not really the best person to understand and document those things I think. I do better by just putting what little I have succeeded (relatively speaking) down and then having pros like Phil or whoever tell me where I'm doing things wrong/stupidly, like he already did. Thats about all the value I can add at this point. -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
What I'd suggest is that there be a git repo for clojure docs, where things can be brought together like the types of articles i'm writing, but tended by the clojure community. So i wouldn't suggest putting: Getting started with emacs (for clojure) sic. in the clojure-mode repo, but perhaps a git repo, owned by yourself or Rich or something, could be created where you can pull contributions into. Then I could clone that repo, make changes and submit pull requests to you, which you could then reject with comments or approve, and then pull the changes into that repo. Possible? Others c this having value? What are the issues with this approach? On Thursday, June 14, 2012 4:12:10 PM UTC-7, Phil Hagelberg wrote: On Thu, Jun 14, 2012 at 2:09 PM, fenton fenton.trav...@gmail.com wrote I'm not going to give up the wonderful prettiness that github does with a line like: ```clojure (defn myfunc [x] (+ 2 x)) ``` which i can't do with confluence. This group is about a programming language, nice colorizing is really great for documentation. Hmm... while I agree that Confluence is bad for this sort of thing, I don't see the Clojure maintainers changing their mind and accepting pull requests since they've been pretty staunchly opposed to them for ages. However, I would be perfectly happy moving the Getting Started with Emacs tutorial into the clojure-mode repository and changing the Confluence wiki page to point to there. The Getting Started with Leiningen page already points off to Github, and I think we're likely to get higher quality contributions that way. I'll put it on my todo list, but if you're interested in helping a pull request would make it happen more quickly. thanks, Phil -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
On Thu, Jun 14, 2012 at 11:28 PM, fenton fenton.trav...@gmail.com wrote: What I'd suggest is that there be a git repo for clojure docs, where things can be brought together like the types of articles i'm writing, but tended by the clojure community. Phil has streamlined http://dev.clojure.org/display/doc/Getting+Started+with+Emacs and now all the actual documentation is in the clojure-mode repo (and the swank-clojure repo - for SLIME/Swank setup). That means anyone can fork, update and send a pull request. -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ World Singles, LLC. -- http://worldsingles.com/ Perfection is the enemy of the good. -- Gustave Flaubert, French realist novelist (1821-1880) -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
Just saw this thread. I went through something similar recently: I'm a long-time emacs user just getting into Clojure, so naturally I set it up with emacs. I set it up with Leiningen (a 2.0.0 preview version), and while I found it relatively painless, I did have a few problems mostly with Emacs. I think the stuff about getting sidetracked with emacs configuration/package-management is pretty true; it's very easy to get lost in the emacs wilderness, which is much hoarier than Clojure. I also think that, at present, while coming in through Leiningen is definitely the most painless way to do things (I'm really loving it actually, as a Ruby dev it kind of seems like rvm + bundler + rake all wrapped up in one handy package), trying to navigate whether to use 1.x or 2.x preview is a bit confusing--and the variety of docs available for setting things up is confusing. Similarly, it's easy to get lost (as a beginner) between namespace issues with packages and how to set things up properly with Leiningen. It'd be good to have some documentation on that. Getting testing up and running with midje was also a bit of a challenge--I still haven't figured out how to get automated testing going smoothly in emacs with the nice midje stuff Mr. Marick has added, but I'll go back and tackle that some day. At the least, I finally got testing working via lein. And at the danger of digressing wildly, as a beginner namespace and file loading stuff is really hard to wrap my head around, but that could be my own particular weakness. All of that said, maybe I'll take a look at the docs and see if I can add anything constructive, since I've set it up now a few times on Macs. In any case, I'm really loving playing with Clojure. I hope to start sneaking it into some real applications at work this year, and infect some other devs with the Clojure bug... Cheers, Dave D. 2012/6/14 Sean Corfield seancorfi...@gmail.com: On Wed, Jun 13, 2012 at 6:27 PM, fenton fenton.trav...@gmail.com wrote: 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. Which is why the official documentations needs contributions from folks who've gone thru this process recently... It's a bit of a chicken and egg situation: if the current docs aren't good enough, folks go off into the Internet wilderness and try to piece together the experience themselves. And then what they go thru often doesn't even come close to what _should_ be in the official documentation as the simplest solution. And of course we each typically only set up one machine (our own) so we don't have much incentive to repeat the process over and over to refine it for the official documentation. I sympathize with the process you've gone thru. I went thru it too. I created this document for Emacs + Leiningen on Windows - http://corfield.org/articles/emacs_win.html - and I have not publicized it because it's already out of date. And that was the third time I'd been thru the process: first on Mac, then on Ubuntu, then Windows XP. 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. The kind folks on #clojure on IRC ensured I started with a prerelease of Emacs 24 which helped. Emacs 24 is now the current stable version, which makes discovery much easier. 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 Yup, that was my initial complaint. 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? Monolithic Clojure Contrib was deprecated when Clojure 1.3 appeared and is no longer maintained. See http://dev.clojure.org/display/design/Where+Did+Clojure.Contrib+Go 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. Yup. This complaint is very valid and comes up fairly regularly, and each time the official documentation gets a bit better (but it still has a long way to go). I think github is a better place to document this stuff than confluence. The Clojure project uses JIRA / Confluence for issue tracking and documentation - and Github for code. Pull requests are not allowed. See http://clojure.org/contributing and http://clojure.org/patches - also see http://dev.clojure.org/display/doc/Guidelines+for+Clojure+Contrib+committers for the mechanics of getting onboard as a contributor and getting your accounts / permissions set up. We definitely need improvements in the official getting started documentation.
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
On Jun 13, 10:58 pm, Sean Corfield seancorfi...@gmail.com wrote: On Wed, Jun 13, 2012 at 7:45 PM, Sean Corfield seancorfi...@gmail.com wrote: We definitely need improvements in the official getting started documentation. Starting here - http://dev.clojure.org/display/doc/Getting+Started- any specific problems / improvements that folks identify will generally get fixed fairly quickly if they're brought up on this list. There are a couple of list members who are pretty motivated around improving the newbie experience... And of course the official clojure-mode and swank-clojure documentation *is* on Github so fork/update/pull request is the natural workflow there. The information in the comments onhttp://dev.clojure.org/display/doc/Getting+Started+with+Emacsneeds to be folded into the main instructions (and the comments deleted, IMO, since they just add to the noise and confusion). The page should start with links to install the current stable version of Emacs for Windows, Linux, Mac. The latest version of swank-clojure should be referenced (1.4.2). It's difficult to keep wiki docs nice and up-to-date. Writing good (and concise) docs is hard work. Some potential contributors may not want to go through the time to register and send in the CCA (or whatever the confluence wiki requires). Others may not want to take the time to contribute a magnum opus to the wiki because they're not crazy about the idea of someone coming around after them and making sweeping changes to their work. I know I like to keep my own magnum opi sequestered off in my own docs directory (for example, http://www.unexpected-vortices.com/clojure/10-minute-emacs-for-clojure.html ). Wiki's have a tendency to become cluttered and disorganized. Same with individual wiki pages, for that matter. A great strength of wikis is that there's a lot of eyeballs that can (or should be able to) easily fix typos broken-links, update out-of- date links, and so on. IMO: * core docs should be a focused set of .md files that contributors work on by cloning, editing, and sending pull-requests. * wiki docs should be easy to contribute to and should encourage links to outside docs (though, include last-modified dates for those!). Users can sort out which external articles and blog-posts are most useful, which can then bubble to the top, so to speak. Just my 2¢. ---John -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
On Wed, Jun 13, 2012 at 8:01 PM, David Della Costa ddellaco...@gmail.com wrote: I also think that, at present, while coming in through Leiningen is definitely the most painless way to do things (I'm really loving it actually, as a Ruby dev it kind of seems like rvm + bundler + rake all wrapped up in one handy package), trying to navigate whether to use 1.x or 2.x preview is a bit confusing--and the variety of docs available for setting things up is confusing. Yeah, as of the last release we're pretty much advising everyone to go with 2.x, but the docs still need to be updated to reflect that. What are some of the confusing docs you mention? Most people have said the install process is pretty simple. Similarly, it's easy to get lost (as a beginner) between namespace issues with packages and how to set things up properly with Leiningen. It'd be good to have some documentation on that. Maybe if the Leiningen tutorial linked to http://blog.8thlight.com/colin-jones/2010/12/05/clojure-libs-and-namespaces-require-use-import-and-ns.html? All of that said, maybe I'll take a look at the docs and see if I can add anything constructive, since I've set it up now a few times on Macs. That would be great; thanks. We could also use some help improving http://leiningen.org; it's pretty messy right now. -Phil -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
I like the idea of taking care of copyright properly, thanks Sean for the links to those pages. I think the black and white split, docs = confluence, code = github, is not so good. I think John's point about the *.md files being a very good place for documentation. I think the right way to do the documentation is like this: 1 - github with *.md. 2 - take care of copyright like you are now. 3 - have a trusted person be the owner of the repo...Phil/Sean or someone else like that. 4 - let folks clone, edit and then send pull requests back to the site owner. my personal approach would be to give commit access to whoever seemed reasonable, though I know that freaks some people out. I'm not going to give up the wonderful prettiness that github does with a line like: ```clojure (defn myfunc [x] (+ 2 x)) ``` which i can't do with confluence. This group is about a programming language, nice colorizing is really great for documentation. I think having directed tutorials one for each of mac/linux/windows. Then these tutorials should go start to finish with the canonical implementation for that platform. Yes emacs is very weird for newbies, but most clojurians use it. There are reasons why they use it, and as long as we can have good docs around these things, then its okay. It's like standardization. I can sympathize with the concept of only teaching one thing at a time. I totally agree with that. But I also am not a big fan of teaching people something that they'd then throw away. If anyone wants commit permissions to my repo, just send me your github name, and I'll add u. I'd prefer that the clojure community took up some documentation inside of github with *.md files and that repo used instead, obviously tho. Cheers. On Thursday, June 14, 2012 10:31:44 AM UTC-7, Phil Hagelberg wrote: On Wed, Jun 13, 2012 at 8:01 PM, David Della Costa ddellaco...@gmail.com wrote: I also think that, at present, while coming in through Leiningen is definitely the most painless way to do things (I'm really loving it actually, as a Ruby dev it kind of seems like rvm + bundler + rake all wrapped up in one handy package), trying to navigate whether to use 1.x or 2.x preview is a bit confusing--and the variety of docs available for setting things up is confusing. Yeah, as of the last release we're pretty much advising everyone to go with 2.x, but the docs still need to be updated to reflect that. What are some of the confusing docs you mention? Most people have said the install process is pretty simple. Similarly, it's easy to get lost (as a beginner) between namespace issues with packages and how to set things up properly with Leiningen. It'd be good to have some documentation on that. Maybe if the Leiningen tutorial linked to http://blog.8thlight.com/colin-jones/2010/12/05/clojure-libs-and-namespaces-require-use-import-and-ns.html? All of that said, maybe I'll take a look at the docs and see if I can add anything constructive, since I've set it up now a few times on Macs. That would be great; thanks. We could also use some help improving http://leiningen.org; it's pretty messy right now. -Phil -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
On Thu, Jun 14, 2012 at 2:09 PM, fenton fenton.trav...@gmail.com wrote I'm not going to give up the wonderful prettiness that github does with a line like: ```clojure (defn myfunc [x] (+ 2 x)) ``` which i can't do with confluence. This group is about a programming language, nice colorizing is really great for documentation. Hmm... while I agree that Confluence is bad for this sort of thing, I don't see the Clojure maintainers changing their mind and accepting pull requests since they've been pretty staunchly opposed to them for ages. However, I would be perfectly happy moving the Getting Started with Emacs tutorial into the clojure-mode repository and changing the Confluence wiki page to point to there. The Getting Started with Leiningen page already points off to Github, and I think we're likely to get higher quality contributions that way. I'll put it on my todo list, but if you're interested in helping a pull request would make it happen more quickly. thanks, Phil -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
On Thu, Jun 14, 2012 at 10:31:44AM -0700, Phil Hagelberg wrote: On Wed, Jun 13, 2012 at 8:01 PM, David Della Costa ddellaco...@gmail.com wrote: Similarly, it's easy to get lost (as a beginner) between namespace issues with packages and how to set things up properly with Leiningen. It'd be good to have some documentation on that. Maybe if the Leiningen tutorial linked to http://blog.8thlight.com/colin-jones/2010/12/05/clojure-libs-and-namespaces-require-use-import-and-ns.html? I'm new to SLIME and spent about a day before I figured out C-x M-p to switch namespaces within a project. Tim -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
Yes emacs is very weird for newbies, but most clojurians use it. I tend to think this is an unnecessary barrier for entry - yes, people would be more productive in the long run using emacs, but it has it's own big learning curve, and is definitely not necessary to get started in clojure. It's great to have comprehensive instructions for people who want the full power of emacs - but we should also make sure there are clear getting started instructions for people who are happy with a smart text editor and a repl. - Korny On 15 June 2012 07:09, fenton fenton.trav...@gmail.com wrote: I like the idea of taking care of copyright properly, thanks Sean for the links to those pages. I think the black and white split, docs = confluence, code = github, is not so good. I think John's point about the *.md files being a very good place for documentation. I think the right way to do the documentation is like this: 1 - github with *.md. 2 - take care of copyright like you are now. 3 - have a trusted person be the owner of the repo...Phil/Sean or someone else like that. 4 - let folks clone, edit and then send pull requests back to the site owner. my personal approach would be to give commit access to whoever seemed reasonable, though I know that freaks some people out. I'm not going to give up the wonderful prettiness that github does with a line like: ```clojure (defn myfunc [x] (+ 2 x)) ``` which i can't do with confluence. This group is about a programming language, nice colorizing is really great for documentation. I think having directed tutorials one for each of mac/linux/windows. Then these tutorials should go start to finish with the canonical implementation for that platform. Yes emacs is very weird for newbies, but most clojurians use it. There are reasons why they use it, and as long as we can have good docs around these things, then its okay. It's like standardization. I can sympathize with the concept of only teaching one thing at a time. I totally agree with that. But I also am not a big fan of teaching people something that they'd then throw away. If anyone wants commit permissions to my repo, just send me your github name, and I'll add u. I'd prefer that the clojure community took up some documentation inside of github with *.md files and that repo used instead, obviously tho. Cheers. On Thursday, June 14, 2012 10:31:44 AM UTC-7, Phil Hagelberg wrote: On Wed, Jun 13, 2012 at 8:01 PM, David Della Costa ddellaco...@gmail.com wrote: I also think that, at present, while coming in through Leiningen is definitely the most painless way to do things (I'm really loving it actually, as a Ruby dev it kind of seems like rvm + bundler + rake all wrapped up in one handy package), trying to navigate whether to use 1.x or 2.x preview is a bit confusing--and the variety of docs available for setting things up is confusing. Yeah, as of the last release we're pretty much advising everyone to go with 2.x, but the docs still need to be updated to reflect that. What are some of the confusing docs you mention? Most people have said the install process is pretty simple. Similarly, it's easy to get lost (as a beginner) between namespace issues with packages and how to set things up properly with Leiningen. It'd be good to have some documentation on that. Maybe if the Leiningen tutorial linked to http://blog.8thlight.com/**colin-jones/2010/12/05/** clojure-libs-and-namespaces-**require-use-import-and-ns.htmlhttp://blog.8thlight.com/colin-jones/2010/12/05/clojure-libs-and-namespaces-require-use-import-and-ns.html **? All of that said, maybe I'll take a look at the docs and see if I can add anything constructive, since I've set it up now a few times on Macs. That would be great; thanks. We could also use some help improving http://leiningen.org; it's pretty messy right now. -Phil -- 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 -- Kornelis Sietsma korny at my surname dot com http://korny.info We do not quit playing because we grow old, we grow old because we quit playing - O.W. Holmes -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
On Thu, Jun 14, 2012 at 6:52 PM, Korny Sietsma ko...@sietsma.com wrote: It's great to have comprehensive instructions for people who want the full power of emacs - but we should also make sure there are clear getting started instructions for people who are happy with a smart text editor and a repl. And the Getting Started page suggests that: http://dev.clojure.org/display/doc/Getting+Started -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ World Singles, LLC. -- http://worldsingles.com/ Perfection is the enemy of the good. -- Gustave Flaubert, French realist novelist (1821-1880) -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
Hey Phil, thanks for the response. trying to navigate whether to use 1.x or 2.x preview is a bit confusing--and the variety of docs available for setting things up is confusing. Yeah, as of the last release we're pretty much advising everyone to go with 2.x, but the docs still need to be updated to reflect that. What are some of the confusing docs you mention? Most people have said the install process is pretty simple. To be fair, I probably had problems based on how I am used to using github rather than any failure of the docs. The actual process is simple, you are right. I was trying to set up 2.0.0 preview but the docs focus(ed) on the 1.x version, and it wasn't quite clear how that worked at the time I set it up (a few weeks ago)--the link wasn't obvious, and when pulling from git I wasn't sure what version I was getting. And in any case I see that someone updated the Leiningen readme on github to promote 2.x first and foremost since last time I checked: nice. That should help if anyone has confusion similar to mine, so this is probably moot. The variety of docs just refers to all the random tutorials out there if you do a Google search. Again, not really fair to compare to the official Leiningen docs, which are pretty helpful. More generally, I think a certain amount of this is unavoidable; newbs will always be confused, there will always be a variety of conflicting third-party tutorials available for any framework, and transitioning from one major version to the next is always painful. So I expect this will smooth out as the community continues to grow and get more folks coming in. Similarly, it's easy to get lost (as a beginner) between namespace issues with packages and how to set things up properly with Leiningen. It'd be good to have some documentation on that. Maybe if the Leiningen tutorial linked to http://blog.8thlight.com/colin-jones/2010/12/05/clojure-libs-and-namespaces-require-use-import-and-ns.html? Warning, digression: you know, I read that, and I still find the differences between use and require confusing. I have to go back and re-read it, and practice more. But, for example, I had trouble figuring out how to include new directories so that midje test files were picked up in my lein projects, with properly named namespaces. There is probably a smart and Clojure-esque way to handle all of this. But I found it hard to figure out at first, and I think I'm still not doing it right--I'm using the load-file function, which doesn't really have anything to do with namespaces. Again, I apologize, I know that was a digression. In fact, I like slogging through things and figuring out the best practices in somewhat indirect ways, getting that aha moment when something I read a month ago finally clicks, like I expect Mr. Jones' article to do at some point. But I also realize not everyone has that level of patience...or perhaps more accurately, masochism. All of that said, maybe I'll take a look at the docs and see if I can add anything constructive, since I've set it up now a few times on Macs. That would be great; thanks. We could also use some help improving http://leiningen.org; it's pretty messy right now. Cool, I'll see what I can contribute! -Phil -- 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 -- 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
A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
On Wed, Jun 13, 2012 at 12:33 PM, fenton fenton.trav...@gmail.com wrote: https://github.com/ftravers/PublicDocumentation/blob/master/clojure-development-setup.md Have you considered evaluating the official documentation and improving it so that effort goes to a place in which it can be updated by others in the future? -Phil -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
Sure would love to. Could you point me to the right location? Here: http://clojuredocs.org/ ? or here: http://en.wikibooks.org/wiki/Clojure_Programming ? or somewhere else? On Wednesday, June 13, 2012 1:13:20 PM UTC-7, Phil Hagelberg wrote: On Wed, Jun 13, 2012 at 12:33 PM, fenton wrote: https://github.com/ftravers/PublicDocumentation/blob/master/clojure-development-setup.md Have you considered evaluating the official documentation and improving it so that effort goes to a place in which it can be updated by others in the future? -Phil -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
Or likely you mean here: http://dev.clojure.org/display/doc/Getting+Started+with+Emacs I'm not sure I can edit this page??? Seems to only leave comments there. 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 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
On Wed, Jun 13, 2012 at 1:58 PM, fenton fenton.trav...@gmail.com wrote: Or likely you mean here: http://dev.clojure.org/display/doc/Getting+Started+with+Emacs I'm not sure I can edit this page??? Seems to only leave comments there. I think that's the best place for an overview. Unfortunately edits are restricted to people who have mailed in a Contributors Agreement. Documentation for each individual piece should go in the appropriate project: rather than explain how to install Leiningen it would be better to link to its documentation so it can be updated for consistency when things change. For instance, your document doesn't mention Leiningen 2, encourages the use of monolithic contrib, and says that Emacs 24 hasn't been released yet. The exception here is the documentation for Emacs itself; it's a very slow-moving project with a lot of political baggage, which is why general how to use a 3rd-party package source stuff is currently on the Confluence wiki. I'm not exactly sure how I should contribute. Identifying what it is you found lacking in the official docs would be a great place to start. Pointing people to the official dev.clojure.org docs also helps. -Phil -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
how about add something about auto completion, it's pretty useful for working around large project or java interop. On Thu, Jun 14, 2012 at 9:27 AM, fenton fenton.trav...@gmail.com wrote: 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.mdhttps://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.mdhttps://github.com/ftravers/PublicDocumentation/blob/master/clojure-index.md -- You received this message because you are subscribed to the
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
On Wed, Jun 13, 2012 at 6:27 PM, fenton fenton.trav...@gmail.com wrote: 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. rlwrap is actually only needed for lein1, and if you try to use lein1 without it, it will warn you and tell you that you should install it when you run it. 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. The first thing on the dev.clojure.org Emacs page is a link to clojure-mode that has all these steps in the readme. I've reported an issue with the Marmalade maintainer about the misleading instructions on his site, (http://code.google.com/p/marmalade/issues/detail?id=20) but so far that has been ignored, so this is one place where the working instructions can't be kept in the canonical place. 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. If you had to do `lein deps` at this point that would be a bug in Leiningen; it should never be necessary to run that manually. If this is reproducible can you report it in the issue tracker? 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. This is another place where people are often mislead by out-of-date documentation. The official docs have the story: http://dev.clojure.org/display/design/Where+Did+Clojure.Contrib+Go 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. It's also very important not to get people sidetracked into learning Emacs when they want to learn Clojure. People who know their way around Emacs can generally figure out how to install packages, but people who want to learn Clojure need to focus on that and only learn one thing at a time. I think github is a better place to document this stuff than confluence. Confluence just doesn't have the prettifying abilities of github. I agree with this; Confluence is not very good. However, having documentation under the *.clojure.org umbrella makes it much more likely to be found. 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. :) I appreciate that you're trying to help. It's just that if you hang around enough in IRC you find a lot of confused newcomers who are following out of date information they read on a blog somewhere that made perfect sense a year ago but is just misleading now. I think a lot of the pain will be reduced now that Emacs 24 is out, but if there are other places where the docs need improvement let's focus on that. It sounds like CDT is one of those places? I don't use it myself, but the Swank readme probably needs more detailed coverage of it. -Phil -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
On Wed, Jun 13, 2012 at 6:27 PM, fenton fenton.trav...@gmail.com wrote: 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. Which is why the official documentations needs contributions from folks who've gone thru this process recently... It's a bit of a chicken and egg situation: if the current docs aren't good enough, folks go off into the Internet wilderness and try to piece together the experience themselves. And then what they go thru often doesn't even come close to what _should_ be in the official documentation as the simplest solution. And of course we each typically only set up one machine (our own) so we don't have much incentive to repeat the process over and over to refine it for the official documentation. I sympathize with the process you've gone thru. I went thru it too. I created this document for Emacs + Leiningen on Windows - http://corfield.org/articles/emacs_win.html - and I have not publicized it because it's already out of date. And that was the third time I'd been thru the process: first on Mac, then on Ubuntu, then Windows XP. 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. The kind folks on #clojure on IRC ensured I started with a prerelease of Emacs 24 which helped. Emacs 24 is now the current stable version, which makes discovery much easier. 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 Yup, that was my initial complaint. 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? Monolithic Clojure Contrib was deprecated when Clojure 1.3 appeared and is no longer maintained. See http://dev.clojure.org/display/design/Where+Did+Clojure.Contrib+Go 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. Yup. This complaint is very valid and comes up fairly regularly, and each time the official documentation gets a bit better (but it still has a long way to go). I think github is a better place to document this stuff than confluence. The Clojure project uses JIRA / Confluence for issue tracking and documentation - and Github for code. Pull requests are not allowed. See http://clojure.org/contributing and http://clojure.org/patches - also see http://dev.clojure.org/display/doc/Guidelines+for+Clojure+Contrib+committers for the mechanics of getting onboard as a contributor and getting your accounts / permissions set up. We definitely need improvements in the official getting started documentation. Starting here - http://dev.clojure.org/display/doc/Getting+Started - any specific problems / improvements that folks identify will generally get fixed fairly quickly if they're brought up on this list. There are a couple of list members who are pretty motivated around improving the newbie experience... -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ World Singles, LLC. -- http://worldsingles.com/ Perfection is the enemy of the good. -- Gustave Flaubert, French realist novelist (1821-1880) -- 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
Re: A tutorial for how to setup your clojure development environment for: Emacs, Leiningen and Linux.
On Wed, Jun 13, 2012 at 7:45 PM, Sean Corfield seancorfi...@gmail.com wrote: We definitely need improvements in the official getting started documentation. Starting here - http://dev.clojure.org/display/doc/Getting+Started - any specific problems / improvements that folks identify will generally get fixed fairly quickly if they're brought up on this list. There are a couple of list members who are pretty motivated around improving the newbie experience... And of course the official clojure-mode and swank-clojure documentation *is* on Github so fork/update/pull request is the natural workflow there. The information in the comments on http://dev.clojure.org/display/doc/Getting+Started+with+Emacs needs to be folded into the main instructions (and the comments deleted, IMO, since they just add to the noise and confusion). The page should start with links to install the current stable version of Emacs for Windows, Linux, Mac. The latest version of swank-clojure should be referenced (1.4.2). The Getting Started with Leiningen page should be updated to cover Windows and Linux/Mac separately (and therefore deal with wget/curl on Windows etc, if that's still needed with lein2?). Part of the frustration stems from it being a bit of a link chase because there's no one page setup and part stems from various choices being offered as mostly equal (SLIME vs inferior-lisp; manual package.el install vs Marmalade; etc). It's all gradually getting better but newbies are generally the only folks who can provide the right feedback and they're usually too early in the Clojure adoption cycle to know how / where to provide that feedback (and often they're not sure what the docs should say, only that they got into a mess by following them). -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ World Singles, LLC. -- http://worldsingles.com/ Perfection is the enemy of the good. -- Gustave Flaubert, French realist novelist (1821-1880) -- 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