Re: Reading clojure code of larger domain specific projects
Thanks, that sound good! I'll have a look at the clojars project and yours once it is in the right state for that. On 10 Mai, 18:04, Paul deGrandis paul.degran...@gmail.com wrote: I'm also working on a project to augment clojars called clopi (Clojure Package Index), that will let you filter results based on project metrics (for example, line count), project activity, etc. It also displays the dependency information (the default rank score for searching), allowing you mostly to answer the question Which library should I choose? but also can help you find possible business applications (edge/external-nodes in the graph, ie: projects which nothing else depend upon). I'll ping you when it's live. Paul -- 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: Reading clojure code of larger domain specific projects
You might want to take a look at the clojars project: https://github.com/ato/clojars-web It's not quite to the scale you're looking for, but it's a start. Also keep in mind that a lot of business apps in Clojure look more like libraries (for a specific domain problem) than applications, so looking at large libraries might not be a bad substitute. I'm also working on a project to augment clojars called clopi (Clojure Package Index), that will let you filter results based on project metrics (for example, line count), project activity, etc. It also displays the dependency information (the default rank score for searching), allowing you mostly to answer the question Which library should I choose? but also can help you find possible business applications (edge/external-nodes in the graph, ie: projects which nothing else depend upon). I'll ping you when it's live. Paul On May 9, 8:32 pm, Christian Schuhegger christian.schuheg...@gmail.com wrote: Many thanks for all of your contributions so far! I definitely will (and already have to some extent) go through the recommended links. One additional project I came across that looks interesting is midje:https://github.com/marick/Midje/wiki I see the point of having a forum to discuss best solutions, but that is a different matter from what I am talking about. Code looks different if you look at some lines of code or if you look at projects that have a relevant size (more than 100k lines of code) and where more than 10 people have worked on over an extended period of time. In addition the reason for looking for a project that is less technical and more domain specific is that typically developers have a very good understanding of how a technical solution should look like. They have the requirements already in their heads, because they are the final audience, the end-users. In a domain specific project the requirements come from outside and the business domain is typically not clear from the start. The project has to develop ways on how to deal with the evolution of the understanding/insight into the problem domain. You get a balanced view across different styles by looking at several projects of relevant size. Different teams find different solutions to similar problems. Projects that are not open-source but would seem to fall in the category that I am looking for are FlightCaster and TheDeadline:http://www.infoq.com/articles/deadline-clojure-appengine Do you know of any projects of that type that are open-source to be able to analyse the code? Many thanks! Christian -- 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: Reading clojure code of larger domain specific projects
On May 9, 2:21 am, Christian Schuhegger christian.schuheg...@gmail.com wrote: Hello list, I have a question that perhaps may be relevant for more people. I strongly believe that reading code of other people is an undervalued discipline of all developers. Typically it just happens as a side effect of working in a project with other people. Like that a style of development evolves in a programming language community. You may think of projects written by other people what you like (well done, poorly done), but I believe that it is always beneficial to read code written by other people. I've done that in C++ and Java quite a bit (ACE framework, TAO orb, STLport, Java Swing libraries, Java Spring libraries, Apache Commons libraries, JBoss SEAM, ...). I am writing programs in Common Lisp since 1995, but up to now I never worked in Lisp projects with more than me being involved. There are definitely many well written Lisp projects out there and books like PAIP may definitely help, too, but I was wondering if there are any larger domain specific open-source projects written in Clojure out there that you would recommend for reading as some sort of best practice guide? I was thinking about leiningen or cake, but I would prefer projects that are closer to fulfilling a business purpose than a technical purpose like a build system. If the project then also would have a good documentation then that would be perfect :) Any suggestions from your side? I have been thinking for while that it would be great to have something equivalent to book clubs for reading code. A group could meet weekly, all having read the same moderate-sized project, and discuss. I wonder if this could be made to work as a web-app, where you can sign up, state your areas of interest, and have a weekly reading assignment emailed. Then you could meet on IRC or something. Just a thought. Having said that, I don't have any specific suggestions for you, but I'm also interested in seeing what answers you get. - Chris Perkins -- 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: Reading clojure code of larger domain specific projects
I'm interested! The clojure source code is a pretty good read, hehe Jonathan https://github.com/clojure/clojure/tree/master/src/clj/clojure On Mon, May 9, 2011 at 12:24 PM, Chris Perkins chrisperkin...@gmail.comwrote: On May 9, 2:21 am, Christian Schuhegger christian.schuheg...@gmail.com wrote: Hello list, I have a question that perhaps may be relevant for more people. I strongly believe that reading code of other people is an undervalued discipline of all developers. Typically it just happens as a side effect of working in a project with other people. Like that a style of development evolves in a programming language community. You may think of projects written by other people what you like (well done, poorly done), but I believe that it is always beneficial to read code written by other people. I've done that in C++ and Java quite a bit (ACE framework, TAO orb, STLport, Java Swing libraries, Java Spring libraries, Apache Commons libraries, JBoss SEAM, ...). I am writing programs in Common Lisp since 1995, but up to now I never worked in Lisp projects with more than me being involved. There are definitely many well written Lisp projects out there and books like PAIP may definitely help, too, but I was wondering if there are any larger domain specific open-source projects written in Clojure out there that you would recommend for reading as some sort of best practice guide? I was thinking about leiningen or cake, but I would prefer projects that are closer to fulfilling a business purpose than a technical purpose like a build system. If the project then also would have a good documentation then that would be perfect :) Any suggestions from your side? I have been thinking for while that it would be great to have something equivalent to book clubs for reading code. A group could meet weekly, all having read the same moderate-sized project, and discuss. I wonder if this could be made to work as a web-app, where you can sign up, state your areas of interest, and have a weekly reading assignment emailed. Then you could meet on IRC or something. Just a thought. Having said that, I don't have any specific suggestions for you, but I'm also interested in seeing what answers you get. - Chris Perkins -- 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: Reading clojure code of larger domain specific projects
Hi, Am 09.05.2011 um 17:36 schrieb Jonathan Fischer Friberg: I'm interested! The clojure source code is a pretty good read, hehe Jonathan https://github.com/clojure/clojure/tree/master/src/clj/clojure Although the code in the preamble of core there is explicitly *not* recommended to be taken as example for “good” code. http://dev.clojure.org/display/design/Library+Coding+Standards Sincerely Meikel -- 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: Reading clojure code of larger domain specific projects
compojure is often put forward as an example of good idiomatic clojure code: https://github.com/weavejester/compojure On Mon, May 9, 2011 at 10:55 AM, Meikel Brandmeyer m...@kotka.de wrote: Hi, Am 09.05.2011 um 17:36 schrieb Jonathan Fischer Friberg: I'm interested! The clojure source code is a pretty good read, hehe Jonathan https://github.com/clojure/clojure/tree/master/src/clj/clojure Although the code in the preamble of core there is explicitly *not* recommended to be taken as example for “good” code. http://dev.clojure.org/display/design/Library+Coding+Standards Sincerely Meikel -- 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: Reading clojure code of larger domain specific projects
The code is somewhat out-of-date by now (pre-1.0 Clojure) but I wrote much of AltLaw.org in Clojure: https://github.com/stuartsierra/altlaw-template https://github.com/stuartsierra/altlaw-clojure-restlet https://github.com/stuartsierra/altlaw-crawler https://github.com/stuartsierra/altlaw-backend -Stuart Sierra clojure.com -- 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: Reading clojure code of larger domain specific projects
I really like the code in Stuart Sierra's lazytest: https://github.com/stuartsierra/lazytest/tree/master/modules/lazytest/src/main/clojure/lazytest The code in Enlive is also a really great read: https://github.com/cgrand/enlive I also would recommend going through compojure. Pau On May 9, 10:44 am, Stuart Sierra the.stuart.sie...@gmail.com wrote: The code is somewhat out-of-date by now (pre-1.0 Clojure) but I wrote much of AltLaw.org in Clojure: https://github.com/stuartsierra/altlaw-templatehttps://github.com/stuartsierra/altlaw-clojure-restlethttps://github.com/stuartsierra/altlaw-crawlerhttps://github.com/stuartsierra/altlaw-backend -Stuart Sierra clojure.com -- 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: Reading clojure code of larger domain specific projects
On Mon, May 9, 2011 at 6:06 PM, Paul deGrandis paul.degran...@gmail.com wrote: I really like the code in Stuart Sierra's lazytest: https://github.com/stuartsierra/lazytest/tree/master/modules/lazytest/src/main/clojure/lazytest The code in Enlive is also a really great read: https://github.com/cgrand/enlive I also would recommend going through compojure. It can be instructive to read code posted to this list, too -- as long as you also read any criticisms of that code. Though a lot of it isn't domain-specific, but general example and algorithm code. Much of it helps get a grasp on how to do certain kinds of data processing in Clojure's functional paradigm, though, and using its collection types. -- 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: Reading clojure code of larger domain specific projects
On Mon, 9 May 2011 03:24:44 -0700 (PDT) Chris Perkins chrisperkin...@gmail.com wrote: I have been thinking for while that it would be great to have something equivalent to book clubs for reading code. A group could meet weekly, all having read the same moderate-sized project, and discuss. I wonder if this could be made to work as a web-app, where you can sign up, state your areas of interest, and have a weekly reading assignment emailed. Then you could meet on IRC or something. Just a thought. I've been thinking about a similar thing. Lists for beginners at a language include frequent requests to evaluate my code. I've been wondering if there would be any interest in a forum where you could post a bit of code and let others comment on it. It'd need some way of picking a language (specific forums? A tag on the post?). One thing that happens to such posts is they turn into threads of best way to solve this problem - where best varies by author. Similarly, programming problem set sites are popular. So maybe an option for How would I do this might be useful. mike -- Mike Meyer m...@mired.org http://www.mired.org/ Independent Software developer/SCM consultant, email for more information. O ascii ribbon campaign - stop html mail - www.asciiribbon.org -- 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: Reading clojure code of larger domain specific projects
On Mon, May 9, 2011 at 6:43 PM, Mike Meyer m...@mired.org wrote: One thing that happens to such posts is they turn into threads of best way to solve this problem - where best varies by author. I'm not sure if you intended this as a criticism of the idea, or if you are thinking the same thing I am, but I'd like to point out that that can be a good thing. The varied approaches may be more instructive than just one, particularly when optimized with different criteria, and tradeoffs may end up illustrated among things like speed, memory use, clarity/style of the code, avoidance of mutation/threadsafety, and other considerations. As long as things don't get out of hand with arguments about the one true way (if necessary, moderate the forum to squelch such tangents), such alternative points of view should be encouraged. Of course, for Clojure code specifically we already get a fair amount of traffic in this list that fits this pattern -- though it is mixed in with other traffic, from announcements of new library versions to debates on the design of Clojure itself to questions about getting emacs/vimclojure/counterclockwise up and running and more. -- 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: Reading clojure code of larger domain specific projects
Many thanks for all of your contributions so far! I definitely will (and already have to some extent) go through the recommended links. One additional project I came across that looks interesting is midje: https://github.com/marick/Midje/wiki I see the point of having a forum to discuss best solutions, but that is a different matter from what I am talking about. Code looks different if you look at some lines of code or if you look at projects that have a relevant size (more than 100k lines of code) and where more than 10 people have worked on over an extended period of time. In addition the reason for looking for a project that is less technical and more domain specific is that typically developers have a very good understanding of how a technical solution should look like. They have the requirements already in their heads, because they are the final audience, the end-users. In a domain specific project the requirements come from outside and the business domain is typically not clear from the start. The project has to develop ways on how to deal with the evolution of the understanding/insight into the problem domain. You get a balanced view across different styles by looking at several projects of relevant size. Different teams find different solutions to similar problems. Projects that are not open-source but would seem to fall in the category that I am looking for are FlightCaster and TheDeadline: http://www.infoq.com/articles/deadline-clojure-appengine Do you know of any projects of that type that are open-source to be able to analyse the code? Many thanks! Christian -- 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