Re: newbie seq question

2014-04-13 Thread François Rey

On 13/04/14 02:21, Stephen Feyrer wrote:


// Get the java file io library
(import '(java.io http://java.io File))

// Get some files
(def f (File. /My/files/))

(def fs (file-seq f))

// Filters for suffixes .mp3
(def get-mp3 (filter #(.endsWith (.getName %) .mp3) fs))

// Get the path of one mp3
(println (take 1 get-mp3))

This code is gathered from various unrelated Clojure forum posts.  The 
resultant collection, I must admit defeats my understanding.



My first question is the println statement returns (#File 
/My/files/path/to/Some of/My Music Collection.mp3), would someone 
explain this data structure for me, bearing in mind that white spaces 
and commas are synonymous.

It's not a data structure, it's just the way clojure prints out java object:

   user= f
   #File /My/files


In the REPL Clojure tries to print out readable output, meaning 
something that can be read again by the reader as input:


   user= (def a '(1 2 3))
   #'user/a
   user= #'user/a
   #'user/a
   user= (var a)
   #'user/a
   user= map
   #core$map clojure.core$map@23130c0a

In the case of object instances, it cannot be printed into such readable 
form, so it uses the # to indicate this is unreadable:


   user= #File /tmp

   clojure.lang.LispReader$ReaderException: java.lang.RuntimeException:
   Unreadable form
 java.lang.RuntimeException: Unreadable form

See also the answer to this stackoverflow question:
http://stackoverflow.com/questions/17263929/clojure-read-string-on-functions

If you want to know more about reader macros:
http://en.wikibooks.org/wiki/Learning_Clojure/Reader_Macros

There's also this chapter from an online beginner's book I recommend 
(you may want to read the stuff before):

http://www.braveclojure.com/read-and-eval/


Please note, while I have programmed a little in the past this does 
not prevent me from asking dumb questions.  Thus finally, if this is 
not the appropriate place for this sort question could you point me in 
the right direction?

You're perfectly fine here, newbies welcome.
In fact your question is about something that isn't much talked or 
written about in clojure.


HTH

--
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Data Literals: How to handle read errors?

2014-04-13 Thread Thomas Heller
Hey there,

I upgraded to JDK8 and wanted to start using the new java.time.* packages. 
I started by implementing reader functions to get rid of #inst like:

#time/local-date [2014 4 13]
#time/local-datetime [2014 4 13 14 23]

While that works fine and as expected, one thing I ran into is confusing 
error messages.

For example, from a REPL:

user= (pr-str #time/local-datetime [2014 4 1 0 0 2 999])

DateTimeException Invalid value for NanoOfSecond (valid values 0 - 
9): 1215752191  java.time.temporal.ValueRange.checkValidValue 
(ValueRange.java:311)
RuntimeException Unmatched delimiter: )  clojure.lang.Util.runtimeException 
(Util.java:221)

Or another one:

user= (pr-str #time/local-date [2014 4 31])

DateTimeException Invalid date 'APRIL 31'  java.time.LocalDate.create 
(LocalDate.java:431)
RuntimeException Unmatched delimiter: )  clojure.lang.Util.runtimeException 
(Util.java:221)


The first part is what I expected, however the Unmatched delimiter part 
is not what I expected. Is there any special exception I should be throwing 
in a reader function that read something that can never be correct? Also 
why do I need print-dup?

Nothing serious, just curious if its a bug or an oversight on my part.

Regards,
/thomas



PS: Clojure 1.6.0 btw

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Puppet Labs and Trapperkeeper

2014-04-13 Thread Brendan Younger
I just saw that there's a library called 
TrapperKeeper https://github.com/puppetlabs/trapperkeeper from the folks at 
Puppet Labs.  It looks to be a more opinionated and complete version of 
Stuart Sierra's Component 
library https://github.com/stuartsierra/component, in that it explicitly 
pays attention to things like logging configuration and JBoss support.

Brendan Younger

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[ANN] Cadejo, A MIDI management tool for Overtone

2014-04-13 Thread Steven Jones
Hi everyone,

I have just released Cadejo, a MIDI management tool for Overtone.
It forms an infrastructure which defines how MIDI devices communicate with
Overtone instruments. The release also includes 4 full-featured
instruments.

1) ALGO, an 8-operator FM synth
2) Alias, a subtractive synth with extensive modulation possibilities
3) MASA, an organ loosely based on the Hammond B3
4) Combo, a simpler organ primarily used for illustration.

All instruments have program banks with a few pre-defined patches
accessible by MIDI program change. MIDI program 127 generates random patch
data. 

Cadejo supports all MIDI channel messages with the exception of polyphonic
after-touch.  Some of it's feature are:

- Keyboard layering and split points
- Tuning tables for alternate intonation.
- Velocity, pressure and controller mapping functions.
- Separate poly and monophonic response modes. 
- Program banks with the ability to execute arbitrary Clojure functions 
  in response to MIDI program change events. 

An introductory video may be viewed at
https://www.youtube.com/watch?v=GgXCAMs2EQY

The project may be found on git hub at 
https://github.com/plewto/Cadejo/


Thanks

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Data Literals: How to handle read errors?

2014-04-13 Thread Stephen Gilardi

On Apr 13, 2014, at 8:31 AM, Thomas Heller th.hel...@gmail.com wrote:

 [...] confusing error messages.
 
 user= (pr-str #time/local-datetime [2014 4 1 0 0 2 999])
 
 [...]
 RuntimeException Unmatched delimiter: )  clojure.lang.Util.runtimeException 
 (Util.java:221)

Using default #inst reader gives the same behavior.

This is an artifact of how the repl currently works. Its input is a stream of 
characters to which it applies the read, eval, and print operations in a loop. 
There is prompt-handling code in the repl that makes it feel turn oriented in 
most cases, but this case isn't handled. It does not currently implement on 
exception in read, flush the rest of the pending user input and re-prompt.

Here's an example with a vanilla clojure 1.6.0 (java -jar the clojure 
1.6.0.jar) that may clarify what's going on:

user= (println 1 2 3 #inst 4 5 6 7 8 9)
RuntimeException Unrecognized date/time syntax: 4  
clojure.instant/fn--6236/fn--6237 (instant.clj:118)
5
6
7
8
9
RuntimeException Unmatched delimiter: )  clojure.lang.Util.runtimeException 
(Util.java:221)

The start of the list (println 1 2 3 reads fine, then the #inst read throws 
an exception. After the exception, the repl starts working on the remainder of 
the input characters as if it were fresh user input. It sees integers and 
prints them. When it hits ), there's no corresponding ( pending, so it 
throws again.

--Steve

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Data Literals: How to handle read errors?

2014-04-13 Thread Thomas Heller
Ah, didn't even think about the REPL causing trouble here.

Thanks.

On Sunday, April 13, 2014 5:30:09 PM UTC+2, squeegee wrote:


 On Apr 13, 2014, at 8:31 AM, Thomas Heller th.h...@gmail.comjavascript: 
 wrote:

 […] confusing error messages.

 user= (pr-str #time/local-datetime [2014 4 1 0 0 2 999])

 […]

 RuntimeException Unmatched delimiter: ) 
  clojure.lang.Util.runtimeException (Util.java:221)


 Using default #inst reader gives the same behavior.

 This is an artifact of how the repl currently works. Its input is a stream 
 of characters to which it applies the read, eval, and print operations in a 
 loop. There is prompt-handling code in the repl that makes it feel “turn” 
 oriented in most cases, but this case isn’t handled. It does not currently 
 implement “on exception in read, flush the rest of the pending user input 
 and re-prompt”.

 Here’s an example with a vanilla clojure 1.6.0 (java -jar the clojure 
 1.6.0.jar) that may clarify what’s going on:

 user= (println 1 2 3 #inst 4 5 6 7 8 9)
 RuntimeException Unrecognized date/time syntax: 4 
  clojure.instant/fn--6236/fn--6237 (instant.clj:118)
 5
 6
 7
 8
 9
 RuntimeException Unmatched delimiter: ) 
  clojure.lang.Util.runtimeException (Util.java:221)

 The start of the list (println 1 2 3” reads fine, then the #inst read 
 throws an exception. After the exception, the repl starts working on the 
 remainder of the input characters as if it were fresh user input. It sees 
 integers and prints them. When it hits “)”, there’s no corresponding “(“ 
 pending, so it throws again.

 —Steve



-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: My experiments with concurrent programming

2014-04-13 Thread Bob Hutchison
Hi Cecil,

On Apr 12, 2014, at 3:18 PM, Cecil Westerhof cldwester...@gmail.com wrote:

 
 I just started playing with Clojure a few days ago, so I am a tabula rasa. I 
 attached what I have until now. If it can be improved, I like to know it.

I had a look at your code and it's not clear to me what you are trying to 
experiment with. Possibly benchmark using futures to run the do-sequential 
function concurrently. I'll assume that for the moment and make a couple of 
observations...

You are using atoms to store two values (max-diff and max-factor) that are used 
and changed in main-function. Did you really intend to share these across all 
the calculations? The code you've provided will have concurrency errors as a 
result. You might consider writing this as something like (the *completely* 
untested and so only good as a sketch):

(def max-diff (ref 0.0))
(def max-factor (ref 0.0))

(defn init [type]
  (give-message (format Start %s type))
  (dosync
(ref-set max-diff   0.0)
(ref-set max-factor 0.0)))
   
(defn main-function [i diff]
  (dosync
(ensure max-diff)
(ensure max-factor)
(when ( diff @max-diff)
   (give-message (format Different for %12d (%e, %e) i diff (/ diff i)))
   (alter max-diff max diff)
   (when ( (/ diff i) @max-factor)
 (alter max-factor max (/ diff i)

The 'ensures' are there because max-diff and max-factor aren't really 
independent and some interaction between concurrent threads in the outer when 
could lead to some strange situations (like testing for max-diff (or 
max-factor) then finding that some other thread ran and changed max-diff (or 
max-factor) out from under you.

Your concurrency will likely be restricted to (some subset) of your cores since 
there's no IO in there (you're dumping the actual logging off to an agent). 
This isn't a bug, just mentioning it, but there's something to think about 
below.

There's a problem in your calculation of diff... it's always 0.0 which means 
that there's nothing being done in main-function. I changed it to something 
arbitrary (and *completely* untested and so only good as a sketch):

  (let [v (int (Math/sqrt i))
diff (Math/abs (- (Math/pow v 2) i))]

No idea if that's reasonable, but at least main-function does something now.

With the hacked up calculation of diff, I was able to demonstrate the 
concurrency problem in main-function by simply running (the *completely* 
untested and so only good as a sketch):

(defn main-function [i diff]
  (swap! iterations0 inc)
  (when ( diff @max-diff)
(swap! iterations1 inc)
#_(give-message (format Different for %12d (%e, %e) i diff (/ diff i)))
(swap! max-diff max diff)
(when ( (/ diff i) @max-factor)
  (swap! iterations2 inc)
  (swap! max-factor max (/ diff i)

and printing the values of iterations* -- with your swap algorithm you get 
different values for iterations1 and sometimes iterations2 for successive run.

If you didn't intend to share max-diff and max-factor, then you'd likely be 
better off if do-sequential passed local values into main-function, something 
like (the *completely* untested and so only good as a sketch):

(defn main-function [[max-diff max-factor] i]
  (let [v (int (Math/sqrt i))
diff (Math/abs (- (Math/pow v 2) i))]
(if ( diff max-diff)
  (do
#_(give-message (format Different for %12d (%e, %e) i diff (/ diff 
i)))
[(max max-diff diff) (max max-factor (/ diff i))])
  [max-diff max-factor])))

(defn do-sequential [start stop step]
  (reduce main-function [0.0 0.0] (range start stop step)))


You've decided to use futures for concurrency. Maybe that's the whole point, 
but if you're just trying to get a feel for concurrency in Clojure then there 
are some options. I find I directly use futures and promises, at most, rarely 
(I can't remember ever using them directly, maybe in the very early days of 
Clojure). What I find handy for this sort of thing is something like pmap, and 
if you really want this asynchronous then have a look at core.async. Anyway, 
with pmap (the *completely* untested and so only good as a sketch):

(defn check-concurrent [number]
  (doall
(pmap #(do-sequential % check-until number) (range 1 (inc number)

The shutdown-agents call is likely not what you want, you don't need it.

You're using agents for the logging. This gets the IO out of your code being 
tested, but there's still a lot of formatting work happening there (not much of 
a problem). But you don't know the impact of the agent thread pool on your 
benchmark. It's possible that it acts as a throttle. You can avoid this easily 
by not logging anything in main-function (I've commented it out in the example 
above).

Benchmarking is tricky to do. It's a lot easier to use something like 
criterium, kind of like this (I added the *verbose* dynamic variable for fun to 
the *completely* untested and so only good as a sketch):

(def ^:dynamic *verbose* true)
(defn 

auto include a certain line in all *.cljs files

2014-04-13 Thread t x
Hi,

  Can I edit some user.clj/config.clj/project.clj file, so that it's as if:

(:require-macros [swiss.arrows :refer (-)])

  is auto included in *every* cljs file ?

  [I dislike the constant repetition]

Thanks!

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: auto include a certain line in all *.cljs files

2014-04-13 Thread Kevin Ilchmann Jørgensen
Look at  :injections in
https://github.com/technomancy/leiningen/blob/master/sample.project.clj.
Would that help you?



On Sun, Apr 13, 2014 at 7:36 PM, t x txrev...@gmail.com wrote:

 Hi,

   Can I edit some user.clj/config.clj/project.clj file, so that it's as if:

 (:require-macros [swiss.arrows :refer (-)])

   is auto included in *every* cljs file ?

   [I dislike the constant repetition]

 Thanks!

 --
 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 unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [ANN] iroh 0.1.9 - class reflection and exploration

2014-04-13 Thread Moritz Ulrich
A simple repl-targeted library to introspect classes might prove
useful, but is there any reason to use such a short syntax for
everything? I'll surely have problems remembering the symbols.

On Fri, Apr 11, 2014 at 5:57 AM, zcaudate z...@caudate.me wrote:
 Please use 0.1.10 update. clojure 1.6 does not load clojure.walk and
 clojure.set automatically anymore.

 --
 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 unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: auto include a certain line in all *.cljs files

2014-04-13 Thread t x
What does 
https://github.com/technomancy/leiningen/blob/master/sample.project.clj#L209-L211
mean ?

In particular, I'm confused about:

 Forms to prepend to every form that is evaluated inside your project.

I only want to insert it right into the (ns ...) clause.

Thanks!


On Sun, Apr 13, 2014 at 10:49 AM, Kevin Ilchmann Jørgensen
kijm...@gmail.com wrote:
 Look at  :injections in
 https://github.com/technomancy/leiningen/blob/master/sample.project.clj.
 Would that help you?



 On Sun, Apr 13, 2014 at 7:36 PM, t x txrev...@gmail.com wrote:

 Hi,

   Can I edit some user.clj/config.clj/project.clj file, so that it's as
 if:

 (:require-macros [swiss.arrows :refer (-)])

   is auto included in *every* cljs file ?

   [I dislike the constant repetition]

 Thanks!

 --
 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 unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


 --
 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 unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [ANN] iroh 0.1.9 - class reflection and exploration

2014-04-13 Thread Chris Zheng
It's short because i hate typing... And it's meant to be 'intuitive' so that 
clojure users would find it relatively straight forward to pick up. The only 
unintuitive bit would be the .% and .% for class information and class 
hierarchy. The thing is, when combined with the threading macro, all the 
functions are very powerful tools at the repl:

(. 123 .%) get class hierarchy
(. 123 .?) get all methods
(. 123 (.? :name)) get method name
(. 123 .toString (.? :name)) get method names of (.toString 123)

Giveit a go! And if you have any suggestions for short names, please let me 
know.

On 14/04/2014, at 5:17, Moritz Ulrich mor...@tarn-vedra.de wrote:

 A simple repl-targeted library to introspect classes might prove
 useful, but is there any reason to use such a short syntax for
 everything? I'll surely have problems remembering the symbols.
 
 On Fri, Apr 11, 2014 at 5:57 AM, zcaudate z...@caudate.me wrote:
 Please use 0.1.10 update. clojure 1.6 does not load clojure.walk and
 clojure.set automatically anymore.
 
 --
 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 unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.
 
 -- 
 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 a topic in the Google 
 Groups Clojure group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/clojure/YEeEMYmjfPM/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to 
 clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Puppet Labs and Trapperkeeper

2014-04-13 Thread Dave Sann
related

http://puppetlabs.com/blog/new-era-application-services-puppet-labs

On Monday, 14 April 2014 00:24:28 UTC+10, Brendan Younger wrote:

 I just saw that there's a library called TrapperKeeper 
 https://github.com/puppetlabs/trapperkeeper from the folks at Puppet 
 Labs.  It looks to be a more opinionated and complete version of Stuart 
 Sierra's Component library https://github.com/stuartsierra/component, in 
 that it explicitly pays attention to things like logging configuration and 
 JBoss support.

 Brendan Younger


-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Video] Game development in Clojure (with play-clj)

2014-04-13 Thread James Trunk
Hi Kris,

Thanks for your comment, and I'm very glad that you found the video helpful.

I started doing screencasts because I realised that I learn a new concept 
fastest by watching someone else doing/explaining it - and I figured I 
might not be the only one. Saying that, I know screencasts aren't for 
everyone, and they have a few drawbacks compared to text (harder to search, 
skim, or repeat sections). So positive comment like yours remind me that 
I'm not the only auditory/visual learner around here, and inspire me to 
keep going. Thanks!

James

On Saturday, April 12, 2014 11:28:29 PM UTC+2, Kris Calabio wrote:

 Great video! I've looked through Zach's examples, and even started coding 
 a game myself. But your screencast helped me have a better understanding of 
 some of the concepts and code that I was having trouble understanding just 
 by looking at the example games. Thanks!
 -Kris

 On Thursday, March 27, 2014 10:07:21 AM UTC-7, James Trunk wrote:

 Hi everyone,

 I thought some of you might be interested to watch my screencast about game 
 development in Clojure with 
 play-cljhttps://www.youtube.com/watch?v=9ilUe7Re-RA
 .

 Cheers,
 James



-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Potential Intro clojure projects - libraries and ideas with wow factor

2014-04-13 Thread utel
A handful of developers at the organisation I work at, want to encourage 
interest in Clojure with the aim of using it in production amongst the 
organisation's wider developer community (hundreds of developers). We 
ourselves are Clojure hobbyists.

We wanted to do this through a basic project (with few moving parts), so I 
wanted to get feedback on a couple of aspects:
1. Examples of basic project ideas that would be compelling to fellow 
developers not familiar with Clojure (e.g. something useful that you can do 
easily with Clojure that's harder to do in more established languages such 
as Java)
2. Particular libraries that again had a wow factor towards an objective 
not easily achievable in more established languages (perhaps related to 
data analysis, visualisation, or taking advantage of the benefit of lazy 
evaluation in a novel way as examples).

I realise these questions are somewhat open-ended, but just wanted to spark 
off some ideas for us through bouncing these questions off the google 
group's members.

Thanks for any leads!

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Video] Game development in Clojure (with play-clj)

2014-04-13 Thread Kris Calabio
Actually, I thought it would be even more helpful if you had the source
code available (for searching/skimming). Is that somewhere online?
-Kris


On Sun, Apr 13, 2014 at 2:47 PM, James Trunk james.tr...@gmail.com wrote:

 Hi Kris,

 Thanks for your comment, and I'm very glad that you found the video
 helpful.

 I started doing screencasts because I realised that I learn a new concept
 fastest by watching someone else doing/explaining it - and I figured I
 might not be the only one. Saying that, I know screencasts aren't for
 everyone, and they have a few drawbacks compared to text (harder to search,
 skim, or repeat sections). So positive comment like yours remind me that
 I'm not the only auditory/visual learner around here, and inspire me to
 keep going. Thanks!

 James


 On Saturday, April 12, 2014 11:28:29 PM UTC+2, Kris Calabio wrote:

 Great video! I've looked through Zach's examples, and even started coding
 a game myself. But your screencast helped me have a better understanding of
 some of the concepts and code that I was having trouble understanding just
 by looking at the example games. Thanks!
 -Kris

 On Thursday, March 27, 2014 10:07:21 AM UTC-7, James Trunk wrote:

 Hi everyone,

 I thought some of you might be interested to watch my screencast about game
 development in Clojure with 
 play-cljhttps://www.youtube.com/watch?v=9ilUe7Re-RA
 .

 Cheers,
 James

  --
 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 a topic in the
 Google Groups Clojure group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/clojure/mR1IBJ_OomY/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to
 clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Video] Game development in Clojure (with play-clj)

2014-04-13 Thread James Trunk
There's a link to a gist of 
core.cljhttps://gist.github.com/Misophistful/9892203in the video's 
description.

Cheers, 
James

On Monday, April 14, 2014 12:08:16 AM UTC+2, Kris Calabio wrote:

 Actually, I thought it would be even more helpful if you had the source 
 code available (for searching/skimming). Is that somewhere online?
 -Kris


 On Sun, Apr 13, 2014 at 2:47 PM, James Trunk james...@gmail.comjavascript:
  wrote:

 Hi Kris,

 Thanks for your comment, and I'm very glad that you found the video 
 helpful.

 I started doing screencasts because I realised that I learn a new concept 
 fastest by watching someone else doing/explaining it - and I figured I 
 might not be the only one. Saying that, I know screencasts aren't for 
 everyone, and they have a few drawbacks compared to text (harder to search, 
 skim, or repeat sections). So positive comment like yours remind me that 
 I'm not the only auditory/visual learner around here, and inspire me to 
 keep going. Thanks!

 James


 On Saturday, April 12, 2014 11:28:29 PM UTC+2, Kris Calabio wrote:

 Great video! I've looked through Zach's examples, and even started 
 coding a game myself. But your screencast helped me have a better 
 understanding of some of the concepts and code that I was having trouble 
 understanding just by looking at the example games. Thanks!
 -Kris

 On Thursday, March 27, 2014 10:07:21 AM UTC-7, James Trunk wrote:

 Hi everyone,

 I thought some of you might be interested to watch my screencast about 
 game 
 development in Clojure with 
 play-cljhttps://www.youtube.com/watch?v=9ilUe7Re-RA
 .

 Cheers,
 James

  -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to a topic in the 
 Google Groups Clojure group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/clojure/mR1IBJ_OomY/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to 
 clojure+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/d/optout.




-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Video] Game development in Clojure (with play-clj)

2014-04-13 Thread Kris Calabio
Oh great! I guess I must have missed that :P


On Sun, Apr 13, 2014 at 3:13 PM, James Trunk james.tr...@gmail.com wrote:

 There's a link to a gist of 
 core.cljhttps://gist.github.com/Misophistful/9892203in the video's 
 description.

 Cheers,
 James


 On Monday, April 14, 2014 12:08:16 AM UTC+2, Kris Calabio wrote:

 Actually, I thought it would be even more helpful if you had the source
 code available (for searching/skimming). Is that somewhere online?
 -Kris


 On Sun, Apr 13, 2014 at 2:47 PM, James Trunk james...@gmail.com wrote:

 Hi Kris,

 Thanks for your comment, and I'm very glad that you found the video
 helpful.

 I started doing screencasts because I realised that I learn a new
 concept fastest by watching someone else doing/explaining it - and I
 figured I might not be the only one. Saying that, I know screencasts aren't
 for everyone, and they have a few drawbacks compared to text (harder to
 search, skim, or repeat sections). So positive comment like yours remind me
 that I'm not the only auditory/visual learner around here, and inspire me
 to keep going. Thanks!

 James


 On Saturday, April 12, 2014 11:28:29 PM UTC+2, Kris Calabio wrote:

 Great video! I've looked through Zach's examples, and even started
 coding a game myself. But your screencast helped me have a better
 understanding of some of the concepts and code that I was having trouble
 understanding just by looking at the example games. Thanks!
 -Kris

 On Thursday, March 27, 2014 10:07:21 AM UTC-7, James Trunk wrote:

 Hi everyone,

 I thought some of you might be interested to watch my screencast about 
 game
 development in Clojure with 
 play-cljhttps://www.youtube.com/watch?v=9ilUe7Re-RA
 .

 Cheers,
 James

  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@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+u...@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 a topic in the
 Google Groups Clojure group.
 To unsubscribe from this topic, visit https://groups.google.com/d/
 topic/clojure/mR1IBJ_OomY/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to
 clojure+u...@googlegroups.com.

 For more options, visit https://groups.google.com/d/optout.


  --
 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 a topic in the
 Google Groups Clojure group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/clojure/mR1IBJ_OomY/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to
 clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[ANN] clj-cursor 0.0.1 - server-side cursor for clojure data structures (inspired by om)

2014-04-13 Thread rlewczuk
Hi,

https://github.com/rlewczuk/clj-cursor

This is my attempt at (properly) managing application state.  It is based 
on David Nolen's cursor
concept implemented in the om library. Cursor allows storing whole 
application state in a single 
structure, yet still be able to swap underlying application state and allow 
application components 
receiving changes without hassle (think online reconfiguration etc.).

Current implementation aims at solving server-side application state, it 
partially overlaps with what
Stuart Sierra work (presentations and accompanying Component 
framework/convention) aims at. 

Note that this is highly experimental stuff worth around two evenings of 
thinking/coding. Currently
it is dead simple wrapper for maps and vectors, in many respects incomplete 
(yet it's propably enough
for me to test it on some real world application). I'm announcing this very 
early version in order to 
spark some discussion about this topic as I haven't been fully happy with 
existing solutions 
for application state management (albeit Stuart's work did push things 
forward quite a lot). 

So, any suggestions will be welcome - especially I'm looking for more usage 
scenarios (in addition
to two scenarios I'm currently aware of: distributing config/state across 
application components 
and storing local caches of certain types of data (rather low rate of 
change, eg. dictionary data).

Regards,
rle

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [ANN] clj-cursor 0.0.1 - server-side cursor for clojure data structures (inspired by om)

2014-04-13 Thread rlewczuk

Also as I have relatively little experience with Clojure programming, any 
suggestions about style, non-idiomatic code etc. are also important for me. 


-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: newbie seq question

2014-04-13 Thread Stephen Feyrer
Hi François,

Thank you.  I have read through each of the articles you've indicated and
will read in full the braveclojure book.

I am playing the syntax-quotes and will explore the io/resource package.


To be honest I am still not confident in what I'm doing but there are still
avenues to explore.  At this stage I just want to acknowledge your response
and let you know that it is very much appreciated.




--
Kind regards

Stephen.


On 13 April 2014 07:02, François Rey fmj...@gmail.com wrote:

  On 13/04/14 02:21, Stephen Feyrer wrote:


 // Get the java file io library
  (import '(java.io File))

  // Get some files
 (def f (File. /My/files/))

  (def fs (file-seq f))

  // Filters for suffixes .mp3
 (def get-mp3 (filter #(.endsWith (.getName %) .mp3) fs))

  // Get the path of one mp3
  (println (take 1 get-mp3))

  This code is gathered from various unrelated Clojure forum posts.  The
 resultant collection, I must admit defeats my understanding.


  My first question is the println statement returns (#File
 /My/files/path/to/Some of/My Music Collection.mp3), would someone explain
 this data structure for me, bearing in mind that white spaces and commas
 are synonymous.

 It's not a data structure, it's just the way clojure prints out java
 object:

 user= f
 #File /My/files


 In the REPL Clojure tries to print out readable output, meaning something
 that can be read again by the reader as input:

 user= (def a '(1 2 3))
 #'user/a
 user= #'user/a
 #'user/a
 user= (var a)
 #'user/a
 user= map
 #core$map clojure.core$map@23130c0a

 In the case of object instances, it cannot be printed into such readable
 form, so it uses the # to indicate this is unreadable:

 user= #File /tmp

 clojure.lang.LispReader$ReaderException: java.lang.RuntimeException:
 Unreadable form
  java.lang.RuntimeException: Unreadable form

 See also the answer to this stackoverflow question:

 http://stackoverflow.com/questions/17263929/clojure-read-string-on-functions

 If you want to know more about reader macros:
 http://en.wikibooks.org/wiki/Learning_Clojure/Reader_Macros

 There's also this chapter from an online beginner's book I recommend (you
 may want to read the stuff before):
 http://www.braveclojure.com/read-and-eval/



  Please note, while I have programmed a little in the past this does not
 prevent me from asking dumb questions.  Thus finally, if this is not the
 appropriate place for this sort question could you point me in the right
 direction?

 You're perfectly fine here, newbies welcome.
 In fact your question is about something that isn't much talked or written
 about in clojure.

 HTH
  --
 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 unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


cljs, websocket, autoreconnect

2014-04-13 Thread t x
Hi,

  For building robust cljs web apps, I'd like to have a uber
websocket which does the following:

  * when disconnected, it auto reconnects
  * and re-sends any messages that were not received

  Before I hand-roll my own hacks, I was wondering -- is there any
existing cljs library which already does this?

Thanks!

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: cljs, websocket, autoreconnect

2014-04-13 Thread Sean Corfield
Take a look at Sente (core.async over web socket / xhr) - and contribute 
anything additional you need to that.

On Apr 13, 2014, at 6:16 PM, t x txrev...@gmail.com wrote:
  For building robust cljs web apps, I'd like to have a uber
 websocket which does the following:
 
  * when disconnected, it auto reconnects
  * and re-sends any messages that were not received
 
  Before I hand-roll my own hacks, I was wondering -- is there any
 existing cljs library which already does this?



signature.asc
Description: Message signed with OpenPGP using GPGMail


Annotations on gen-class :state

2014-04-13 Thread Jon Seltzer
There are many Java APIs that expect client APIs to annotate fields but 
Clojure does not support annotations on fields.  Is there any plan to add 
support?

And one tangential question:  Is there any consideration of adding 
gen-class support for multiple fields instead of just one?

jbs

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Video] Game development in Clojure (with play-clj)

2014-04-13 Thread C K Kashyap
+1 nice video


On Mon, Apr 14, 2014 at 3:45 AM, Kris Calabio kriscala...@gmail.com wrote:

 Oh great! I guess I must have missed that :P


 On Sun, Apr 13, 2014 at 3:13 PM, James Trunk james.tr...@gmail.comwrote:

 There's a link to a gist of 
 core.cljhttps://gist.github.com/Misophistful/9892203in the video's 
 description.

 Cheers,
 James


 On Monday, April 14, 2014 12:08:16 AM UTC+2, Kris Calabio wrote:

 Actually, I thought it would be even more helpful if you had the source
 code available (for searching/skimming). Is that somewhere online?
 -Kris


  On Sun, Apr 13, 2014 at 2:47 PM, James Trunk james...@gmail.comwrote:

  Hi Kris,

 Thanks for your comment, and I'm very glad that you found the video
 helpful.

 I started doing screencasts because I realised that I learn a new
 concept fastest by watching someone else doing/explaining it - and I
 figured I might not be the only one. Saying that, I know screencasts aren't
 for everyone, and they have a few drawbacks compared to text (harder to
 search, skim, or repeat sections). So positive comment like yours remind me
 that I'm not the only auditory/visual learner around here, and inspire me
 to keep going. Thanks!

 James


 On Saturday, April 12, 2014 11:28:29 PM UTC+2, Kris Calabio wrote:

 Great video! I've looked through Zach's examples, and even started
 coding a game myself. But your screencast helped me have a better
 understanding of some of the concepts and code that I was having trouble
 understanding just by looking at the example games. Thanks!
 -Kris

 On Thursday, March 27, 2014 10:07:21 AM UTC-7, James Trunk wrote:

 Hi everyone,

 I thought some of you might be interested to watch my screencast
 about game development in Clojure with 
 play-cljhttps://www.youtube.com/watch?v=9ilUe7Re-RA
 .

 Cheers,
 James

  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@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+u...@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 a topic in the
 Google Groups Clojure group.
 To unsubscribe from this topic, visit https://groups.google.com/d/
 topic/clojure/mR1IBJ_OomY/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to
 clojure+u...@googlegroups.com.

 For more options, visit https://groups.google.com/d/optout.


  --
 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 a topic in the
 Google Groups Clojure group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/clojure/mR1IBJ_OomY/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to
 clojure+unsubscr...@googlegroups.com.

 For more options, visit https://groups.google.com/d/optout.


  --
 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 unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Puppet Labs and Trapperkeeper

2014-04-13 Thread Walter Heck
As a non-clojure user, but a Puppet expert (ahum ;) ) I wrote a blog post 
about this announcement that might be interesting for some folks here. I'd 
also love to see comments on the post itself if I have drawn any wrong 
conclusions:
http://www.olindata.com/blog/2014/04/clojure-outsiders-investigation

On Sunday, 13 April 2014 16:24:28 UTC+2, Brendan Younger wrote:

 I just saw that there's a library called TrapperKeeper 
 https://github.com/puppetlabs/trapperkeeper from the folks at Puppet 
 Labs.  It looks to be a more opinionated and complete version of Stuart 
 Sierra's Component library https://github.com/stuartsierra/component, in 
 that it explicitly pays attention to things like logging configuration and 
 JBoss support.

 Brendan Younger


-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Potential Intro clojure projects - libraries and ideas with wow factor

2014-04-13 Thread Mikera
On Monday, 14 April 2014 05:15:31 UTC+8, utel wrote:

 A handful of developers at the organisation I work at, want to encourage 
 interest in Clojure with the aim of using it in production amongst the 
 organisation's wider developer community (hundreds of developers). We 
 ourselves are Clojure hobbyists.

 We wanted to do this through a basic project (with few moving parts), so I 
 wanted to get feedback on a couple of aspects:
 1. Examples of basic project ideas that would be compelling to fellow 
 developers not familiar with Clojure (e.g. something useful that you can do 
 easily with Clojure that's harder to do in more established languages such 
 as Java)
 2. Particular libraries that again had a wow factor towards an objective 
 not easily achievable in more established languages (perhaps related to 
 data analysis, visualisation, or taking advantage of the benefit of lazy 
 evaluation in a novel way as examples).


Disclaimer: Slightly a plug for my own personal projects and interests :-)

There are a lot of great opportunities to get involved around the numerical 
computing space in Clojure, especially if you think that data analysis and 
visualisation counts as a wow factor. We welcome open source 
contributions from all perspectives.

In particular:
1. The core.matrix librray / API for array programming 
(see: https://github.com/mikera/core.matrix)
2. The Incanter environment for data science / statistical computing 
(see: http://incanter.org/)

If you are interested in exploring this area further, here are some useful 
links:
- The Numerical Clojure google 
group: https://groups.google.com/forum/#!forum/numerical-clojure
- My Enter The Matrix talk at the Clojure 
Conj: http://www.youtube.com/watch?v=_h9TLJtjSJo
- Enter The Matrix 
slides: http://www.slideshare.net/mikeranderson/2013-1114-enter-thematrix
- Clojure Dojo core.matrix 
repository: https://github.com/clojure-numerics/core.matrix.dojo

The last link includes some fun data analysis examples, using match results 
from the English Premier League hopefully some of these give you a 
taste of the wow factor in terms of rapid data processing and very 
efficient coding in an array-programming style.

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: cljs, websocket, autoreconnect

2014-04-13 Thread Johann Bestowrous
Google Closure implements an auto-reconnecting websocket.  

You can read docs on it 
herehttp://docs.closure-library.googlecode.com/git/class_goog_net_WebSocket.html
 and 
see an example of it being imported 
herehttps://github.com/kovasb/session/blob/1bf7346a87597aa8f6ad2bc031bd9f959b5d662a/resources/public/cljs/session/main.cljs#L8
 and 
used 
herehttps://github.com/kovasb/session/blob/1bf7346a87597aa8f6ad2bc031bd9f959b5d662a/resources/public/cljs/session/main.cljs#L41

On Sunday, April 13, 2014 6:16:08 PM UTC-7, t x wrote:

 Hi, 

   For building robust cljs web apps, I'd like to have a uber 
 websocket which does the following: 

   * when disconnected, it auto reconnects 
   * and re-sends any messages that were not received 

   Before I hand-roll my own hacks, I was wondering -- is there any 
 existing cljs library which already does this? 

 Thanks! 


-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.