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


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


Problem in clojars SSL Cert

2014-03-26 Thread radhika shashank




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 wrote:

> On Tue, Mar 25, 2014 at 3:05 PM, Jony Hudson 
> 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 Zombies." 
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  
> 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  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://

[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 
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  
>> 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  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,

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

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-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
)"))*

*=> "@import 
\"url(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
);*



Now, of course, I peered into the
source,
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 "))*

*=> "@import \"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 



On Sat, Mar 22, 2014 at 9:41 PM, Joel Holdbrooks wrote:

> 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

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 
SQLand ideas from 
Lobos  and 
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  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 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.


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



-- 
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 wrote:

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


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  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 wrote:
>
>> 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 > > 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  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  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 
> wrote:
>>
>> On Tue, Mar 25, 2014 at 3:05 PM, Jony Hudson 
>> 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  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  
> 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  
> 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  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...@googlegroup

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

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  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  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 wrote:
>
>> 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,   wrote:
>> > Hi. I'm very new to Clojure, but I've read most of the functional
>> > programming tutorial > >.
>> >
>> > 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, vis

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


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

> I've added a new chapter to Clojure for the Brave and True, "Concurrency,
> Parallelism, and State. And 
> Zombies."
> 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.