addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramlinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

Clojure Workshop

A free Clojure workshop will be run by MFUG and clj-melb on Saturday the 23rd of March. Thoughtworks will kindly host at their offices on level 14, 303 Collins St. We will begin at 10am and finish at 5pm. Please bring your own laptop.

The premisis will be locked on the weekend. Give me a call on[masked] and I'll come and let you in.

The format of the day will be:

- Get everyone set up
- Introduce the language basics
- Have everyone solve a few problems
- Break for lunch
- Introduce some more advanced features
- Have everyone work on a program

Experience with some kind of programming is required. There will be several experienced Clojurians on hand to help out in any way they can. If you can't bring a laptop then contact me beforehand and I'll try to find someone to work with you.

We would appreciate it if you could get your machine set up for clojure development before the workshop. If everyone comes prepared we'll save a good deal of time and be able to cover more. Please install Leiningen (1), it will bring a version of Clojure down with it. Also I recommend either the Catnip (2) editor or Eclipse (3) with the Counterclockwise plugin (4). Don't stress if you're unable get setup, we'll help you out on the day.

If you have any questions or suggestions please email me at [masked].

1. https://github.com/technomancy/leiningen
2. https://github.com/bodil/catnip
3. http://www.eclipse.org/downloads/
4. https://code.google.com/p/counterclockwise/

Join or login to comment.

  • David S.

    Top marks Logan and the other guys. Thanks also to Thoughtworks for the venue.

    March 26, 2013

  • James S.

    Big thanks to Logan for putting this together, it was a really great day!
    And thanks to all who attended, it was great to meet so many smart and enthusiastic people.

    March 25, 2013

  • Mark M.

    I enjoyed the day. Thank you to everyone involved in making it happen. It is much appreciated. My code: https://github.com/markmo/clojure-exercises/tree/master/src/clojure_exercises

    March 25, 2013

  • Andrew M.

    Great to see everyone. I didn't get too far on the day, so I cheated and finished the problems off this evening. Here are my naive solutions.

    https://gist.github.com/ajmccluskey/5231224

    March 24, 2013

    • Andrew M.

      Also, massive thanks to Logan, James, Brady, and everyone else who helped make it happen!

      March 24, 2013

  • Stuart B.

    Great day yesterday. Thanks everyone. And especially Logan, Korny, James, and Thoughtworks, of course. And David Reed, too.
    Code (two and a half exercises) from me and David Reed
    <https://github.com/s5b/clojure-20130323>;

    March 24, 2013

  • A former member
    A former member

    ; problem 1 x3x5
    (apply + (filter #(or (zero? (mod % 3)) (zero? (mod % 5))) (range 1000)))

    ; problem 2 fib%2
    (apply + (take-while #(< %[masked]) (filter even? ((fn f [a b] (lazy-seq (cons a (f b (+ a b))))) 1 2))))

    ; problem 3 palindrome, repl answer:
    (sort-by first (for [x (range 999 0 -1) y (range 999 0 -1) :let [n (* x y) p (seq (str n))] :when (= p (reverse p))] [n x y]))

    ; slightly better:
    (apply max-key first (for [x (range 999 0 -1) y (range 999 0 -1) :let [n (* x y) p (seq (str n))] :when (= p (reverse p))] [n x y]))

    ; smallest multiple, first time:
    (*[masked] [masked])
    ; second time:
    (apply * (reduce (fn [f n] (conj f (reduce #(if (= 0 (mod % %2)) (quot % %2) %) n f)) ) [2] (range 3 20)))

    I did the 4clojure Game of Life instead,
    http://www.4clojure.com/problem/94
    I'm "mouse" so you can see my answer when yours is in :)

    Thanks to the organizers, great community building.

    March 24, 2013

  • A former member
    A former member

    I should get mine up at some point as well - but just wanted to say thanks to all involved! Was a *fantastic* day, and I learned a lot!

    March 24, 2013

  • A former member
    A former member

    My (naive, brute force) solutions from yesterday. I didn't get to complet the game of life problem...

    https://gist.github.com/jguedez/5229974

    Thanks again Logan, James, and the rest of the team behind the workshop.

    March 24, 2013

  • Mark H.

    Thanks everyone! I'll be game:
    https://gist.github.com/markhepburn/5229824

    A couple of them I'll probably have a crack at again, but that's all I got done on the day.

    Huge thanks to Logan and all the other organisers, and great to see you all.

    March 24, 2013

  • A former member
    A former member

    Excellent learning experience

    March 23, 2013

  • Logan C.

    We would be very interested to see everyone's code from today. Please email me, or post links to github pages in the comments section here. It'd be great to compare and contrast.

    March 23, 2013

  • Logan C.

    Thanks for coming everyone. All of my materials are available at https://github.com/logaan/clojure-workshop This includes the slides, worksheets, my solutions and ideas.

    March 23, 2013

  • Tushar P.

    Is there any where reasonably out of public view where I can park my bicycle?

    March 22, 2013

    • Logan C.

      We can fit a few in the office.

      March 22, 2013

  • Oliver G.

    For the adventurous grab lighttable. It is a very new "clojure in a can" IDE.

    March 22, 2013

  • Logan C.

    For windows users I suggest you don't bother with leiningen and just get Eclipse with Counterclockwise set up. We just want you to have an environment where you can run Clojure code. The specifics don't matter.

    March 22, 2013

  • Logan C.

    It's just been brought to my attention that there may be some confusion surrounding the installation of leiningen. In their README they suggest placing the lein script in ~/bin. This directory will not be part of your path by default. I suggest instead that you put the lein script in /usr/local/bin. Let me know if you have any other troubles.

    March 22, 2013

  • Nicholas F.

    Leiningen 2.0.x right? I have 1.7.1 on my laptop which I havent touched for 6 months.

    March 20, 2013

    • Logan C.

      Yeah I recomment 2.0. Though really we just want to make sure you've got some kind of environment that you can use to hack.

      March 21, 2013

  • Tanri S.

    I won't be able to make it this Saturday :(. Anyone on the waiting list can take my spot.

    March 19, 2013

    • A former member
      A former member

      Yes please

      March 20, 2013

    • Logan C.

      Tanri, when you changed your status the person at the top of the wait list was moved up and took your spot automatically.

      March 20, 2013

  • Kon S.

    Pick me, pick me!

    March 14, 2013

  • A former member
    A former member

    Very limited functional programming knowledge. Want to learn more.

    February 26, 2013

47 went

Our Sponsors

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy