Re: Reading clojure code of larger domain specific projects

2011-05-11 Thread Christian Schuhegger
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

2011-05-10 Thread Paul deGrandis
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

2011-05-09 Thread Chris Perkins
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

2011-05-09 Thread 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

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

2011-05-09 Thread Meikel Brandmeyer
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

2011-05-09 Thread gaz jones
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

2011-05-09 Thread Stuart Sierra
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

2011-05-09 Thread Paul deGrandis
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

2011-05-09 Thread Ken Wesson
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

2011-05-09 Thread Mike Meyer
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

2011-05-09 Thread Ken Wesson
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

2011-05-09 Thread Christian Schuhegger
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