Re: [ANN] Clojure 1.6

2014-03-26 Thread Mikera
Congrats everyone, and thanks for all the hard work Alex in particular!

Looking forward to getting this out into production today

On Tuesday, 25 March 2014 22:00:17 UTC+8, Alex Miller wrote:

 We are pleased to announce the release of Clojure 1.6.

 Getting Clojure:

   Web:  http://clojure.org/downloads
   Lein/Maven:   :dependencies [[org.clojure/clojure 1.6.0]]

 (The download should be available shortly)

 This release includes significant features and bug fixes, documented
 here:

   https://github.com/clojure/clojure/blob/master/changes.md

 The number of Clojure contributors continues to grow. Thanks to all
 of those who contributed specifically to Clojure 1.6:

 Bruce Adams 
 Vipul Amler
 Mike Anderson
 Timothy Baldridge
 Brandon Bloom
 Toby Crawley
 Andy Fingerhut
 Michael Fogus
 Gary Fredricks
 Joe Gallo
 Christophe Grand
 Chris Gray
 Anthony Grimes
 Stuart Halloway
 Herwig Hochleitner
 Gabriel Horner
 Colin Jones
 Stefan Kamphausen
 Scott Lowe
 Alan Malloy
 Michał Marczyk
 Tim McCormack
 Alex Miller
 Steve Miner
 Nicola Mometto
 Max Penet
 Christoffer Sawicki
 Karsten Schmidt
 Ghadi Shayban 
 Stuart Sierra
 Brian Taylor
 Devin Walters
 Jason Wolfe

 and to the total list of contributors from all releases:
 http://clojure.org/contributing#patches

 Thanks!

 Alex Miller



-- 
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.


Writing tests for a live trading API?

2014-03-26 Thread JPH
Hi all. I'm still relatively new to Clojure and I haven't spent much
time on testing before. I've recently written some libraries to talk to
Bitcoin exchanges (clj-havelock, clj-btce, cryptick), and I'd like to
add tests to them.

I'd like some advice around how to test against a live service (there is
not test service available) where there's a financial impact if
something goes wrong (someone buys/sells by accident).

My manual REPL-testing usually involve creating several orders with
price spreads that are unlikely to execute. For instance, selling 1
Litecoin for 1 Bitcoin. Buying 1 Bitcoin for $5 USD.

My concern is if someone runs the tests with bad inputs, resulting in
real orders being executed.

I can write tests that pull in API credentials from a file in my home
directory, and define price ranges for orders outside the normal spread.
These could then be fed into the tests. However, would it be better to
try and mock the trading API responses rather than do it live? Or
perhaps require a flag to run dangerous tests?

Ultimately I want to be able to demonstrate the libraries are mature
with good test coverage, but I'm worried about the right approach. Any
advice would be appreciated.

Thanks in advance,
JPH




-- 
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.


Woops

2014-03-26 Thread JPH
Sorry all, somehow I hit the send button multiple times while editing.

-- 
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: Clojure + BDD + TDD + Pairing...

2014-03-26 Thread Marc Bluemner
Yes I think replica driven development is sctualy TDD :) they probuably 
didnt call it that back in the good old lisp days. Its funny how some 
praktises from 20 years ago are comming back and everyone pretends like its 
the newest trendy stuffLEAN, LISP :)

I use emac how would we do pairprogramming? I would love to try, we could 
do the clojure koans, maybe ?

On Tuesday, March 25, 2014 4:45:32 PM UTC+1, Jason Felice wrote:

 I do TDD, even with my clojure (combined with repl-driven development). 
  BDD, however, doesn't make a lot of sense in clojure-land.  If logic is 
 kept to pure functions as much as possible and state management kept to the 
 outside of the app (highly recommended), TDD becomes really fun and 
 managable without worrying about things  behaviors.

 (I say this knowing that there are a dozen conflicting notions of BDD.)


 On Tue, Mar 25, 2014 at 9:43 AM, Gilberto Garcia 
 giba...@gmail.comjavascript:
  wrote:

  Hi Marcus,

 I'm also starting with Clojure and would like to find someone to pair and 
 to study Clojure together.

 Best regards,
 Gilberto



 On 03/25/2014 09:50 AM, Marc Bluemner wrote:
  
 Hey Marcus,  

  Im Marc from Germany! Im actualy learning Clojure and am trying to get 
 good at BDD, we are trying to implement it at work so practice would be 
 great. I must say Ive never done pair programming but Im realy eager to 
 try. SO if you like Im absolutly open for everything.

  Greetings Marc

 Am Mittwoch, 30. Oktober 2013 04:43:54 UTC+1 schrieb Marcus Blankenship: 

 Hi Folks, 

  I’m a Clojure n00b, but am interested in finding another n00b who 
 aspires to learn Clojure, and do so using BDD / TDD practices through 
 regular pairing sessions.  I’ve found novice - novice pairing to be a 
 great way to ramp up on skills, but I don’t live near anyone who I can pair 
 with.  

  I’m thinking that doing 3 1-hour sessions a week, for a month, would 
 give us a nice start.  Obviously, this would be remote pairing via 
 ScreenHero (or some other tool).

  Anyone interested?

  Best,
 Marcus

  
 marcus blankenship 
 \\\ Partner, Problem Solver, Linear Thinker
 \\\ 541.805.2736 \ @justzeros \ skype:marcuscreo
 
-- 
 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 the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, 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 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 the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, 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: Clojure + BDD + TDD + Pairing...

2014-03-26 Thread Marc Bluemner
Hahahah you saved your ass there Jason :) BDD is TDD with more focus on 
business value and Costomer interviews. I got a copy of BDD in action but 
Im a reviewer so I dont realy have it ;)


On Tuesday, March 25, 2014 4:45:32 PM UTC+1, Jason Felice wrote:

 I do TDD, even with my clojure (combined with repl-driven development). 
  BDD, however, doesn't make a lot of sense in clojure-land.  If logic is 
 kept to pure functions as much as possible and state management kept to the 
 outside of the app (highly recommended), TDD becomes really fun and 
 managable without worrying about things  behaviors.

 (I say this knowing that there are a dozen conflicting notions of BDD.)


 On Tue, Mar 25, 2014 at 9:43 AM, Gilberto Garcia 
 giba...@gmail.comjavascript:
  wrote:

  Hi Marcus,

 I'm also starting with Clojure and would like to find someone to pair and 
 to study Clojure together.

 Best regards,
 Gilberto



 On 03/25/2014 09:50 AM, Marc Bluemner wrote:
  
 Hey Marcus,  

  Im Marc from Germany! Im actualy learning Clojure and am trying to get 
 good at BDD, we are trying to implement it at work so practice would be 
 great. I must say Ive never done pair programming but Im realy eager to 
 try. SO if you like Im absolutly open for everything.

  Greetings Marc

 Am Mittwoch, 30. Oktober 2013 04:43:54 UTC+1 schrieb Marcus Blankenship: 

 Hi Folks, 

  I’m a Clojure n00b, but am interested in finding another n00b who 
 aspires to learn Clojure, and do so using BDD / TDD practices through 
 regular pairing sessions.  I’ve found novice - novice pairing to be a 
 great way to ramp up on skills, but I don’t live near anyone who I can pair 
 with.  

  I’m thinking that doing 3 1-hour sessions a week, for a month, would 
 give us a nice start.  Obviously, this would be remote pairing via 
 ScreenHero (or some other tool).

  Anyone interested?

  Best,
 Marcus

  
 marcus blankenship 
 \\\ Partner, Problem Solver, Linear Thinker
 \\\ 541.805.2736 \ @justzeros \ skype:marcuscreo
 
-- 
 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 the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, 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 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 the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, 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.


Problem in clojars SSL Cert

2014-03-26 Thread radhika shashank


https://lh3.googleusercontent.com/-0it6LXlE5Io/UzKHYcAjG9I/BX8/t_mFaO7B06o/s1600/clojars.GIF

Hi,

I am trying to run incubator-storm-master but I am getting the following 
error:

 

It is clear that the error is for “clojars” SSL Certificate.

I ll be glad if you could tell me how to add the certificate and prevent 
this error


I have been looking for this answer and referred many links like :

https://github.com/technomancy/leiningen/issues/692


But I have still could not get this thing working

 

 

Thanks,

Radhika

-- 
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] Session 0.1.3 - A live-coding environment for Clojure

2014-03-26 Thread Marc Limotte
I do like that Gorilla is distributed as a lein plugin, so I can easily
start it up in the context of my project alongside my classpath and my
code.  Would a plugin make sense as an option for Session?

marc



On Tue, Mar 25, 2014 at 6:07 PM, kovas boguta kovas.bog...@gmail.comwrote:

 On Tue, Mar 25, 2014 at 3:05 PM, Jony Hudson jonyepsi...@gmail.com
 wrote:
  the way you aggregate things in the rendered output is just the way you'd
  aggregate the values. I think these are the core ideas which make both of
  the renderers powerful.

 I'm highly in agreement with this POV.

 The way most JS libraries to do it, which is you supply a DOM element
 to the lib and then it populates it with more content, drives me
 completely insane. It makes things impossible to compose or
 algorithmically generate, you gotta write logic yourself to built up
 the structure and tie everything together.


  Specifically, with respect to extensibility, my aim with Gorilla was to
 make
  it as extensible as possible from the Clojure side, as I'm primarily

 I think this is a real benefit of the Gorilla way. You can create
 renderers at the REPL itself, since the rendering happens within the
 same evaluation environment.

 I think this is a sound idea, and not necessarily an either/or choice.
 I'm thinking about a way to have some form of rendering within the
 evaluation environment as well, but it requires more hammock time. One
 obvious use case is elliding large outputs.

 Also, it would be pretty interesting to see if Session's renderers
 could be reused inside Gorilla. It would be great if we could
 standardize on the rendering side of things, so content created in
 these systems can flow between them.

 Anyway thanks for chiming in!

 --
 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.


Concurrency, Parallelism, and State. And Zombies.

2014-03-26 Thread Daniel Higginbotham
I've added a new chapter to Clojure for the Brave and True, Concurrency, 
Parallelism, and State. And Zombieshttp://www.braveclojure.com/concurrency/. 
Here's an excerpt:

===
In this chapter you'll learn what concurrency and parallelism are and why 
they matter. You'll learn about the challenges you'll face when writing 
parallel programs and about how Clojure's design helps to mitigate them. 
Finally, you'll learn a big boatload of tools and techniques for writing 
parallel programs yourself, including: futures, promises, delays, atoms, 
refs, vars, pmap, and core.reducers. Also, there will be zombies.
===

I hope you all find it useful and entertaining :)

Daniel

-- 
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: Clojure + BDD + TDD + Pairing...

2014-03-26 Thread Marcus Blankenship
Hi guys,

I'm glad the idea of pairing to learn is interesting to you!  Any suggestions 
on how we proceed?

Sent from my iPhone

 On Mar 26, 2014, at 5:23 AM, Marc Bluemner marc.bluem...@googlemail.com 
 wrote:
 
 Hahahah you saved your ass there Jason :) BDD is TDD with more focus on 
 business value and Costomer interviews. I got a copy of BDD in action but Im 
 a reviewer so I dont realy have it ;)
 
 
 On Tuesday, March 25, 2014 4:45:32 PM UTC+1, Jason Felice wrote:
 I do TDD, even with my clojure (combined with repl-driven development).  
 BDD, however, doesn't make a lot of sense in clojure-land.  If logic is kept 
 to pure functions as much as possible and state management kept to the 
 outside of the app (highly recommended), TDD becomes really fun and 
 managable without worrying about things  behaviors.
 
 (I say this knowing that there are a dozen conflicting notions of BDD.)
 
 
 On Tue, Mar 25, 2014 at 9:43 AM, Gilberto Garcia giba...@gmail.com wrote:
 Hi Marcus,
 
 I'm also starting with Clojure and would like to find someone to pair and 
 to study Clojure together.
 
 Best regards,
 Gilberto
 
 
 
 On 03/25/2014 09:50 AM, Marc Bluemner wrote:
 Hey Marcus, 
 
 Im Marc from Germany! Im actualy learning Clojure and am   trying 
 to get good at BDD, we are trying to implement it at work so practice 
 would be great. I must say Ive never done pair programming but Im realy 
 eager to try. SO if you like Im absolutly open for everything.
 
 Greetings Marc
 
 Am Mittwoch, 30. Oktober 2013 04:43:54 UTC+1 schrieb Marcus Blankenship:
 
 Hi Folks,
 
 I’m a Clojure n00b, but am interested in finding another n00b who aspires 
 to learn Clojure, and do so using BDD / TDD practices through regular 
 pairing sessions.  I’ve found novice - novice pairing to be a great way 
 to ramp up on skills, but I don’t live near anyone who I can pair with.  
 
 I’m thinking that doing 3 1-hour sessions a week, for a month, would give 
 us a nice start.  Obviously, this would be remote pairing via ScreenHero 
 (or some other tool).
 
 Anyone interested?
 
 Best,
 Marcus
 
 
 marcus blankenship
 \\\ Partner, Problem Solver, Linear Thinker
 \\\ 541.805.2736 \ @justzeros \ skype:marcuscreo
 -- 
 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 the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, 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 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 the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, 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 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.


[RFC] Roundtripping namespaced xml documents for data.xml

2014-03-26 Thread Herwig Hochleitner
Hi,

I'm taking a stab at namespaced xml support:
http://dev.clojure.org/jira/browse/DXML-4

I've uploaded a patch, that should implement 1:1 roundtripping, fully
preserving prefixes and xmlns declarations:
http://dev.clojure.org/jira/secure/attachment/12899/roundtrip-documents.patch

This doesn't implement any advanced serialization or deserialization
strategies described in the design page:
http://dev.clojure.org/display/DXML/Fuller+XML+support
However, it allows such strategies to be implemented by transforming
clojure data structures, hence it should be a suitable common
representation for any namespaced xml needs.

I'd like to work on some namespace-related treewalking next, most
importantly normalizing prefixes and default namespaces, so that one can
actually parse namespaced xml.

Meanwhile, I'd be delighted if you could try out the patch on any
(well-formed) namespaced xml you have at hand and see, if it roundtrips
correctly.

kind regards

-- 
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: Clojure + BDD + TDD + Pairing...

2014-03-26 Thread Marc Bluemner
I guess wie Need to Devide on a pairing method wemux oremacs or whatever else 
there is .I use emacs but am good with vim and tmux too. I would prefer 
emacs as I'm switching  to it St the Moment  —
Sent from Mailbox for iPhone

On Wed, Mar 26, 2014 at 2:57 PM, Marcus Blankenship mar...@creoagency.com
wrote:

 Hi guys,
 I'm glad the idea of pairing to learn is interesting to you!  Any suggestions 
 on how we proceed?
 Sent from my iPhone
 On Mar 26, 2014, at 5:23 AM, Marc Bluemner marc.bluem...@googlemail.com 
 wrote:
 
 Hahahah you saved your ass there Jason :) BDD is TDD with more focus on 
 business value and Costomer interviews. I got a copy of BDD in action but Im 
 a reviewer so I dont realy have it ;)
 
 
 On Tuesday, March 25, 2014 4:45:32 PM UTC+1, Jason Felice wrote:
 I do TDD, even with my clojure (combined with repl-driven development).  
 BDD, however, doesn't make a lot of sense in clojure-land.  If logic is 
 kept to pure functions as much as possible and state management kept to the 
 outside of the app (highly recommended), TDD becomes really fun and 
 managable without worrying about things  behaviors.
 
 (I say this knowing that there are a dozen conflicting notions of BDD.)
 
 
 On Tue, Mar 25, 2014 at 9:43 AM, Gilberto Garcia giba...@gmail.com wrote:
 Hi Marcus,
 
 I'm also starting with Clojure and would like to find someone to pair and 
 to study Clojure together.
 
 Best regards,
 Gilberto
 
 
 
 On 03/25/2014 09:50 AM, Marc Bluemner wrote:
 Hey Marcus, 
 
 Im Marc from Germany! Im actualy learning Clojure and am   trying 
 to get good at BDD, we are trying to implement it at work so practice 
 would be great. I must say Ive never done pair programming but Im realy 
 eager to try. SO if you like Im absolutly open for everything.
 
 Greetings Marc
 
 Am Mittwoch, 30. Oktober 2013 04:43:54 UTC+1 schrieb Marcus Blankenship:
 
 Hi Folks,
 
 I’m a Clojure n00b, but am interested in finding another n00b who 
 aspires to learn Clojure, and do so using BDD / TDD practices through 
 regular pairing sessions.  I’ve found novice - novice pairing to be a 
 great way to ramp up on skills, but I don’t live near anyone who I can 
 pair with.  
 
 I’m thinking that doing 3 1-hour sessions a week, for a month, would 
 give us a nice start.  Obviously, this would be remote pairing via 
 ScreenHero (or some other tool).
 
 Anyone interested?
 
 Best,
 Marcus
 
 
 marcus blankenship
 \\\ Partner, Problem Solver, Linear Thinker
 \\\ 541.805.2736 \ @justzeros \ skype:marcuscreo
 -- 
 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 the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, 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 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 the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, 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 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
 

Re: Clojure + BDD + TDD + Pairing...

2014-03-26 Thread Marcus Blankenship
I'm a fan of ngrok + tmux/wemux + emacs.  Have you guys used ngrok?


On Mar 26, 2014, at 7:58 AM, Marc Bluemner marc.bluem...@googlemail.com wrote:

 I guess wie Need to Devide on a pairing method wemux oremacs or whatever 
 else there is .I use emacs but am good with vim and tmux too. I would 
 prefer emacs as I'm switching  to it St the Moment  
 --
 Sent from Mailbox for iPhone
 
 
 On Wed, Mar 26, 2014 at 2:57 PM, Marcus Blankenship mar...@creoagency.com 
 wrote:
 
 Hi guys,
 
 I'm glad the idea of pairing to learn is interesting to you!  Any suggestions 
 on how we proceed?
 
 Sent from my iPhone
 
 On Mar 26, 2014, at 5:23 AM, Marc Bluemner marc.bluem...@googlemail.com 
 wrote:
 
 Hahahah you saved your ass there Jason :) BDD is TDD with more focus on 
 business value and Costomer interviews. I got a copy of BDD in action but Im 
 a reviewer so I dont realy have it ;)
 
 
 On Tuesday, March 25, 2014 4:45:32 PM UTC+1, Jason Felice wrote:
 I do TDD, even with my clojure (combined with repl-driven development).  
 BDD, however, doesn't make a lot of sense in clojure-land.  If logic is kept 
 to pure functions as much as possible and state management kept to the 
 outside of the app (highly recommended), TDD becomes really fun and 
 managable without worrying about things  behaviors.
 
 (I say this knowing that there are a dozen conflicting notions of BDD.)
 
 
 On Tue, Mar 25, 2014 at 9:43 AM, Gilberto Garcia giba...@gmail.com wrote:
 Hi Marcus,
 
 I'm also starting with Clojure and would like to find someone to pair and to 
 study Clojure together.
 
 Best regards,
 Gilberto
 
 
 
 On 03/25/2014 09:50 AM, Marc Bluemner wrote:
 Hey Marcus, 
 
 Im Marc from Germany! Im actualy learning Clojure and am trying to get good 
 at BDD, we are trying to implement it at work so practice would be great. I 
 must say Ive never done pair programming but Im realy eager to try. SO if 
 you like Im absolutly open for everything.
 
 Greetings Marc
 
 Am Mittwoch, 30. Oktober 2013 04:43:54 UTC+1 schrieb Marcus Blankenship:
 Hi Folks,
 
 I'm a Clojure n00b, but am interested in finding another n00b who aspires 
 to learn Clojure, and do so using BDD / TDD practices through regular 
 pairing sessions.  I've found novice - novice pairing to be a great way 
 to ramp up on skills, but I don't live near anyone who I can pair with.  
 
 I'm thinking that doing 3 1-hour sessions a week, for a month, would give 
 us a nice start.  Obviously, this would be remote pairing via ScreenHero 
 (or some other tool).
 
 Anyone interested?
 
 Best,
 Marcus
 
 
 marcus blankenship
 \\\ Partner, Problem Solver, Linear Thinker
 \\\ 541.805.2736 \ @justzeros \ skype:marcuscreo
 
 -- 
 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 the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, 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 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 the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, 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 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 - 

Re: Garden, Thorn - Looking for contributors

2014-03-26 Thread Timothy Washington
Hi Joel,

I think this is a good idea. We've discussed one of my pain points;
particularly *Exploring Garden At Rules*. Our thread basically looked
like the below (last few messages ellided). Now, for the moment, I indeed
went back to *SCSS*, because *i)* it did what I wanted out of the box and
*ii)* I took a look at garden code and it wasn't clear to me how *cssfn*and
*defcssfn* solved my *@import* problem.

So I'd imagine there are a few more of those kinds of edge cases with which
I'd need to wrestle. And it's sort of on me, to fix and contribute, like
you said. But at the moment, I'm just strapped for time, and needed
something that worked. Also, I've neglected
garden-watchhttps://github.com/twashing/garden-watch,
which is another use case that I needed filled. Ie, I have an external
designer. And I'd just like him to work with *edn*, and have *CSS* be spit
out. So that's my 2 cents. And if I were to have those things working now,
I'd ditch *HAML* and *SCSS*.


*1. *

Hi Joel, I'm playing around with garden a little, and wanted to ask you a
question about the at rules. If I execute the below command, I get the
result output.

*(css (at-import
url(http://fonts.googleapis.com/css?family=Gentium+Book+Basic:700italic
http://fonts.googleapis.com/css?family=Gentium+Book+Basic:700italic)))*

*= @import 
\url(http://fonts.googleapis.com/css?family=Gentium+Book+Basic:700italic
http://fonts.googleapis.com/css?family=Gentium+Book+Basic:700italic)\;*



However, I need the result CSS to have the below string, without quotes,
etc.

*@import
url(http://fonts.googleapis.com/css?family=Gentium+Book+Basic:700italic
http://fonts.googleapis.com/css?family=Gentium+Book+Basic:700italic);*



Now, of course, I peered into the
sourcehttps://github.com/noprompt/garden/blob/master/src/cljx/garden/stylesheet.cljx#L48,
and tried just passing in the url. But that doesn't give me the output I
want either (has quotes + missing url).

*(css (at-import http://fubar.com http://fubar.com/))*

*= @import \http://fubar.com http://fubar.com/\;*



Is there a correct way of calling this? Otherwise, is there a way to just
pass through raw CSS, from my input edn / clj? Thanks for any insights.


*2. *

Hi Tim, You can do two things here.
Use garden.stylesheet/cssfn to create a temporary css function:
(def url (cssfn :url))

Use garden.def/defcssfn to do essentially same thing:
(defcssfn url)

You can then use either of these approaches to achieve the result you're
interested in.

(css (at-import (url http://example.com/;)))

Otherwise, is there a way to just pass through raw CSS?

People have asked me about this a number of times and it's something I've
generally been against from the start. It leads to dirty hacks and strange
bugs which are usually the result of operator errors. By eliminating the
number of places where one can pass raw strings Garden can ensure correct
output for most cases and in turn the number of issues that might be
opened. Of course, you can still do wacky stuff inside selectors.

Feel free to ask your questions in the issue tracker as well. It's nice to
have these answers documented there for future users.

...


Thanks

Tim Washington
Interruptsoftware.com http://interruptsoftware.com



On Sat, Mar 22, 2014 at 9:41 PM, Joel Holdbrooks cjholdbro...@gmail.comwrote:

 Greetings everyone,

 About a year ago I began working on Garden and in the short time the
 library has been around it's grown a bit. Although many folks seem to be
 interested in it, there's certainly not as much adoption of the library as
 I'd like to see. Sass, Less, and (god help us) pure CSS still appear to be
 the default choices for many people writing web applications in Clojure.

 This is something I'd like to change... but I need *your* help!

 No, no. Put down the phone. Don't look for a KickStarter URL. It's nothing
 like that.

 How you can help Garden

 I'm looking for individuals who are interested in the following:


- improving the compiler code
- improving/extending existing API's
- building an interface to the CSSOM

 I'm also open to good 'ol fashioned suggestions, pain points you've
 experienced using the library, or flat out letting me know what it would
 take to get you to choose Garden over the alternatives for your next
 project.

 How you can help Thorn

 Thorn is very young project and has no official release yet. So what is
 it? At the moment it's the beginnings of a Sass Parse Tree transformer;
 something that will take CSS/SCSS/Sass code and give you Garden code.
 There's a lot of fabulous libraries available in Sass and I'm sure it's a
 big factor when choosing how to go about CSS generation.

 I'm looking for individuals who are interested in the following:


- accurately transforming CSS/SCSS/Sass to real Clojure code targeting
Garden
- accurately transforming Less to real Clojure code targeting Garden

 Why?

 I deeply believe that being able to author CSS in Clojure or ClojureScript
 is a 

not quite getting refs

2014-03-26 Thread Greg D
I've looked, but can't find, a discussion of the choice of a history 
mechanism for refs.

I can't understand why the transactions just don't check #'identical? for 
the ref value, rather than maintaining a history queue. In other words, I 
don't see why
(dosync (ref-set foo @foo)))
should cause other ongoing transactions, that use foo, to retry. Nothing 
about foo has changed that will alter a retried transaction.

Since an #'identical? mechanism would seem to

   - be easier to implement
   - be faster to check at the end of a tranaction
   - cause fewer retries

it must be that I don't really get it yet. Does anyone have a doc pointer 
that would help with the details?

-- 
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] stch.sql 0.1.0 - A DSL for SQL query, DML, and DDL

2014-03-26 Thread david
I'm excited to announce stch.sql.  A library for generating JDBC compatible 
SQL statements.  Based on code from Honey 
SQLhttps://github.com/jkk/honeysqland ideas from 
Lobos http://budu.github.io/lobos/ and 
SQLingvohttps://github.com/r0man/sqlingvo. 
Many thanks to the authors of those libraries.

Full documentation and examples can be found at 
https://github.com/stch-library/sql.

Add the following to your project dependencies to use:

[stch-library/sql 0.1.0]

Example code:

(- (select :users.name
 :contacts.*
'(date_format dob %m/%d/%Y))
  (from :users)
  (join :contacts
  '(= users.id contacts.userid))
  (where '(in users.status [active pending]))
  (group :users.status)
  (order-by (asc :contacts.last-name))
  (limit 25)
  (sql/format :quoting :mysql))

(create
  (- (table :users)
(integer :userID :unsigned :not-null)
(integer :orgID)
(set' :groups [user admin] (default user))
(enum :status [active inactive])
(decimal :ranking '(3 1) (default 0))
(varchar :username [50])
(chr :countryCode [2] (default US))
(primary-key :userID)
(index [:userID :orgID])
(unique :username)
(foreign-key :orgID '(orgs orgID) :on-delete-cascade))
 (engine :InnoDB)
 (collate :utf8-general-ci))

(alt
  (- (table :users)
(add (varchar :email [50]) (after :userID))
(add (varchar :firstName [25]) :first)
(add (index [:firstName :lastName]))
(add (index '(username ranking)))
(add (foreign-key :orgID '(orgs orgID) :on-delete-cascade))
(change :username (varchar :username [100]))
(drop-default :ranking)
(set-default :ranking 1)
(drop-column :countryCode)
(drop-index :uname)
(drop-primary-key)
(drop-foreign-key :fk1)))

BTW, I'm currently looking for work as a Clojure developer.  If you like 
what you see, please hit me up.

David

-- 
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.


Leiningen Survey

2014-03-26 Thread Phil Hagelberg

Hello folks.

Every year we run a survey of Leiningen users to get a better
understanding of usage patterns and where we should focus development. I
just opened this year's:

https://lein-survey-2014.herokuapp.com

It would be great if you could take a minute or two to fill it out.

Thanks!

-Phil


pgpcLQ8GkiSc9.pgp
Description: PGP signature


Re: Leiningen Survey

2014-03-26 Thread Hoàng Minh Thắng
Hey Phil,
What do you mean unmanaged jars in the question What annoys you about 
Leiningen?

-- 
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: Leiningen Survey

2014-03-26 Thread Gal Dolber
How do I turn on auto-cleaning of transitively-compiled .class files?


On Wed, Mar 26, 2014 at 3:34 PM, Hoàng Minh Thắng p...@banphim.net wrote:

 Hey Phil,
 What do you mean unmanaged jars in the question What annoys you about
 Leiningen?

 --
 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.


generators...?

2014-03-26 Thread Christopher Howard
Hi. I'm still fairly new to Clojure. I was wondering: What's the
easiest way to make a generator (or something that would be as useful).
In one application, I need something that will return a different color
each time I call it - following a predefined list of colors, and
starting over again at the beginning when colors are exhausted.

-- 
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: generators...?

2014-03-26 Thread Gary Trakhman
cycle - http://clojuredocs.org/clojure_core/clojure.core/cycle

And generally, this class of functionality is called lazy-seqs.


On Wed, Mar 26, 2014 at 3:59 PM, Christopher Howard cmhowa...@alaska.eduwrote:

 Hi. I'm still fairly new to Clojure. I was wondering: What's the
 easiest way to make a generator (or something that would be as useful).
 In one application, I need something that will return a different color
 each time I call it - following a predefined list of colors, and
 starting over again at the beginning when colors are exhausted.

 --
 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: generators...?

2014-03-26 Thread Ben Wolfson
If you really want something that can be called repeatedly and returns
something different each time (rather than just iterating through an
infinite sequence, which seems like it would be the more functional-ish
approach):

user (defn cycle-gen [input]
(let [iter (atom (cycle input))]
  (fn [] (let [v (first @iter)]
   (swap! iter rest)
   v
#'user/cycle-gen
user (def colors (cycle-gen '(red green blue)))
#'user/colors
user (colors)
red
user (colors)
green
user (colors)
blue
user (colors)
red
user (colors)
green
user (colors)
blue



On Wed, Mar 26, 2014 at 12:59 PM, Christopher Howard
cmhowa...@alaska.eduwrote:

 Hi. I'm still fairly new to Clojure. I was wondering: What's the
 easiest way to make a generator (or something that would be as useful).
 In one application, I need something that will return a different color
 each time I call it - following a predefined list of colors, and
 starting over again at the beginning when colors are exhausted.

 --
 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.




-- 
Ben Wolfson
Human kind has used its intelligence to vary the flavour of drinks, which
may be sweet, aromatic, fermented or spirit-based. ... Family and social
life also offer numerous other occasions to consume drinks for pleasure.
[Larousse, Drink entry]

-- 
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: generators...?

2014-03-26 Thread Ben Wolfson
cycle isn't really the same thing, though, at least if the OP really does
require (for some reason) something that can be called repeatedly and get a
different answer each time.


On Wed, Mar 26, 2014 at 1:05 PM, Gary Trakhman gary.trakh...@gmail.comwrote:

 cycle - http://clojuredocs.org/clojure_core/clojure.core/cycle

 And generally, this class of functionality is called lazy-seqs.


 On Wed, Mar 26, 2014 at 3:59 PM, Christopher Howard 
 cmhowa...@alaska.eduwrote:

 Hi. I'm still fairly new to Clojure. I was wondering: What's the
 easiest way to make a generator (or something that would be as useful).
 In one application, I need something that will return a different color
 each time I call it - following a predefined list of colors, and
 starting over again at the beginning when colors are exhausted.

 --
 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.




-- 
Ben Wolfson
Human kind has used its intelligence to vary the flavour of drinks, which
may be sweet, aromatic, fermented or spirit-based. ... Family and social
life also offer numerous other occasions to consume drinks for pleasure.
[Larousse, Drink entry]

-- 
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: generators...?

2014-03-26 Thread Gary Trakhman
true, he did say 'or something that would be as useful', but lazy-seqs are
more useful :-).


On Wed, Mar 26, 2014 at 4:08 PM, Ben Wolfson wolf...@gmail.com wrote:

 cycle isn't really the same thing, though, at least if the OP really
 does require (for some reason) something that can be called repeatedly and
 get a different answer each time.


 On Wed, Mar 26, 2014 at 1:05 PM, Gary Trakhman gary.trakh...@gmail.comwrote:

 cycle - http://clojuredocs.org/clojure_core/clojure.core/cycle

 And generally, this class of functionality is called lazy-seqs.


 On Wed, Mar 26, 2014 at 3:59 PM, Christopher Howard cmhowa...@alaska.edu
  wrote:

 Hi. I'm still fairly new to Clojure. I was wondering: What's the
 easiest way to make a generator (or something that would be as useful).
 In one application, I need something that will return a different color
 each time I call it - following a predefined list of colors, and
 starting over again at the beginning when colors are exhausted.

 --
 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.




 --
 Ben Wolfson
 Human kind has used its intelligence to vary the flavour of drinks, which
 may be sweet, aromatic, fermented or spirit-based. ... Family and social
 life also offer numerous other occasions to consume drinks for pleasure.
 [Larousse, Drink entry]

  --
 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: Leiningen Survey

2014-03-26 Thread Phil Hagelberg
On Wednesday, March 26, 2014 11:34:27 AM UTC-7, Hoàng Minh Thắng wrote:
 What do you mean unmanaged jars in the question What annoys you about 
Leiningen?

Some people are stuck using random jar files they downloaded manually from 
various places on the web rather than dependencies from a proper repository.

On Wednesday, March 26, 2014 11:46:38 AM UTC-7, Gal Dolber wrote:
 How do I turn on auto-cleaning of transitively-compiled .class files?

Looks like this is actually not documented in sample.project.clj; thanks 
for bringing this up. It's done by setting :clean-non-project-classes in 
your project.clj file.

-Phil

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To 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.


creating a map

2014-03-26 Thread Andy Smith
Hi all,

I was wondering why this doesn't create a map 1 - 2 :

(into {} (partition 2 2 12))

Must be yet another misunderstanding of mine.

Thanks

Andy

-- 
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.


ANNN: ClojureScript 0.0-2197

2014-03-26 Thread David Nolen
ClojureScript, the Clojure compiler that emits JavaScript source code.

README and source code: https://github.com/clojure/clojurescript

New release version: 0.0-2197

Leiningen dependency information:

[org.clojure/clojurescript 0.0-2197]

Changes  Enhancements:
* updated Google Closure Library dependency
* Allow the language_in  the language_out option to be set for the google
closure compiler
* Use Array.isArray when building for node.js

Fixes:
* CLJS-774: ensure correct cljs.reader inst and ratio parsing.
* CLJS-782: toString implementation for UUID
* CLJS-780: apply-to broken for arg count = 6
* CLJS-778: RSeq does not implement INext, incorrect -rest implementation
* CLJS-777: multimethods are not IFn
* CLJS-772: Support :none  :whitespace optimizations under Node.js
* CLJS-728: fix (get coll k) when coll is vector-like and k is non-numeric.
* CLJS-757: Remove redundant bounds checking in PersistentVector and
TransientVector.
* CLJS-745: Support destructuring maps with namespaced keywords
* CLJS-768: Fix assoc!-ing non-numeric keys into TransientVector.
* CLJS-770: refactor goog-style JS dependency bits into cljs.js-deps,
populate :js-dependency-index in default cljs environments

-- 
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: creating a map

2014-03-26 Thread Michael Gardner
For reasons unclear to me, (into {} ...) expects a sequence of 2-element 
*vectors*, not just 2-element collections. partition returns a seq of lists, 
not vectors, which is why you're getting that exception. You could try (into {} 
(map vec (partition 2 2 12))) instead.

On Mar 26, 2014, at 15:36 , Andy Smith the4thamig...@googlemail.com wrote:

 Hi all,
 
 I was wondering why this doesn't create a map 1 - 2 :
 
 (into {} (partition 2 2 12))
 
 Must be yet another misunderstanding of mine.
 
 Thanks
 
 Andy
 
 -- 
 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.


finding lein templates

2014-03-26 Thread Brian Craft
The lein help docs suggest finding templates with

https://clojars.org/search?q=lein-template

but the result is incomplete, and inaccurate. Using lein-template (with 
quotes) in the search field produces more accurate results, but they're 
still incomplete. parseapp/lein-template, for example, doesn't show up. Is 
there an accurate, complete way to search for lein templates?

-- 
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] Session 0.1.3 - A live-coding environment for Clojure

2014-03-26 Thread kovas boguta
If someone can figure out how to include the datomic transactor within
a lein plugin, then its a possibility that can at least be considered.

Overall though, I'm not sure its worth the effort. Session is more of
a standalone app, like Light Table. If anything, the packaging should
move towards that scenario, rather than the other way.





On Wed, Mar 26, 2014 at 8:38 AM, Marc Limotte mslimo...@gmail.com wrote:
 I do like that Gorilla is distributed as a lein plugin, so I can easily
 start it up in the context of my project alongside my classpath and my code.
 Would a plugin make sense as an option for Session?

 marc



 On Tue, Mar 25, 2014 at 6:07 PM, kovas boguta kovas.bog...@gmail.com
 wrote:

 On Tue, Mar 25, 2014 at 3:05 PM, Jony Hudson jonyepsi...@gmail.com
 wrote:
  the way you aggregate things in the rendered output is just the way
  you'd
  aggregate the values. I think these are the core ideas which make both
  of
  the renderers powerful.

 I'm highly in agreement with this POV.

 The way most JS libraries to do it, which is you supply a DOM element
 to the lib and then it populates it with more content, drives me
 completely insane. It makes things impossible to compose or
 algorithmically generate, you gotta write logic yourself to built up
 the structure and tie everything together.


  Specifically, with respect to extensibility, my aim with Gorilla was to
  make
  it as extensible as possible from the Clojure side, as I'm primarily

 I think this is a real benefit of the Gorilla way. You can create
 renderers at the REPL itself, since the rendering happens within the
 same evaluation environment.

 I think this is a sound idea, and not necessarily an either/or choice.
 I'm thinking about a way to have some form of rendering within the
 evaluation environment as well, but it requires more hammock time. One
 obvious use case is elliding large outputs.

 Also, it would be pretty interesting to see if Session's renderers
 could be reused inside Gorilla. It would be great if we could
 standardize on the rendering side of things, so content created in
 these systems can flow between them.

 Anyway thanks for chiming in!

 --
 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: Clojure + BDD + TDD + Pairing...

2014-03-26 Thread Marcus Blankenship
We could also decide on a schedule, so folks can sign-up to pair with each 
other.  How many hours a week would people want to do this?

On Mar 26, 2014, at 7:58 AM, Marc Bluemner marc.bluem...@googlemail.com wrote:

 I guess wie Need to Devide on a pairing method wemux oremacs or whatever 
 else there is .I use emacs but am good with vim and tmux too. I would 
 prefer emacs as I'm switching  to it St the Moment  
 --
 Sent from Mailbox for iPhone
 
 
 On Wed, Mar 26, 2014 at 2:57 PM, Marcus Blankenship mar...@creoagency.com 
 wrote:
 
 Hi guys,
 
 I'm glad the idea of pairing to learn is interesting to you!  Any suggestions 
 on how we proceed?
 
 Sent from my iPhone
 
 On Mar 26, 2014, at 5:23 AM, Marc Bluemner marc.bluem...@googlemail.com 
 wrote:
 
 Hahahah you saved your ass there Jason :) BDD is TDD with more focus on 
 business value and Costomer interviews. I got a copy of BDD in action but Im 
 a reviewer so I dont realy have it ;)
 
 
 On Tuesday, March 25, 2014 4:45:32 PM UTC+1, Jason Felice wrote:
 I do TDD, even with my clojure (combined with repl-driven development).  
 BDD, however, doesn't make a lot of sense in clojure-land.  If logic is kept 
 to pure functions as much as possible and state management kept to the 
 outside of the app (highly recommended), TDD becomes really fun and 
 managable without worrying about things  behaviors.
 
 (I say this knowing that there are a dozen conflicting notions of BDD.)
 
 
 On Tue, Mar 25, 2014 at 9:43 AM, Gilberto Garcia giba...@gmail.com wrote:
 Hi Marcus,
 
 I'm also starting with Clojure and would like to find someone to pair and to 
 study Clojure together.
 
 Best regards,
 Gilberto
 
 
 
 On 03/25/2014 09:50 AM, Marc Bluemner wrote:
 Hey Marcus, 
 
 Im Marc from Germany! Im actualy learning Clojure and am trying to get good 
 at BDD, we are trying to implement it at work so practice would be great. I 
 must say Ive never done pair programming but Im realy eager to try. SO if 
 you like Im absolutly open for everything.
 
 Greetings Marc
 
 Am Mittwoch, 30. Oktober 2013 04:43:54 UTC+1 schrieb Marcus Blankenship:
 Hi Folks,
 
 I'm a Clojure n00b, but am interested in finding another n00b who aspires 
 to learn Clojure, and do so using BDD / TDD practices through regular 
 pairing sessions.  I've found novice - novice pairing to be a great way 
 to ramp up on skills, but I don't live near anyone who I can pair with.  
 
 I'm thinking that doing 3 1-hour sessions a week, for a month, would give 
 us a nice start.  Obviously, this would be remote pairing via ScreenHero 
 (or some other tool).
 
 Anyone interested?
 
 Best,
 Marcus
 
 
 marcus blankenship
 \\\ Partner, Problem Solver, Linear Thinker
 \\\ 541.805.2736 \ @justzeros \ skype:marcuscreo
 
 -- 
 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 the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, 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 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 the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, 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 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 

Re: ANNN: ClojureScript 0.0-2197

2014-03-26 Thread Cesar Canassa
I've been playing around with Node.js and ClojureScript recently and I am
very happy to see that the :none  :whitespace optimizations were added.

Thanks David!

Cesar Canassa


On Wed, Mar 26, 2014 at 5:40 PM, David Nolen dnolen.li...@gmail.com wrote:

 ClojureScript, the Clojure compiler that emits JavaScript source code.

 README and source code: https://github.com/clojure/clojurescript

 New release version: 0.0-2197

 Leiningen dependency information:

 [org.clojure/clojurescript 0.0-2197]

 Changes  Enhancements:
 * updated Google Closure Library dependency
 * Allow the language_in  the language_out option to be set for the
 google closure compiler
 * Use Array.isArray when building for node.js

 Fixes:
 * CLJS-774: ensure correct cljs.reader inst and ratio parsing.
 * CLJS-782: toString implementation for UUID
 * CLJS-780: apply-to broken for arg count = 6
  * CLJS-778: RSeq does not implement INext, incorrect -rest implementation
 * CLJS-777: multimethods are not IFn
 * CLJS-772: Support :none  :whitespace optimizations under Node.js
 * CLJS-728: fix (get coll k) when coll is vector-like and k is non-numeric.
 * CLJS-757: Remove redundant bounds checking in PersistentVector and
 TransientVector.
 * CLJS-745: Support destructuring maps with namespaced keywords
 * CLJS-768: Fix assoc!-ing non-numeric keys into TransientVector.
 * CLJS-770: refactor goog-style JS dependency bits into cljs.js-deps,
 populate :js-dependency-index in default cljs environments

  --
 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: Clojure/West 2014 Videos

2014-03-26 Thread Brian Craft
Wow, it's nice to be able to watch the sessions I missed.

Were the lightning talks recorded?


On Tuesday, March 25, 2014 6:20:39 AM UTC-7, Alex Miller wrote:

 Enjoy! The ones that aren't up yet were recorded and edited but had 
 glitches in the upload or encoding that might take a bit to correct.

 Thanks to Prismatic for letting us borrow their upload bandwidth to get 
 them online and to Lynn Grogan for doing the metadata editing late last 
 night.

 Alex



-- 
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: How did you learn Clojure?

2014-03-26 Thread Marcus Blankenship
This is awesome, thanks for sharing Aditya!  (Thank you to all who shared as 
well!)

I agree with your concept of whatever makes the work real for oneself, and 
this is where I'm struggling a bit.  I think finding an O/S project and 
contributing to it would do the trick, but we'll see.

Thanks for all the great information!

Best,
Marcus

On Mar 23, 2014, at 9:22 PM, Aditya Athalye aditya.atha...@gmail.com wrote:

 Marcus, 
 Thanks for asking the question and instigating this discussion.
 
 A bit late into the thread, but I just want to narrate my experience so far
 as I'm a Clojure n00b (actually, I'm really a programming n00b).
 
 I found 4clojure and Clojure Koans useful, to get an initial feel 
 for the language and some of the basic ideas contained therein.
 I used (and use) Halloway's Programming Clojure to understand
 the basic concepts. 
 
 I also found it incredibly helpful to attend a hands-on (fantastic)
 Clojure workshop that @ghoseb conducted.
 
 I'd term this phase as picking up some of the motor skills.
 
 I think the following minimum set of things helps become 
 creatively productive with Clojure:
 - Clojure's primary data structures and sequence abstraction
 - Manipulation of collections / sequences
 - Core functions (it's sufficient to be only peripherally aware of 
   macros / protocols/multi-methods / concurrency semantics,
   to begin with... They reveal themselves through libraries, 
   once one deep-dives into those through daily use.)
 - REPL-driven development / the inside-out flavour of FP
   (particularly to visualize and plan intermediate data transformations
that will lead to the final output of the function;
inspecting types and classes of things, and trying to understand
the various errors one produces.)
 
 Beyond that IMHO only a real project will provide the context
 and the constraints, both of which are required to produce focus.
 Ideally this project would involve ongoing development by other people.
 
 By happy accident I happen to be writing a fair amount of Clojure for 
 browser automation, with clj-webdriver, at a company where Clojure
 is the workhorse of our server-side software (@helpshift).
 
 My particular situation has the following characteristics:
 - Specific problem domain
 - Write clojure daily
 - Read clojure daily
 - Get and do peer-reviews of code by other 
   (often way way better) programmers
 - Fast feedback cycles (= 1 day)
 - Heavy use of at least one library from the Clojure ecosystem... 
- to have to keep cross-referencing the docs, 
- be forced to look into library functions when you misuse them
  (therefore read s'more code by an orders of magnitude superior engineer)
 - and having to do double-takes at the fundamentals (especially when 
   abstractions leak 
 http://www.joelonsoftware.com/articles/LeakyAbstractions.html)
 - Bonus: other people happen to depend on this work, so there's no easy way
   to slack off thinking if something particularly nasty starts to block 
 progress :-)
 - Bonus: reading application error logs to see what's happening under the hood
 
 Also, I'm working through Dimitri Sotnikov's Web Development with Clojure,
 and I have the Clojure cookbook handy to look through for ideas. 
 I tend to use Clojuredocs's quick reference several times a day 
 (http://clojuredocs.org/quickref/Clojure%20Core), and often read core docs 
 and library docs to understand what I just did that so magically worked! :)
 
 Eric Normand's video series also looks very interesting 
 (http://www.purelyfunctional.tv/).
 
 Beyond that, I found working through SICP has given (is giving) me the tools
 to reason better about Clojure's data structures and about functional concepts
 in general (hat tip @ghoseb, again).
 
 As I try to pick up more working proficiency, I intend to explore 
 different approaches to writing web apps with Clojure/Clojurescript 
 (through small projects using ring/compojure, Hoplon, Pedestal, 
 Caribou, Om... I may actually try to write and rewrite the same small project,
 with at least two or three of these libraries.)
 
 Afterthought:
 Initially I struggled with the notion of real projects. Now, I prefer to 
 interpret it 
 as whatever makes the work real for oneself, as opposed to being predicated 
 on utility to lots of people, or on novelty (I'd argue it's actually better 
 to 
 solve problems other people have solved many times over).
 
 My 0.0002 BTC.
 Thanks for reading! 
 - Aditya.
 
 
 
 
 On Sunday, March 23, 2014 9:15:04 PM UTC+5:30, Marcus Blankenship wrote:
 Thanks to all who responded! 
 
 
 On Mar 21, 2014, at 7:17 AM, Lee Spector lspe...@hampshire.edu wrote: 
 
  
  A little thing but I use it in when teaching Clojure to newbies and maybe 
  it'll be useful for others: 
  
  https://github.com/lspector/clojinc/blob/master/src/clojinc/core.clj 
  
  -Lee 
  
  -- 
  You received this message because you are subscribed to the Google 
  Groups Clojure group. 
  To post to this 

One more question about invoking java methods from Clojure

2014-03-26 Thread Brandon Barret

  I am working on a project that requires me to get the size of a file and 
access it's last date of modification. It seems like the java methods 
.length and .lastmodified could be pretty handy in this situation. I am, 
however, having a bit of trouble wrapping my head around how to access a 
java method from a clojure project. Some examples I have seen import the 
java classes directly, as you would in a standard java project, whereas 
others seem to take a different approach. I decided to import java.io.File 
and try to get the length of a file:

 (defn get-length [file]
(println (.length file---a rather crude representation of 
my effort.

 When I ran this, no exceptions were thrown and it gave me a length, only 
that length was the number of words in the file name I provided, not the 
actual size of the file. It seems as though clojure may have a different 
length function built-in, but I'm not sure. So to get to the overall point: 
what is the standard way to access java methods from clojure (if there is 
one)? Do I simply need to import the java class, or is there much more to 
it that I am not yet understanding? 

 
 Any tips would be great. I am new and loving the language, but a bit 
confused. 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: One more question about invoking java methods from Clojure

2014-03-26 Thread Moritz Ulrich
You are likely passing a string to the function, not a java.io.File object.

On Thu, Mar 27, 2014 at 1:16 AM, Brandon Barret mrbarret...@gmail.com wrote:

   I am working on a project that requires me to get the size of a file and
 access it's last date of modification. It seems like the java methods
 .length and .lastmodified could be pretty handy in this situation. I am,
 however, having a bit of trouble wrapping my head around how to access a
 java method from a clojure project. Some examples I have seen import the
 java classes directly, as you would in a standard java project, whereas
 others seem to take a different approach. I decided to import java.io.File
 and try to get the length of a file:

  (defn get-length [file]
 (println (.length file---a rather crude representation of
 my effort.

  When I ran this, no exceptions were thrown and it gave me a length, only
 that length was the number of words in the file name I provided, not the
 actual size of the file. It seems as though clojure may have a different
 length function built-in, but I'm not sure. So to get to the overall point:
 what is the standard way to access java methods from clojure (if there is
 one)? Do I simply need to import the java class, or is there much more to it
 that I am not yet understanding?


  Any tips would be great. I am new and loving the language, but a bit
 confused. 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: How did you learn Clojure?

2014-03-26 Thread Daniel Higginbotham
Chiming in a bit late, but here was my path:

* Read Land of Lisp by Conrad Barski. This was my first real contact with 
lisp and functional programming. I found it challenging, but the book is 
well-written and the technique of teaching through writing games was 
perfect for me. It uses common lisp which is almost baroque compared to 
Clojure, but it was helpful later in getting a better sense of Clojure's 
roots. Also, most of the classic lisp books out there use common lisp
* Tried to write my own web-based game using common lisp. This was true fun 
and I learned a ton
* Read On Lisp by Paul Graham. It is an excellent book
* Was introduced to Clojure through a talk given by Alan Dipert at my 
workplace
* Learned Clojure by skipping around Clojure in Action, Programming 
Clojure, and Clojure Programming. Settled on Clojure Programming.
* projecteuler.net has been a good help
* I've been teaching Clojure to folks at work, which forces me to deeply 
understand the material
* At the same time, I've kept building little web apps to solidify my 
knowledge. One of them, http://gratefulplace.com, is actually used :)

I feel like I know enough to get stuff done, but there's still so much more 
to learn. Most recently I've been brushing up on math/logic so that I can 
better understand the more mathy texts whenever I encounter them.

On Thursday, March 20, 2014 9:08:41 PM UTC-4, Marcus Blankenship wrote:

 Hi Folks, 

 I'm a post technical PM who's fascinated by Clojure, and want to learn it, 
 but am having a hard time without a real project to work on. It's 
 actually excited me so much I'm considering hanging up my PM hat and diving 
 back in the programmer pool again! 

 My problem appears to be 1) focus, and 2) fear. Focus because I can't 
 (yet) earn a living on a clojure project, so it must be done during off 
 hours. Fear because it's harder and more different than the old OO 
 languages I've used in the past. 

 So I'm curious: how did you learn Clojure well enough to be proficient 
 with it, or how are you working on learning it? 

 Anyone else facing the focus + fear dilemma? 

 Sent from my iPhone

-- 
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: One more question about invoking java methods from Clojure

2014-03-26 Thread Brandon Barret

 Also, when I run either method, it returns 0. Do I need to set up the 
function so it can return a long value or date value, respectively? The 
.getName method seems to work fine. 

-- 
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: One more question about invoking java methods from Clojure

2014-03-26 Thread Brandon Barret


 Wow...I am..wow, you are right. Thanks for the quick reply!

-- 
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: One more question about invoking java methods from Clojure

2014-03-26 Thread Brandon Barret


On Wednesday, March 26, 2014 8:24:15 PM UTC-4, Brandon Barret wrote:



  Wow...I am..wow, you are right. Thanks for the quick reply! So I would 
 set up the parameter as a file Object first and then it should work okay? I 
 think I am seeing the error of my ways quite clearly!


-- 
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.


mailing list for Session: session-platform

2014-03-26 Thread kovas boguta
I've created a google groups-based ML for Session, for those interested:

https://groups.google.com/forum/#!forum/session-platform

-- 
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 associated with a particular state

2014-03-26 Thread Atamert Ölçgen
I would use 3 records:

(defrecord DownNode []
  SomeInterfaceApplicableToDownState
  (wake-up [_] (-WaitingNode))
  ...
  InterfaceApplicableToAllNodes
  ...)

(defrecord WaitingNode []
  SomeInterfaceApplicableToWaitingState
  (shutdown [_] (-DownNode))
  (execute [_ job-id] (-RunningNode job-id))
  ...
  InterfaceApplicableToAllNodes
  ...)

(defrecord RunningNode [job-id]
  SomeInterfaceApplicableToRunningState
  ...
  InterfaceApplicableToAllNodes
  ...)


After all, you won't be bashing the state of node in place, you will be
constructing a new node at each modification. (unless you define the attrs
mutable)



On Tue, Mar 25, 2014 at 5:20 PM, László Török ltoro...@gmail.com wrote:

 AFAIK the only thing that records do not support compared to StructMaps is
 namespaced keyword lookup, i.e. (:some-ns/a-key a-record).

 If you do not need this, you should consider using records.

 Las

 On Tue, Mar 25, 2014 at 4:52 PM, Moritz Ulrich mor...@tarn-vedra.dewrote:

 The data type created by defstruct isn't anything more than a map
 which can store the specified fields a bit more efficient than
 'normal' maps. You can just `assoc' any other key-value pairs as in
 any other map.

 Also, have a look at records - I think StructMaps have been deprecated
 (or at least aren't recommended anymore) for some time now. A record
 (`defrecord') will do pretty much the same, just nicer ;-)

 On Tue, Mar 25, 2014 at 1:51 AM,  cmhowa...@alaska.edu wrote:
  Hi. I'm very new to Clojure, but I've read most of the functional
  programming tutorial http://java.ociweb.com/mark/clojure/article.html
 .
 
  Suppose I have a data structure called node that can be in one of a
 number
  of different states -- namely, down, waiting, and running. Suppose
  that in the running state, the node has a job-id number associated
 with
  it, but such a number is not applicable in the other two states. Should
 I
  add an extra field, and only check that field in the running state,
 like
  so...
 
  (defstruct node :state :job-id)
 
  Or is there some better, or more clojure-ish, way to approach this?
 
  If I was doing this in Haskell, I think that I would perhaps make some
 kind
  of algebraic NodeState data type, and have the JobId only attached to
 the
  Running constructor.
 
  --
  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.




-- 
Kind Regards,
Atamert Ölçgen

-+-
--+
+++

www.muhuk.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
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this 

Re: creating a map

2014-03-26 Thread Robert Marianski
into expects that because it is implemented with conj.

 (conj {} [:foo :bar])
{:foo :bar}


On Wednesday, March 26, 2014 4:41:16 PM UTC-4, Michael Gardner wrote:

 For reasons unclear to me, (into {} ...) expects a sequence of 2-element 
 *vectors*, not just 2-element collections. partition returns a seq of 
 lists, not vectors, which is why you're getting that exception. You could 
 try (into {} (map vec (partition 2 2 12))) instead. 

 On Mar 26, 2014, at 15:36 , Andy Smith 
 the4th...@googlemail.comjavascript: 
 wrote: 

  Hi all, 
  
  I was wondering why this doesn't create a map 1 - 2 : 
  
  (into {} (partition 2 2 12)) 
  
  Must be yet another misunderstanding of mine. 
  
  Thanks 
  
  Andy 
  
  -- 
  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 the Google 
 Groups Clojure group. 
  To unsubscribe from this group and stop receiving emails from it, 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: Clojure/West 2014 Videos

2014-03-26 Thread Alex Miller
Nope, sorry.

-- 
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: How did you learn Clojure?

2014-03-26 Thread gaz jones
A technique I use whenever I need to learn a new language is to write the
same application I already have in another language.  I generally choose
downloading nzbs from usenet as it can involve a number of interesting
programming techniques, at least enough to give you a pretty good idea of
how a language handles things like:

* threading and work queues (downloading files concurrently)
* socket io (writing a simple nntp client)
* xml processing (parsing nzb files)
* binary encoding/decoding (yenc implementation)
* curses style ui
* web ui
* command line arguments
* configuration
* signal handling
* testing (haha kidding)

TBH I usually get about 50% of the way through and have enough of a handle
on the language at that point to abandon my efforts and move on.

On Wed, Mar 26, 2014 at 7:22 PM, Daniel Higginbotham nonrecurs...@gmail.com
 wrote:

 Chiming in a bit late, but here was my path:

 * Read Land of Lisp by Conrad Barski. This was my first real contact
 with lisp and functional programming. I found it challenging, but the book
 is well-written and the technique of teaching through writing games was
 perfect for me. It uses common lisp which is almost baroque compared to
 Clojure, but it was helpful later in getting a better sense of Clojure's
 roots. Also, most of the classic lisp books out there use common lisp
 * Tried to write my own web-based game using common lisp. This was true
 fun and I learned a ton
 * Read On Lisp by Paul Graham. It is an excellent book
 * Was introduced to Clojure through a talk given by Alan Dipert at my
 workplace
 * Learned Clojure by skipping around Clojure in Action, Programming
 Clojure, and Clojure Programming. Settled on Clojure Programming.
 * projecteuler.net has been a good help
 * I've been teaching Clojure to folks at work, which forces me to deeply
 understand the material
 * At the same time, I've kept building little web apps to solidify my
 knowledge. One of them, http://gratefulplace.com, is actually used :)

 I feel like I know enough to get stuff done, but there's still so much
 more to learn. Most recently I've been brushing up on math/logic so that I
 can better understand the more mathy texts whenever I encounter them.


 On Thursday, March 20, 2014 9:08:41 PM UTC-4, Marcus Blankenship wrote:

 Hi Folks,

 I'm a post technical PM who's fascinated by Clojure, and want to learn
 it, but am having a hard time without a real project to work on. It's
 actually excited me so much I'm considering hanging up my PM hat and diving
 back in the programmer pool again!

 My problem appears to be 1) focus, and 2) fear. Focus because I can't
 (yet) earn a living on a clojure project, so it must be done during off
 hours. Fear because it's harder and more different than the old OO
 languages I've used in the past.

 So I'm curious: how did you learn Clojure well enough to be proficient
 with it, or how are you working on learning it?

 Anyone else facing the focus + fear dilemma?

 Sent from my iPhone

  --
 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: Concurrency, Parallelism, and State. And Zombies.

2014-03-26 Thread Di Xu
I really enjoy your post, especially the emacs one, I've been using vim for
five years, and always want to learn something about emacs, but didn't have
any good material to get start. That post is very useful for me.

Thanks,
Di Xu


2014-03-26 21:45 GMT+08:00 Daniel Higginbotham nonrecurs...@gmail.com:

 I've added a new chapter to Clojure for the Brave and True, Concurrency,
 Parallelism, and State. And 
 Zombieshttp://www.braveclojure.com/concurrency/.
 Here's an excerpt:

 ===
 In this chapter you'll learn what concurrency and parallelism are and why
 they matter. You'll learn about the challenges you'll face when writing
 parallel programs and about how Clojure's design helps to mitigate them.
 Finally, you'll learn a big boatload of tools and techniques for writing
 parallel programs yourself, including: futures, promises, delays, atoms,
 refs, vars, pmap, and core.reducers. Also, there will be zombies.
 ===

 I hope you all find it useful and entertaining :)

 Daniel

 --
 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.