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

Videos

18110 results

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.

Programming Music with Overtone - Sam Aaron

Programming Music with Overtone - Sam Aaron

Aug 29, 2025

Can programming languages help us to free our creative potential? Formalised descriptions of data, events and process have been used to great effect within industrial settings but could they also be useful in artistic contexts? This presentation introduces Overtone - a Clojure front-end to the state-of-the-art realtime sound synthesis engine SuperCollider - currently being established as a music platform for both research and performance. Overtone facilitates a truly exciting high-level exploration of musical ideas such as the design and structure of sound, the coordination of multiple concurrent performers and even new forms of musical notation. Through live coding, monome button bashing and loud music performances such as synthesized dubstep, we'll dive into the architecture of the system and explore some of the deeper computational questions that working in a musical context forces you to answer. Ultimately we will see how Clojure can manage so much more than the representation of business logic or the construction of web apps. We will cover a lot of ground - so hold onto your ears!

Premium Content

To access all videos, sign up now!