Stuart Sierra

Clojure/core

Stuart Sierra is an actor/writer/coder who lives in New York City. He is a member of the Clojure/core team at Relevance, Inc. Stuart is the co-author of Practical Clojure (Apress, 2010). He received an M.S. in Computer Science from Columbia University and a B.F.A. in Theatre from New York University.

Presentations

Clojure is a new dynamic programming language for the Java Virtual Machine. Clojure introduces innovative ideas around state management and concurrency, while inheriting the best ideas from the long history of Lisp-like languages. It is a language designed to solve real problems, some of which are so pervasive in current programming practice that we don't even recognize them as problems.

This talk will provide an introduction to Clojure's syntax and key concepts, with examples of how they can make a real impact in large, complex systems.

What is the Expression Problem? The question is far from academic: any programmer working in mainstream object-oriented languages is bound encounter it. As a young language on the JVM, Clojure has the opportunity to step back from mainstream approaches to object-oriented design, and get back to core concepts like type and polymorphism. Clojure, while not an object-oriented language itself, offers features that can achieve the same goals as OOP with greater flexibility.

This talk will explain what the expression problem is, why it matters, and how Clojure's Multimethods, Protocols, and Datatypes can help solve it.

In 2006, Columbia law professor Tim Wu asked the question, “Why isn't legal research as easy as searching the web?” Out of that question came AltLaw, a free, open-source search engine for federal court decisions. With a nonexistent budget and only one full-time programmer, AltLaw built a search engine for over 700,000 documents by leveraging a powerful new programming language, Clojure, in conjunction with Hadoop for data processing, Solr/Lucene for search, and Amazon Web Services for infrastructure.

This is the story of AltLaw's four-year existence and the technical challenges that had to be overcome, including lessons learned by making mistakes along the way.