Clojure Hack Night Monday, in Reston

July 29, 2010

The Capital Area Clojure Users’ Group is hosting an evening of collaborative Clojure coding next Monday, August 2, at 6PM, at Near Infinity, in Reston. Details are available at the group’s meetup page.

Some very experienced people will be on hand, as well as newcomers. We’ll spend some time at the beginning answering questions and helping people with their setups as necessary. (Emacs FTW!) Then it’s on to pair programming. Possible coding projects are listed on the group’s meetup page. More ideas are welcome. There’s a lot of open source Clojure code that needs writing.

Please be sure to sign up through meetup if you’d like to come: spaces are limited.

Announcing Vijual, a graph layout tool

January 25, 2010

Group member Conrad Barski has just released version 0.1.0 of Vijual, a graph layout engine written in Clojure. Check Conrad’s detailed announcement for lots of information about installation and use. One detail that caught my eye is the use of the leiningen build tool and clojars community repository to package and distribute Vijual. This looks like an emerging standard.

The Joy of Michael Fogus

January 14, 2010

Here are two pieces of information related to group member Michael Fogus. First, he will be speaking later today, January 14, at FGM in Reston, on the subject of Clojure 1.1 features. More info is at the Capital Area Clojure Users Group meetup site. Second, the book he is co-authoring with Chris Houser, The Joy of Clojure, is available for pre-ordering, and when you pre-order you may read the book as it progresses.

Congratulations, fogus!

Clojure at DC’s ALT.NET, January 27, 7PM

January 13, 2010

Group member Craig Andera is speaking about Clojure at this month’s ALT.NET meeting. It’s being held at the Motley Fool’s offices in Alexandria, 5 minutes from the Metro stop, on Wednesday, January 27, at 7pm.

Sign up here (it’s free):

From the event’s description:

So, what is Clojure?

C# has been adding exciting new features with every release, but many of these have been available in other languages for years or even decades. By examining some of the features of these other languages, we can hope to glean what’s in store for the future of C#. Clojure is a JVM-based Lisp with an integral and interesting approach to concurrency. In this talk, we’ll examine those features, after a brief introduction to Clojure syntax.

Who is Craig?

Craig Andera … is an independent consultant with Wangdera Corporation, where he holds the rank of Jedi Master. He focuses on the design and implementation of large-scale, web-based systems.

A bit of Clojure at RubyNation 2009

June 16, 2009

Just a quick post to mention how Clojure was mentioned at the RubyNation conference in Reston last weekend.

I gave a lightning talk on day 2. Slides are posted. I only had 6 minutes, so I kept it brief. I don’t think I convinced a lot of the audience members to try it out. Afterwards, though, I got to talk to Aaron Bedra of Relevance, who was a technical editor for Stu’s book. He reports Clojure is actually in use on commercial projects. He’s a swell fellow.

Russ Olsen gave an impromptu talk at the end of the day about Clojure, Scala, Erlang, and Reia. Two things struck me about his approach to new languages. First, he gives a lot of important to “curb appeal”, or how nice the code looks. The parentheses bother him about Clojure and other lisps, same old story. The second thing, though, is the importance given to metaprogramming, which Ruby has brought into the forefront of a lot of developers’ minds. As Russ pointed out, any Lisp makes metaprogramming easy. So that may be a selling point for Clojure among Rubyists.

Meeting Recap, Next Meeting, and Group Projects

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.

Next Meeting: February 21st, 1PM

February 17, 2009

We’ll be continuing our exploration of concurrency this Saturday at HacDC’s workshop at St. Stephen’s Church, in Northwest DC.

Be sure to check out chapter 6 of Stuart Halloway’s Programming Clojure. It’s the concurrency chapter, and it has some good new stuff in it, including a discussion of atoms and a Clojure snake game that Halloway walks you through fn by fn.

Come with ideas for hacking. I think it might be fun to alter the snake game so you can play against 1+ AI snakes, trying to get those apples. Collisions could eliminate players: think Tron and those light cycles.

Thanks to Serge and HacDC for providing a warm wi-fi-enabled meatspace where we can gather.