February 22, 2009
The Study Group met on February 21st at 1PM at HacDC’s workshop to continue our discussion of concurrency.
We worked through Stuart Halloway’s snake program, taking note of the way he organized his program by separating the functions that dealt only with immutable data from the ones that dealt with changes in state. We noted his use of “update-” at the beginning of his names for the state-aware functions, and we agreed this was a pretty good convention for functions that were going to update the state of some refs, agents, or atoms. We also paid a fair amount of attention to his consistent use of destructuring as well as the syntax for the alter function. Finally, we looked at Halloway’s atom-snake, which actually stores the state of the entire snake game in an atom and updates it with
swap!, and in so doing creates a transaction-free version of the game. This precipitated a discussion of Software Transactional Memory, which allows copies of complex objects, such as the state of a snake game, to be made without duplicating data from original to copy.
Our next meeting is March 14th, at 1PM, at HacDC’s workshop in St. Stephen’s Church in Washington DC. Homework: chapters 5 and 7 (on Functional Programming and Macros) from Stuart Halloway’s Programming Clojure. We hope to see you there.
We’re also starting to consider our capstone project. Watch the Google group for discussions about the project.
January 5, 2009
** Update: Meeting is rescheduled to Saturday, January 31st, 1PM, at St. Stephens Church. **
Thanks again, everyone, for a great meeting on the 3rd of January. Our next meeting will take place on Saturday the 24th at 1PM in the same location as last time, St. Stephen’s Church at 1525 Newton St NW. We’ll be discussing concurrency.
Your homework for the meeting is the Concurrency chapter in Programming Clojure. Give yourself plenty of time for this text: unless you are familiar with concurrency already, you will probably find this chapter challenging. Concurrency is what Clojure is all about, though, so press on!
Also, please think about little projects or exercises we could undertake in small groups to try out what we’ve learned. Last time we considered card games and exercises from other Lispy textbooks before tackling the Swing app. These might be good ideas again. What kind of concurrent situations come up in software or in real life?
If you haven’t joined us yet or would like to, feel free! We’re still in our tutorial/mentoring
phase, and the environment is welcoming and helpful to novices. If you’re already experienced with Clojure or similar technologies, we’d love to have you join us too.
See you on the 24th.
November 30, 2008
Members of Fringe DC are organizing a Washington DC area study group around learning Clojure and hacking some righteous artifacts with it. The first meeting is Sunday, December 7, at 1PM at Chief Ike’s Mambo Room, 1725 Columbia Rd NW. We’ll be meeting in person for about 3 hours every 2 or 3 weeks, and we’ll have an online forum for collaboration and contributions. Interested parties are welcome to come by. See some pointers below to prepare yourself so you can make the most of our time together.
Read the rest of this entry »