On Tue, 2012-01-03 at 14:45 -0800, Joshua wrote:
> Hi Tim,
> 
> Great idea re: GitHub!
> 
> I'm guessing the Clojure decks could cover, multiple things if tagged
> appropriately and could be studied in various section. Or there could
> be multiple decks dealing with differing material. I'm not very
> familiar with github, but it is high time I really check it out and
> would be a great place for this sort of project.

I just found the Clojure language API Anki deck so someone has been
busy on this already. 
> 
> Have you found using an SRS helped with more than just studying on
> your own with regard to development?

I've built a deck for guitar chords (using fretboard shapes)
that I have been using for practice. I want to enhance it with
the corresponding sounds.

Self-study is the whole point. There are 732 cards in the Clojure
deck, which implies that there is a whole lot of Clojure that I
have yet to learn.
> 
> Are you experiencing good retention rates and reduced practice time
> reviewing with Anki?

I guess. I know that I can go through the decks quicker now than
when I started so I guess something is sticking. Or maybe I am
just mis-remembering how good I was at it the first time :-)

I came to Anki due to the first chapter of a book,
"Practicing: A Musician's Return to Music". There are several
things worth quoting but one was:
  "it is impossible to feign mastery of an instrument,
   however skillful the imposter may be."
It is actually an excellent computer book, unintentionally.

Considering a computer to be the world of music and
Clojure to be the chosen instrument. What is required to
attain mastery? What is required to achieve the point of
having Clojure-based solutions flow from the fingers without
thought of the language? Are there practice exercises? Can we
create books of standard forms? If we had a "practice book of
Clojure" what would be in it?

Currently all of the Anki examples seem to be limited to 
vocabulary which, while important, is hardly what seems to
be the path to mastery.

My current thinking is to follow Dan Friedman's lead with
the "Schemer" series (e.g. The Seasoned Schemer, The Reasoned
Schemer, etc.) but that would require that Anki support some
means of linear review questions by chapter and I don't see
how to do this. Perhaps we need an SRS in Clojure.

Could we combine Friedman's approach with an SRS feedback and
tracking system to form a set of Etude-like Clojure practices?
Could we take algorithms (e.g.
http://weblog.jamisbuck.org/2011/2/7/maze-generation-algorithm-recap
build the Clojure code, deconstruct them into a Socratic style
ala Friedman, linearly sequence them, and use SRS to chart progress?
This would give an Anki-by-section rather than Anki-by-flashcard.

These Friedman-Etudes could be written to cover topics like using
agents (e.g. deconstructing the ant demo). Or Knuth's sorts. 

So, like Etudes for Piano. we have Etudes for Clojure.

I watched a class taught by Billy Joel, clearly a master at the
piano. He talked about a song he wrote and how he first thought
of it in a reggae style (which he played), but then moved to a
broadway style (which he played), then to a rock style (which he
played), then classical, etc. He then explained why the style
he chose was "right".

Imagine a Clojure programmer doing the same thing. Show me your
application in a functional style, an object-oriented style, a
rule-based style, a DSL style, a recursive style, etc. Unlike
Java, lisp systems do not force a style. Can you "gut feel"
which style is right for the problem at hand?

Can we construct Clojure Friedman Etudes that show the essence
of each of these styles? 

Rather than the Google "ping pong balls in a bus" interview
wouldn't it be much more revealing to give an algorithm and
ask to see it in several styles? Who do you want to be? The
person who can reason out how many ping pong balls fit in the
piano or the person who is fluid in styles? Who wouldn't love
working with the Billy Joel of programming?

Tim Daly


 

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

Reply via email to