Re: How did you learn Clojure?

2014-03-28 Thread Aditya Athalye
@Marcus, Thanks for your kind words, Marcus.

@Gareth, +1. I feel re-implementing a past solution is a really good 
learning technique.
Half the battle is to correctly understand a problem/domain and work out 
how to solve it.
No point taking on that kind of friction if the purpose is to learn a new 
language.



On Thursday, March 27, 2014 10:20:11 PM UTC+5:30, Marcus Blankenship wrote:

 Awesome, thanks for the advice.  I need to find something I’ve written and 
 translate it to Clojure...
 On Mar 26, 2014, at 7:14 PM, gaz jones gareth@gmail.com javascript: 
 wrote:

 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 
 nonrec...@gmail.comjavascript:
  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 clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/d/optout.



 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.com javascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to 

Re: How did you learn Clojure?

2014-03-27 Thread Marcus Blankenship
Awesome, thanks for the advice.  I need to find something I've written and 
translate it to Clojure...
On Mar 26, 2014, at 7:14 PM, gaz jones gareth.e.jo...@gmail.com wrote:

 A technique I use whenever I need to learn a new language is to write the 
 same application I already have in another language.  I generally choose 
 downloading nzbs from usenet as it can involve a number of interesting 
 programming techniques, at least enough to give you a pretty good idea of how 
 a language handles things like:
 
 * threading and work queues (downloading files concurrently)
 * socket io (writing a simple nntp client)
 * xml processing (parsing nzb files)
 * binary encoding/decoding (yenc implementation)
 * curses style ui
 * web ui
 * command line arguments
 * configuration
 * signal handling
 * testing (haha kidding)
 
 TBH I usually get about 50% of the way through and have enough of a handle on 
 the language at that point to abandon my efforts and move on.
 
 On Wed, Mar 26, 2014 at 7:22 PM, Daniel Higginbotham nonrecurs...@gmail.com 
 wrote:
 Chiming in a bit late, but here was my path:
 
 * Read Land of Lisp by Conrad Barski. This was my first real contact with 
 lisp and functional programming. I found it challenging, but the book is 
 well-written and the technique of teaching through writing games was perfect 
 for me. It uses common lisp which is almost baroque compared to Clojure, but 
 it was helpful later in getting a better sense of Clojure's roots. Also, most 
 of the classic lisp books out there use common lisp
 * Tried to write my own web-based game using common lisp. This was true fun 
 and I learned a ton
 * Read On Lisp by Paul Graham. It is an excellent book
 * Was introduced to Clojure through a talk given by Alan Dipert at my 
 workplace
 * Learned Clojure by skipping around Clojure in Action, Programming Clojure, 
 and Clojure Programming. Settled on Clojure Programming.
 * projecteuler.net has been a good help
 * I've been teaching Clojure to folks at work, which forces me to deeply 
 understand the material
 * At the same time, I've kept building little web apps to solidify my 
 knowledge. One of them, http://gratefulplace.com, is actually used :)
 
 I feel like I know enough to get stuff done, but there's still so much more 
 to learn. Most recently I've been brushing up on math/logic so that I can 
 better understand the more mathy texts whenever I encounter them.
 
 
 On Thursday, March 20, 2014 9:08:41 PM UTC-4, Marcus Blankenship wrote:
 Hi Folks, 
 
 I'm a post technical PM who's fascinated by Clojure, and want to learn it, 
 but am having a hard time without a real project to work on. It's actually 
 excited me so much I'm considering hanging up my PM hat and diving back in 
 the programmer pool again! 
 
 My problem appears to be 1) focus, and 2) fear. Focus because I can't (yet) 
 earn a living on a clojure project, so it must be done during off hours. 
 Fear because it's harder and more different than the old OO languages I've 
 used in the past. 
 
 So I'm curious: how did you learn Clojure well enough to be proficient with 
 it, or how are you working on learning it? 
 
 Anyone else facing the focus + fear dilemma? 
 
 Sent from my iPhone
 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with your 
 first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.
 
 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with your 
 first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

Best,
Marcus

Marcus Blankenship
\\\ 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 clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 

Re: How did you learn Clojure?

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

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

Thanks for all the great information!

Best,
Marcus

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

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

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

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

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

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

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

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

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

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


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

 Hi Folks,

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

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

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

 Anyone else facing the focus + fear dilemma?

 Sent from my iPhone

  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: How did you learn Clojure?

2014-03-24 Thread Aditya Athalye
Marcus, 
Thanks for asking the question and instigating this discussion.

A bit late into the thread, but I just want to narrate my experience so far
as I'm a Clojure n00b (actually, I'm really a programming n00b).

I found 4clojure and Clojure Koans useful, to get an initial feel 
for the language and some of the basic ideas contained therein.
I used (and use) Halloway's Programming Clojure to understand
the basic concepts. 

I also found it incredibly helpful to attend a hands-on (fantastic)
Clojure workshop that @ghoseb conducted.

I'd term this phase as picking up some of the motor skills.

I think the following minimum set of things helps become 
creatively productive with Clojure:
- Clojure's primary data structures and sequence abstraction
- Manipulation of collections / sequences
- Core functions (it's sufficient to be only peripherally aware of 
  macros / protocols/multi-methods / concurrency semantics,
  to begin with... They reveal themselves through libraries, 
  once one deep-dives into those through daily use.)
- REPL-driven development / the inside-out flavour of FP
  (particularly to visualize and plan intermediate data transformations
   that will lead to the final output of the function;
   inspecting types and classes of things, and trying to understand
   the various errors one produces.)

Beyond that IMHO only a real project will provide the context
and the constraints, both of which are required to produce focus.
Ideally this project would involve ongoing development by other people.

By happy accident I happen to be writing a fair amount of Clojure for 
browser automation, with clj-webdriver, at a company where Clojure
is the workhorse of our server-side software (@helpshift).

My particular situation has the following characteristics:
- Specific problem domain
- Write clojure daily
- Read clojure daily
- Get and do peer-reviews of code by other 
  (often way way better) programmers
- Fast feedback cycles (= 1 day)
- Heavy use of at least one library from the Clojure ecosystem... 
   - to have to keep cross-referencing the docs, 
   - be forced to look into library functions when you misuse them
 (therefore read s'more code by an orders of magnitude superior 
engineer)
- and having to do double-takes at the fundamentals (especially when 
  abstractions 
leak http://www.joelonsoftware.com/articles/LeakyAbstractions.html)
- Bonus: other people happen to depend on this work, so there's no easy way
  to slack off thinking if something particularly nasty starts to block 
progress :-)
- Bonus: reading application error logs to see what's happening under the 
hood

Also, I'm working through Dimitri Sotnikov's Web Development with Clojure,
and I have the Clojure cookbook handy to look through for ideas. 
I tend to use Clojuredocs's quick reference several times a day 
(http://clojuredocs.org/quickref/Clojure%20Core), and often read core docs 
and library docs to understand what I just did that so magically worked! :)

Eric Normand's video series also looks very interesting 
(http://www.purelyfunctional.tv/).

Beyond that, I found working through SICP has given (is giving) me the tools
to reason better about Clojure's data structures and about functional 
concepts
in general (hat tip @ghoseb, again).

As I try to pick up more working proficiency, I intend to explore 
different approaches to writing web apps with Clojure/Clojurescript 
(through small projects using ring/compojure, Hoplon, Pedestal, 
Caribou, Om... I may actually try to write and rewrite the same small 
project,
with at least two or three of these libraries.)

Afterthought:
Initially I struggled with the notion of real projects. Now, I prefer to 
interpret it 
as whatever makes the work real for oneself, as opposed to being predicated 
on utility to lots of people, or on novelty (I'd argue it's actually better 
to 
solve problems other people have solved many times over).

My 0.0002 BTC.
Thanks for reading! 
- Aditya.




On Sunday, March 23, 2014 9:15:04 PM UTC+5:30, Marcus Blankenship wrote:

 Thanks to all who responded! 


 On Mar 21, 2014, at 7:17 AM, Lee Spector lspe...@hampshire.edujavascript: 
 wrote: 

  
  A little thing but I use it in when teaching Clojure to newbies and 
 maybe it'll be useful for others: 
  
  https://github.com/lspector/clojinc/blob/master/src/clojinc/core.clj 
  
  -Lee 
  
  -- 
  You received this message because you are subscribed to the Google 
  Groups Clojure group. 
  To post to this group, send email to clo...@googlegroups.comjavascript: 
  Note that posts from new members are moderated - please be patient with 
 your first post. 
  To unsubscribe from this group, send email to 
  clojure+u...@googlegroups.com javascript: 
  For more options, visit this group at 
  http://groups.google.com/group/clojure?hl=en 
  --- 
  You received this message because you are subscribed to the Google 
 Groups Clojure group. 
  To unsubscribe from this group and stop receiving emails from 

Re: How did you learn Clojure?

2014-03-24 Thread Gary Trakhman
For me, it went like this, but I had the luxury of a full time clojure job
that gave me some space to learn:

1. Read Joy Of Clojure.  I got the philosophy and background knowledge that
informed further study out of it.  Felt like I understood the theory and
motivations, but I was missing the 'muscle memory'.  Emacs took a few weeks
to feel familiar.
2. Worked on real code with other people, found opportunities for things
like writing a macro.
3. Read core.clj, RT.java, and Compiler.java over and over again,
especially if something unexpected happened.  Investigated every problem
until I understood it fully.
4. Read and attempted to understand the implementation code and design
tradeoffs of every non-obvious library I tried to use.  I found that, over
time, it felt like less work overall than trying and failing to blindly use
the library.
5. Read Joy Of Clojure again.  Noticed all the things I'd missed the first
time around. :-)


On Mon, Mar 24, 2014 at 12:22 AM, Aditya Athalye
aditya.atha...@gmail.comwrote:

 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 

Re: How did you learn Clojure?

2014-03-23 Thread Marcus Blankenship
Thank, Blake!

On Mar 20, 2014, at 11:50 PM, blake.wat...@pnmac.com wrote:

 Some Lisp books have been translated to Clojure.
 
 http://juliangamble.com/blog/2012/07/13/amazing-lisp-books-living-again-in-clojure/
 
 On Thursday, March 20, 2014 11:23:10 PM UTC-7, Marcus Blankenship wrote:
 Cool, thanks to all who've replied thus far. 
 
 Question: is there any value in traditional lisp / scheme texts, like SICP, 
 or Little Schemer (etc) or other books like that?  I've spent quite a bit of 
 time with them, imagining they would pay off, but I'm not sure that's a 
 normal route to Clojure proficiency. 
 
 Sent from my iPhone 
 
  On Mar 20, 2014, at 11:12 PM, Sean Corfield se...@corfield.org wrote: 
  
  On Mar 20, 2014, at 6:08 PM, Marcus Blankenship mar...@creoagency.com 
  wrote: 
  So I'm curious: how did you learn Clojure well enough to be proficient 
  with it, or how are you working on learning it? 
  
  Initial dabbling: The Joy of Clojure and a REPL. Caveat: it's not really an 
  introductory Clojure book but I had past FP experience so I felt I could 
  jump in. 
  
  Initial serious learning: Attended Amit Rathore's Clojure Bootcamp - one 
  day course for about $300 (if I remember correctly?). 
  
  Follow-on: 4clojure.com, worked through Clojure in Action as well. 
  
  Then I picked a handful of small-ish problems we'd already solved at work 
  in other languages and re-coded them in Clojure. 
  
  Since then it's been a steady stream of tackling increasingly larger 
  problems at work, over a period of about three years. 
  
  Anyone else facing the focus + fear dilemma? 
  
  There's a lot less fear if you're used to learning new languages. I try to 
  pick up a new language every year or two: Groovy in 2008/2009, Scala in 
  2009/2010, Clojure in 2010/2011 (and onward). Dabbled in Ruby, Python, 
  Haskell since then but nothing serious. Very interested in Elm right now. 
  
  As for focus, yes, you really do need a project. Either pick things 
  you've done before in other languages, or figure out something that would 
  scratch an itch (a small web app, perhaps?) and tackle that. 
  
  Sean Corfield -- (904) 302-SEAN 
  An Architect's View -- http://corfield.org/ 
  
  Perfection is the enemy of the good. 
  -- Gustave Flaubert, French realist novelist (1821-1880) 
  
  
  
 
 -- 
 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.

Best,
Marcus

Marcus Blankenship
\\\ 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 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-23 Thread Marcus Blankenship
Thanks to all who responded!


On Mar 21, 2014, at 7:17 AM, Lee Spector lspec...@hampshire.edu wrote:

 
 A little thing but I use it in when teaching Clojure to newbies and maybe 
 it'll be useful for others:
 
 https://github.com/lspector/clojinc/blob/master/src/clojinc/core.clj
 
 -Lee
 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this 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.

Best,
Marcus

Marcus Blankenship
\\\ 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 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-22 Thread Marcus Blankenship
Thanks, Jerrod, this is great advice.  Thanks so much!


On Mar 21, 2014, at 6:53 PM, Jarrod Swart jcsw...@gmail.com wrote:

 A tip if you are completely stuck on 4clojure:
 
 Often the 4clojure problem will say you can't use a particular function.  The 
 first thing I would do is go look at the source code for that function, then 
 I would try to find other functions with similar functionality.
 
 Much like learning to paint or write, you have to copy first.  Eventually 
 looking through all that source code you will start to develop a sense of how 
 a problem can be solved, and in giving any solution 4clojure lets you look at 
 the solutions of others.  Look at the most prolific 4clojure users, their 
 solutions will teach you a lot.  Look up the functions they used.  In order 
 to learn to Think in Clojure you need to understand how someone who already 
 can\does did what they did. 
 
 Another general tip is to harness momentum, when I started learning I picked 
 one thing that I could completely finish in a day.  And the trick is to dream 
 small, some things I did:
 List the files in a directory and sort them by type.
 A crypto-quote assist\solver.
 A small text based adventure game.
 
 The goal is to get a WHOLE thing done, even if it is a small thing.  I did 
 this 2-3 times a week.  Porting old code you have done before in another 
 language is great too because the big issue here will be learning to turn 
 OO\Imperative code into functional code.
 
 I also wrote a blog post listing the resources I used when just getting 
 started: http://jarrodswart.com/beginner-resources-clojure/, and a super 
 friendly 10k foot view of the reduce function: 
 http://jarrodswart.com/clojure-like-im-five-reduce-functions/.
 
 Hope this helps,
 Jarrod
 
 -- 
 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.

Best,
Marcus

Marcus Blankenship
\\\ 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 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-22 Thread Alan Moore
Read lots and lots of code. I've poured over many many GH 
projects/libraries for clojure. Take a domain you are familiar with, 
preferably something you've written before in another language, find a 
library that does that thing and then read the code until you understand it 
clearly. Try to really understand what Persistent data structures are and 
how you use them.

When you don't understand some small thing don't just gloss over it. That 
works in most other languages but you really need to slow down and try to 
understand each thing before proceeding.

Some of the hardest parts of the language for me were the subtle, but very 
powerful, automatic destructuring, shorthand notations and in some cases 
the single character that can completely change the meaning or context of 
some code - like when it is evaluated. Keep asking yourself, is this code 
being executed at this point or is it going to be used later in some other 
context (usually w.r.t. lambdas...)

Next to that I had to re-learn my understanding of LISP and the idioms of 
Clojure. I had done LISP years before but all that knowledge of (car) (cdr) 
(cddr) etc was kinda useless in helping me understand the more powerful 
features of Clojure.

Also, make sure you really understand the code == data thing. That is 
really fundamental to understanding the power of LISP in general and 
Clojure in particular.

Hope this helps. Take care!

Alan



On Saturday, March 22, 2014 11:38:43 AM UTC-7, Marcus Blankenship wrote:

 Thanks, Jerrod, this is great advice.  Thanks so much!


 On Mar 21, 2014, at 6:53 PM, Jarrod Swart jcs...@gmail.com javascript: 
 wrote:

 A tip if you are completely stuck on 4clojure:

 Often the 4clojure problem will say you can't use a particular function. 
  The first thing I would do is go look at the source code for that 
 function, then I would try to find other functions with similar 
 functionality.

 Much like learning to paint or write, you have to copy first.  Eventually 
 looking through all that source code you will start to develop a sense of 
 how a problem can be solved, and in giving any solution 4clojure lets you 
 look at the solutions of others.  Look at the most prolific 4clojure users, 
 their solutions will teach you a lot.  Look up the functions they used.  In 
 order to learn to Think in Clojure you need to understand how someone who 
 already can\does did what they did. 

 Another general tip is to harness momentum, when I started learning I 
 picked one thing that I could completely finish in a day.  And the trick is 
 to dream small, some things I did:

- List the files in a directory and sort them by type.
- A crypto-quote assist\solver.
- A small text based adventure game.


 The goal is to get a WHOLE thing done, even if it is a small thing.  I did 
 this 2-3 times a week.  Porting old code you have done before in another 
 language is great too because the big issue here will be learning to turn 
 OO\Imperative code into functional code.

 I also wrote a blog post listing the resources I used when just getting 
 started: http://jarrodswart.com/beginner-resources-clojure/, and a super 
 friendly 10k foot view of the reduce function: 
 http://jarrodswart.com/clojure-like-im-five-reduce-functions/.

 Hope this helps,
 Jarrod

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


 Best,
 Marcus

 Marcus Blankenship
 \\\ 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 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-21 Thread Sean Corfield
On Mar 20, 2014, at 6:08 PM, Marcus Blankenship mar...@creoagency.com wrote:
 So I'm curious: how did you learn Clojure well enough to be proficient with 
 it, or how are you working on learning it?

Initial dabbling: The Joy of Clojure and a REPL. Caveat: it's not really an 
introductory Clojure book but I had past FP experience so I felt I could jump 
in.

Initial serious learning: Attended Amit Rathore's Clojure Bootcamp - one day 
course for about $300 (if I remember correctly?).

Follow-on: 4clojure.com, worked through Clojure in Action as well.

Then I picked a handful of small-ish problems we'd already solved at work in 
other languages and re-coded them in Clojure.

Since then it's been a steady stream of tackling increasingly larger problems 
at work, over a period of about three years.

 Anyone else facing the focus + fear dilemma?

There's a lot less fear if you're used to learning new languages. I try to pick 
up a new language every year or two: Groovy in 2008/2009, Scala in 2009/2010, 
Clojure in 2010/2011 (and onward). Dabbled in Ruby, Python, Haskell since then 
but nothing serious. Very interested in Elm right now.

As for focus, yes, you really do need a project. Either pick things you've 
done before in other languages, or figure out something that would scratch an 
itch (a small web app, perhaps?) and tackle that.

Sean Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/

Perfection is the enemy of the good.
-- Gustave Flaubert, French realist novelist (1821-1880)





signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: How did you learn Clojure?

2014-03-21 Thread Marcus Blankenship
Cool, thanks to all who've replied thus far. 

Question: is there any value in traditional lisp / scheme texts, like SICP, or 
Little Schemer (etc) or other books like that?  I've spent quite a bit of time 
with them, imagining they would pay off, but I'm not sure that's a normal 
route to Clojure proficiency. 

Sent from my iPhone

 On Mar 20, 2014, at 11:12 PM, Sean Corfield s...@corfield.org wrote:
 
 On Mar 20, 2014, at 6:08 PM, Marcus Blankenship mar...@creoagency.com 
 wrote:
 So I'm curious: how did you learn Clojure well enough to be proficient with 
 it, or how are you working on learning it?
 
 Initial dabbling: The Joy of Clojure and a REPL. Caveat: it's not really an 
 introductory Clojure book but I had past FP experience so I felt I could 
 jump in.
 
 Initial serious learning: Attended Amit Rathore's Clojure Bootcamp - one day 
 course for about $300 (if I remember correctly?).
 
 Follow-on: 4clojure.com, worked through Clojure in Action as well.
 
 Then I picked a handful of small-ish problems we'd already solved at work in 
 other languages and re-coded them in Clojure.
 
 Since then it's been a steady stream of tackling increasingly larger problems 
 at work, over a period of about three years.
 
 Anyone else facing the focus + fear dilemma?
 
 There's a lot less fear if you're used to learning new languages. I try to 
 pick up a new language every year or two: Groovy in 2008/2009, Scala in 
 2009/2010, Clojure in 2010/2011 (and onward). Dabbled in Ruby, Python, 
 Haskell since then but nothing serious. Very interested in Elm right now.
 
 As for focus, yes, you really do need a project. Either pick things you've 
 done before in other languages, or figure out something that would scratch an 
 itch (a small web app, perhaps?) and tackle that.
 
 Sean Corfield -- (904) 302-SEAN
 An Architect's View -- http://corfield.org/
 
 Perfection is the enemy of the good.
 -- Gustave Flaubert, French realist novelist (1821-1880)
 
 
 

-- 
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-21 Thread Marcus Blankenship
Thanks, I'll check it out!

Sent from my iPhone

 On Mar 20, 2014, at 10:54 PM, Devin Walters dev...@gmail.com wrote:
 
 Shameless self-promotion: http://GetClojure.com is something I wrote to 
 hopefully help people learn Clojure. One of the primary methods I used for 
 learning Clojure was to do problems, like the ones Alex mentioned, read 
 source, and ask questions in irc. The last one is important IMO and it's the 
 reason why I wanted to make something like GetClojure. The expressions you 
 search for are all taken from the irc channel and run through a sandbox so 
 you can see what the value and output is. This lets you investigate 
 interesting ways other people have chosen to use the language, and saves you 
 some of the back and forth you might encounter on irc.
 
 All of that being said, you still need to be able to reason about what you're 
 doing, so in general I recommend it as a get unstuck sometimes tool. There 
 are some hidden gems in there though, if you go to the last page of results 
 for a search term and work backwards. (hint: search for map, go to the last 
 page, and work backwards from there for a bit) You can also find interesting 
 destructuring examples by searching for 'let AND :or', and so on.
 
 Anyway, hope it's of use to you or anyone else dropping in on this thread.
 
 Happy Clojuring,
 '(Devin Walters)
 
 On Mar 20, 2014, at 22:23, Marcus Blankenship mar...@creoagency.com wrote:
 
 Thanks, Alex!  Is it kosher to post questions about 4Clojure here?  I'm 
 stumped on a few, and simply looking up the answer often isn't helpful...  
 Is there a clojure-noobs list?
 
 Sent from my iPhone
 
 On Mar 20, 2014, at 8:11 PM, Alex Miller a...@puredanger.com wrote:
 
 Hi Marcus, 
 
 Some great problem sites that can provide opportunities for practice:
 - http://clojurescriptkoans.com/ (I think everything here is actually 
 Clojure)
 - http://4clojure.com - make sure to turn on code golf mode and look at 
 others' solutions too
 - http://exercism.io - get feedback from others on your solutions
 - https://projecteuler.net/
 - http://codingforinterviews.com/ - great email series with practice 
 problems
 
 Clojure for Web Development from Pragmatic Press is a new Clojure book 
 that is a little more focused on a problem domain and build a web app.
 
 Hope that helps...
 Alex Miller
 
 On Thursday, March 20, 2014 8:08:41 PM UTC-5, 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.
 -- 
 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 

Re: How did you learn Clojure?

2014-03-21 Thread Alex Baranosky
Just take it one step at a time.  Learning Clojure likely involves more
paradigm changes than learning languages in the past, which is why learning
those languages seemed easier. I don't think Clojure is inherently harder
than regular OO... in fact I think it is a simpler approach, but one that
requires you to retrain yourself a little.

The way I learned Clojure personally was like this:
1) read some books
2) port a tiny program of mine to Clojure
3) port a slightly bigger one to Clojure
4) get involved in open source and cleanup code and generally do Clojure
coding
5) get a job doing 95% Clojure to learn the nitty gritty stuff.
6) keep doing more open source and learning more from the community as I go

Have fun with it :)


On Thu, Mar 20, 2014 at 11:12 PM, Sean Corfield s...@corfield.org wrote:

 On Mar 20, 2014, at 6:08 PM, Marcus Blankenship mar...@creoagency.com
 wrote:
  So I'm curious: how did you learn Clojure well enough to be proficient
 with it, or how are you working on learning it?

 Initial dabbling: The Joy of Clojure and a REPL. Caveat: it's not really
 an introductory Clojure book but I had past FP experience so I felt I could
 jump in.

 Initial serious learning: Attended Amit Rathore's Clojure Bootcamp - one
 day course for about $300 (if I remember correctly?).

 Follow-on: 4clojure.com, worked through Clojure in Action as well.

 Then I picked a handful of small-ish problems we'd already solved at work
 in other languages and re-coded them in Clojure.

 Since then it's been a steady stream of tackling increasingly larger
 problems at work, over a period of about three years.

  Anyone else facing the focus + fear dilemma?

 There's a lot less fear if you're used to learning new languages. I try to
 pick up a new language every year or two: Groovy in 2008/2009, Scala in
 2009/2010, Clojure in 2010/2011 (and onward). Dabbled in Ruby, Python,
 Haskell since then but nothing serious. Very interested in Elm right now.

 As for focus, yes, you really do need a project. Either pick things
 you've done before in other languages, or figure out something that would
 scratch an itch (a small web app, perhaps?) and tackle that.

 Sean Corfield -- (904) 302-SEAN
 An Architect's View -- http://corfield.org/

 Perfection is the enemy of the good.
 -- Gustave Flaubert, French realist novelist (1821-1880)





-- 
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-21 Thread blake . watson
Some Lisp books have been translated to Clojure. 

http://juliangamble.com/blog/2012/07/13/amazing-lisp-books-living-again-in-clojure/

On Thursday, March 20, 2014 11:23:10 PM UTC-7, Marcus Blankenship wrote:

 Cool, thanks to all who've replied thus far. 

 Question: is there any value in traditional lisp / scheme texts, like 
 SICP, or Little Schemer (etc) or other books like that?  I've spent quite a 
 bit of time with them, imagining they would pay off, but I'm not sure 
 that's a normal route to Clojure proficiency. 

 Sent from my iPhone 

  On Mar 20, 2014, at 11:12 PM, Sean Corfield 
  se...@corfield.orgjavascript: 
 wrote: 
  
  On Mar 20, 2014, at 6:08 PM, Marcus Blankenship 
  mar...@creoagency.comjavascript: 
 wrote: 
  So I'm curious: how did you learn Clojure well enough to be proficient 
 with it, or how are you working on learning it? 
  
  Initial dabbling: The Joy of Clojure and a REPL. Caveat: it's not really 
 an introductory Clojure book but I had past FP experience so I felt I could 
 jump in. 
  
  Initial serious learning: Attended Amit Rathore's Clojure Bootcamp - one 
 day course for about $300 (if I remember correctly?). 
  
  Follow-on: 4clojure.com, worked through Clojure in Action as well. 
  
  Then I picked a handful of small-ish problems we'd already solved at 
 work in other languages and re-coded them in Clojure. 
  
  Since then it's been a steady stream of tackling increasingly larger 
 problems at work, over a period of about three years. 
  
  Anyone else facing the focus + fear dilemma? 
  
  There's a lot less fear if you're used to learning new languages. I try 
 to pick up a new language every year or two: Groovy in 2008/2009, Scala in 
 2009/2010, Clojure in 2010/2011 (and onward). Dabbled in Ruby, Python, 
 Haskell since then but nothing serious. Very interested in Elm right now. 
  
  As for focus, yes, you really do need a project. Either pick things 
 you've done before in other languages, or figure out something that would 
 scratch an itch (a small web app, perhaps?) and tackle that. 
  
  Sean Corfield -- (904) 302-SEAN 
  An Architect's View -- http://corfield.org/ 
  
  Perfection is the enemy of the good. 
  -- Gustave Flaubert, French realist novelist (1821-1880) 
  
  
  


-- 
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-21 Thread JPH
The example I use for starting a new language is talking to a remote
JSON API. Plenty to choose from, lets you experiment with libraries
(http, json), and work with data structures.

Also having lein new myapp speeds things along, since you're not
paralyzed on how to begin.

JPH

On 03/21/2014 09:08 AM, 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: How did you learn Clojure?

2014-03-21 Thread Alex Miller
It's totally fine to ask here (or on #clojure on IRC). noobs fully welcome. 
:) 

On Thursday, March 20, 2014 10:23:42 PM UTC-5, Marcus Blankenship wrote:

 Thanks, Alex!  Is it kosher to post questions about 4Clojure here?  I'm 
 stumped on a few, and simply looking up the answer often isn't helpful... 
  Is there a clojure-noobs list?

 Sent from my iPhone

 On Mar 20, 2014, at 8:11 PM, Alex Miller al...@puredanger.comjavascript: 
 wrote:

 Hi Marcus, 

 Some great problem sites that can provide opportunities for practice:
 - http://clojurescriptkoans.com/ (I think everything here is actually 
 Clojure)
 - http://4clojure.com - make sure to turn on code golf mode and look at 
 others' solutions too
 - http://exercism.io - get feedback from others on your solutions
 - https://projecteuler.net/
 - http://codingforinterviews.com/ - great email series with practice 
 problems

 Clojure for Web Development from Pragmatic Press is a new Clojure book 
 that is a little more focused on a problem domain and build a web app.

 Hope that helps...
 Alex Miller

 On Thursday, March 20, 2014 8:08:41 PM UTC-5, 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 clo...@googlegroups.com javascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/d/optout.



-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: How did you learn Clojure?

2014-03-21 Thread Ulises
When I started learning clojure back in 2010 I decided to give a
presentation about it at work. That set a deadline (about 3 months) in
which I had to learn the language. Having said that, I learnt /the
language/ however wroting code (toy or not) reading other people's code,
getting code reviews (asking for reviews of short snippets in IRC has been
great) has been invaluable.

Again, you could say the same thing about any other language :)


On 21 March 2014 12:31, Alex Miller a...@puredanger.com wrote:

 It's totally fine to ask here (or on #clojure on IRC). noobs fully
 welcome. :)


 On Thursday, March 20, 2014 10:23:42 PM UTC-5, Marcus Blankenship wrote:

 Thanks, Alex!  Is it kosher to post questions about 4Clojure here?  I'm
 stumped on a few, and simply looking up the answer often isn't helpful...
  Is there a clojure-noobs list?

 Sent from my iPhone

 On Mar 20, 2014, at 8:11 PM, Alex Miller al...@puredanger.com wrote:

 Hi Marcus,

 Some great problem sites that can provide opportunities for practice:
 - http://clojurescriptkoans.com/ (I think everything here is actually
 Clojure)
 - http://4clojure.com - make sure to turn on code golf mode and look at
 others' solutions too
 - http://exercism.io - get feedback from others on your solutions
 - https://projecteuler.net/
 - http://codingforinterviews.com/ - great email series with practice
 problems

 Clojure for Web Development from Pragmatic Press is a new Clojure book
 that is a little more focused on a problem domain and build a web app.

 Hope that helps...
 Alex Miller

 On Thursday, March 20, 2014 8:08:41 PM UTC-5, 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 clo...@googlegroups.com

 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com

 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+u...@googlegroups.com.

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

  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: How did you learn Clojure?

2014-03-21 Thread Andy Smith
Im in the process of learning, and I found that the clojuretv talks and 
presentations on youtube were useful.

Also the video and sample code for Rich Hickey's Ants demo is an excellent 
intro to how concurrency works in clojure :

https://www.youtube.com/watch?v=dGVqrGmwOAw
https://gist.github.com/spacemanaki/1093917

ALso Alex Yakushev's Tetris is worth working though :

http://codethat.wordpress.com/2011/09/10/writing-tetris-in-clojure/

-- 
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-21 Thread Lee Spector

A little thing but I use it in when teaching Clojure to newbies and maybe it'll 
be useful for others:

https://github.com/lspector/clojinc/blob/master/src/clojinc/core.clj

 -Lee

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this 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-21 Thread Marcus Blankenship
Hey Devin, I don't think I get getClojure.com.  What is it?

On Mar 20, 2014, at 10:54 PM, Devin Walters dev...@gmail.com wrote:

 Shameless self-promotion: http://GetClojure.com is something I wrote to 
 hopefully help people learn Clojure. One of the primary methods I used for 
 learning Clojure was to do problems, like the ones Alex mentioned, read 
 source, and ask questions in irc. The last one is important IMO and it's the 
 reason why I wanted to make something like GetClojure. The expressions you 
 search for are all taken from the irc channel and run through a sandbox so 
 you can see what the value and output is. This lets you investigate 
 interesting ways other people have chosen to use the language, and saves you 
 some of the back and forth you might encounter on irc.
 
 All of that being said, you still need to be able to reason about what you're 
 doing, so in general I recommend it as a get unstuck sometimes tool. There 
 are some hidden gems in there though, if you go to the last page of results 
 for a search term and work backwards. (hint: search for map, go to the last 
 page, and work backwards from there for a bit) You can also find interesting 
 destructuring examples by searching for 'let AND :or', and so on.
 
 Anyway, hope it's of use to you or anyone else dropping in on this thread.
 
 Happy Clojuring,
 '(Devin Walters)
 
 On Mar 20, 2014, at 22:23, Marcus Blankenship mar...@creoagency.com wrote:
 
 Thanks, Alex!  Is it kosher to post questions about 4Clojure here?  I'm 
 stumped on a few, and simply looking up the answer often isn't helpful...  
 Is there a clojure-noobs list?
 
 Sent from my iPhone
 
 On Mar 20, 2014, at 8:11 PM, Alex Miller a...@puredanger.com wrote:
 
 Hi Marcus, 
 
 Some great problem sites that can provide opportunities for practice:
 - http://clojurescriptkoans.com/ (I think everything here is actually 
 Clojure)
 - http://4clojure.com - make sure to turn on code golf mode and look at 
 others' solutions too
 - http://exercism.io - get feedback from others on your solutions
 - https://projecteuler.net/
 - http://codingforinterviews.com/ - great email series with practice 
 problems
 
 Clojure for Web Development from Pragmatic Press is a new Clojure book 
 that is a little more focused on a problem domain and build a web app.
 
 Hope that helps...
 Alex Miller
 
 On Thursday, March 20, 2014 8:08:41 PM UTC-5, 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.
 
 
 -- 
 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 

Re: How did you learn Clojure?

2014-03-21 Thread Jarrod Swart
A tip if you are completely stuck on 4clojure:

Often the 4clojure problem will say you can't use a particular function. 
 The first thing I would do is go look at the source code for that 
function, then I would try to find other functions with similar 
functionality.

Much like learning to paint or write, you have to copy first.  Eventually 
looking through all that source code you will start to develop a sense of 
how a problem can be solved, and in giving any solution 4clojure lets you 
look at the solutions of others.  Look at the most prolific 4clojure users, 
their solutions will teach you a lot.  Look up the functions they used.  In 
order to learn to Think in Clojure you need to understand how someone who 
already can\does did what they did. 

Another general tip is to harness momentum, when I started learning I 
picked one thing that I could completely finish in a day.  And the trick is 
to dream small, some things I did:

   - List the files in a directory and sort them by type.
   - A crypto-quote assist\solver.
   - A small text based adventure game.
   

The goal is to get a WHOLE thing done, even if it is a small thing.  I did 
this 2-3 times a week.  Porting old code you have done before in another 
language is great too because the big issue here will be learning to turn 
OO\Imperative code into functional code.

I also wrote a blog post listing the resources I used when just getting 
started: http://jarrodswart.com/beginner-resources-clojure/, and a super 
friendly 10k foot view of the reduce 
function: http://jarrodswart.com/clojure-like-im-five-reduce-functions/.

Hope this helps,
Jarrod

-- 
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-20 Thread blake . watson
I'm learning it now. In my case, we had a single Clojure programmer who's 
leaving and I was volunteered to take his place. =)

So, in this case, fear is very focusing. Heh.

Fun, though. He's been giving lessons and I've been reading books, using 
4Clojure, looking at a variety of different programs (Twitter, asteroids, 
Caves of Clojure).

-- 
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-20 Thread Marcus Blankenship
Cool, thanks!  Nice to have a project to work on, I'm sure!

Sent from my iPhone

 On Mar 20, 2014, at 6:52 PM, blake.wat...@pnmac.com wrote:
 
 I'm learning it now. In my case, we had a single Clojure programmer who's 
 leaving and I was volunteered to take his place. =)
 
 So, in this case, fear is very focusing. Heh.
 
 Fun, though. He's been giving lessons and I've been reading books, using 
 4Clojure, looking at a variety of different programs (Twitter, asteroids, 
 Caves of Clojure).
 -- 
 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-20 Thread Alex Miller
Hi Marcus, 

Some great problem sites that can provide opportunities for practice:
- http://clojurescriptkoans.com/ (I think everything here is actually 
Clojure)
- http://4clojure.com - make sure to turn on code golf mode and look at 
others' solutions too
- http://exercism.io - get feedback from others on your solutions
- https://projecteuler.net/
- http://codingforinterviews.com/ - great email series with practice 
problems

Clojure for Web Development from Pragmatic Press is a new Clojure book 
that is a little more focused on a problem domain and build a web app.

Hope that helps...
Alex Miller

On Thursday, March 20, 2014 8:08:41 PM UTC-5, 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: How did you learn Clojure?

2014-03-20 Thread Marcus Blankenship
Thanks, Alex!  Is it kosher to post questions about 4Clojure here?  I'm stumped 
on a few, and simply looking up the answer often isn't helpful...  Is there a 
clojure-noobs list?

Sent from my iPhone

 On Mar 20, 2014, at 8:11 PM, Alex Miller a...@puredanger.com wrote:
 
 Hi Marcus, 
 
 Some great problem sites that can provide opportunities for practice:
 - http://clojurescriptkoans.com/ (I think everything here is actually Clojure)
 - http://4clojure.com - make sure to turn on code golf mode and look at 
 others' solutions too
 - http://exercism.io - get feedback from others on your solutions
 - https://projecteuler.net/
 - http://codingforinterviews.com/ - great email series with practice problems
 
 Clojure for Web Development from Pragmatic Press is a new Clojure book that 
 is a little more focused on a problem domain and build a web app.
 
 Hope that helps...
 Alex Miller
 
 On Thursday, March 20, 2014 8:08:41 PM UTC-5, 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: How did you learn Clojure?

2014-03-20 Thread Devin Walters
Shameless self-promotion: http://GetClojure.com is something I wrote to 
hopefully help people learn Clojure. One of the primary methods I used for 
learning Clojure was to do problems, like the ones Alex mentioned, read source, 
and ask questions in irc. The last one is important IMO and it's the reason why 
I wanted to make something like GetClojure. The expressions you search for are 
all taken from the irc channel and run through a sandbox so you can see what 
the value and output is. This lets you investigate interesting ways other 
people have chosen to use the language, and saves you some of the back and 
forth you might encounter on irc.

All of that being said, you still need to be able to reason about what you're 
doing, so in general I recommend it as a get unstuck sometimes tool. There 
are some hidden gems in there though, if you go to the last page of results for 
a search term and work backwards. (hint: search for map, go to the last page, 
and work backwards from there for a bit) You can also find interesting 
destructuring examples by searching for 'let AND :or', and so on.

Anyway, hope it's of use to you or anyone else dropping in on this thread.

Happy Clojuring,
'(Devin Walters)

 On Mar 20, 2014, at 22:23, Marcus Blankenship mar...@creoagency.com wrote:
 
 Thanks, Alex!  Is it kosher to post questions about 4Clojure here?  I'm 
 stumped on a few, and simply looking up the answer often isn't helpful...  Is 
 there a clojure-noobs list?
 
 Sent from my iPhone
 
 On Mar 20, 2014, at 8:11 PM, Alex Miller a...@puredanger.com wrote:
 
 Hi Marcus, 
 
 Some great problem sites that can provide opportunities for practice:
 - http://clojurescriptkoans.com/ (I think everything here is actually 
 Clojure)
 - http://4clojure.com - make sure to turn on code golf mode and look at 
 others' solutions too
 - http://exercism.io - get feedback from others on your solutions
 - https://projecteuler.net/
 - http://codingforinterviews.com/ - great email series with practice problems
 
 Clojure for Web Development from Pragmatic Press is a new Clojure book 
 that is a little more focused on a problem domain and build a web app.
 
 Hope that helps...
 Alex Miller
 
 On Thursday, March 20, 2014 8:08:41 PM UTC-5, 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.

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