CLO

Clojure Conj 2010

2010 14 videos

Advanced Filters

Unlock powerful filtering options to find exactly what you're looking for with our premium subscription.

Filter by language & technology
Sort by duration & date
Advanced search options
Save custom filter presets
Get Premium Access
Conference
Location
Programming Language
Technology
Duration

Conference Videos

14 results

Aleph: A Framework for AsynchronousCommunication - Zach Tellman

Aleph: A Framework for AsynchronousCommunication - Zach Tellman

Aug 29, 2025

Lighting Talk, Clojure Conj 2010

Lisp, Functional Programming, and the State of Flow - Tom Faulhaber

Lisp, Functional Programming, and the State of Flow - Tom Faulhaber

Aug 29, 2025

Since the beginning of computer science, many programmers have been driven by a desire to feel a oneness with the essentially abstract processes on which they're working. In no area has this been more pronounced than symbolic computation and AI. Hackers working through the night, night after night, to find that connection with information and abstraction were legendary from Cambridge to Palo Alto throughout the 60's and 70's and entered the mainstream consciousness in movies such as The Matrix in the Internet generation. It should come as no surprise then that the ideas presented by Mihaly Csikszentmihalyi in Flow: The Psychology of Optimal Experience (and a very famous 2004 TED presentation) found an excited audience among the Hacker News crowd. Csikszentmihalyi describes (and validates) a condition that many of us have sought out and enjoyed for many years. In this talk, we will explore how particular programming concepts, especially those found in Lisp and functional languages, seem to enhance the quality of flow we achieve while programming. Many Clojure programmers have described the enjoyment they find programming in Clojure. I want to investigate that and see why it's important to work in a language that makes programming fun.

Simplicity Ain't Easy - Stuart Halloway

Simplicity Ain't Easy - Stuart Halloway

Aug 29, 2025

A quick review of what programmers have to say about simplicity might lead you to the following (incorrect!) conclusions: every language/design approach/tool under the sun lays claim to simplicity, usually as a key virtuesimplicity means many different things and is so subjective as to be worthless In fact, simplicity is objective. It has a definition, and an etymology, that are very useful to software developers. In this talk, we will: cut through the noise to the definition of simplicitydemonstrate how simplicity informs the design of Clojure, and Clojure programshelp you make your programs simpler, and explain to others what this means, and why.

Protocol XIII: Clojure Protocols Explained - Sean Devlin

Protocol XIII: Clojure Protocols Explained - Sean Devlin

Aug 29, 2025

Everyone seems to be interested in protocols, but not too many tutorials exist on the topic. I'm assuming that we'll have a fair amount of video game fans in the audience. The goal of this talk is to explain how protocols & datatypes work by analogy, using the Final Fantasy XIII character & job system.

Making Leiningen Work for You - Phil Hagelberg

Making Leiningen Work for You - Phil Hagelberg

Aug 29, 2025

Everyone is probably familiar with the basic Leiningen workflow: new, deps, test, swank, etc. But there's more to our resourceful friend than meets the eye. Learn how to customize Leiningen for your project and how to teach it new tricks through plugins.

Fertile Ground, the Roots of Clojure - Michael Fogus

Fertile Ground, the Roots of Clojure - Michael Fogus

Aug 29, 2025

Whereby I explore some of the programming language and paradigm influences on the Clojure programming language. Clojure contains its own novelty, but its greatest strengths are built on the foundation of existing language features. I will go through a handful of features in my 30 minutes and explain how they were influenced by existing features in other programming languages. Likewise, I will explain how Clojure diverges from its progenitors.

One Ring to Bind Them - Mark McGranaghan

One Ring to Bind Them - Mark McGranaghan

Aug 29, 2025

Ring is a tool for writing web applications in Clojure. It provides some functionality itself, but also acts as a binding between various other Clojure web libraries. In this talk I discuss how the Ring spec enables this interoperability, show examples of Ring-based libraries, and discuss the emerging Clojure web development ecosystem. I suggest that web development with Ring is an example of the more general idea of composable, functional abstractions.

Clojure Zippers - Luke Vanderhart

Clojure Zippers - Luke Vanderhart

Aug 29, 2025

An introduction to the Clojure zip data structure, which supports fully functional tree navigation and editing. Includes a discussion of how to use the data structure effectively, as well as an overview of its performance characteristics.

The State of Counterclockwise: Past, Present and Future - Laurent Petit

The State of Counterclockwise: Past, Present and Future - Laurent Petit

Aug 29, 2025

In this talk, I will present Counterclockwise aka ccw, a set of Eclipse plugins aimed at easing the development of Clojure projects. First, I will give an overview of the features, focusing on some with an interactive demo. Next, I will take my hands off of the keyboard to explain my goals as the core committer of ccw, starting with a brief explanation of why I chose to get on board, and a tentative projection of where it could be in the near and middle future.

From Concurrency to Parallelism - David Liebke

From Concurrency to Parallelism - David Liebke

Aug 29, 2025

Concurrency is commonly mistaken for parallelism, but the two are distinct concepts. Concurrency is concerned with managing access to shared state from different threads, whereas parallelism is concerned with utilizing multiple processors/cores to improve the performance of a computation. Clojure has successfully improved the state of (single VM) concurrent programming, and now the goal is to do the same for (single VM) parallel programming. A promising approach to achieving this goal is to leverage the functionality of JSR 166, based on Doug Lea's Fork/Join Framework. This work began in Clojure's "par" branch, and is now under active development for Clojure 1.3. This talk will 1) layout the goals for improving parallel programming in Clojure, 2) provide illustrated walk-throughs of both the general fork-join algorithm and a version of the algorithm that exploits specific properties of Clojure's persistent data structures, the latter of which is used by the parallel map and reduce functions found in Clojure's "par" branch, and 3) compare the performance characteristics of the fork-join enabled map function with the current map and pmap functions.

(not= DSL macros) - Christophe Grand

(not= DSL macros) - Christophe Grand

Aug 29, 2025

Too often, one writes a DSL by starting with macros. However, this is often a case of premature optimization. An approach centered around "DSV" (domain specific values) and an interpreter leads to greater dynamicity. Macros can be added afterwards for optimization purposes or as syntactic sugar.

Finger Trees Custom Persistent Collections - Chris Houser

Finger Trees Custom Persistent Collections - Chris Houser

Aug 29, 2025

Clojure's existing persistent collection types cover many usage scenarios, but do leave a few gaps. Finger trees can fill gaps such as sorted sets with efficient support for 'nth', sequential collections that can grow at the front, the back, or even insert values anywhere in the middle, and more. In fact, finger trees can be customized to support a variety of application-specific needs while remaining persistent and playing nicely with Clojure's sequence and collection abstractions. We'll look at examples of using and customizing finger trees, and talk a bit about their internals.

Tree Editing with Zippers - Alex Miller

Tree Editing with Zippers - Alex Miller

Aug 29, 2025

Lightning Talk from Clojure Conj 2010

Hammock Driven Development - Rich Hickey

Hammock Driven Development - Rich Hickey

Aug 29, 2025

Rich Hickey's second, "philosophical" talk at the first Clojure Conj, in Durham, North Carolina on October 23rd, 2010. Many thanks to Matt Courtney, who graciously provided the equipment and expertise that made this recording possible.