Clojure/Conj 2026 Workshops

Table of Contents

Sibling to the Clojure/Conj 2026 overview. The workshop day is Wednesday, September 30 — two three-hour blocks. Program: workshops · full schedule · registration.

1. Wednesday, September 30 — workshop day

1.1. Morning, 9:30 AM – 12:30 PM

  • W201AB — Datomic Deep Dive — João Nascimento Mello (Staff SWE, Nubank). Living with production Datomic.
  • W201CD — Clojure Camp Coding Jam — Rafal Dittwald (Clojure Camp). Mob session, then pairs.
  • W205AB — Babashka: fast native Clojure scripting — Michiel Borkent, Rahul De. Instant-start, batteries-included bb.
  • W205CD — Backseat Driver: Calva Tools for AI agents — Peter Strömberg (PEZ, creator of Calva). See below.

1.2. Afternoon, 1:30 PM – 4:30 PM

  • W201AB — Fast, Lean, Native Clojure — Adrian Smith. Native libraries + off-heap memory.
  • W201CD — Clojure Camp Coding Jam, Part II — Jordan Miller.
  • W205ABCD — AI Tools & Practices Showcase — Eric Dallo (Sr. Lead SWE, Nubank). Fast-paced attendee demos of AI dev tools and practices.

2. W205CD Backseat Driver — it maps onto our tooling

Backseat Driver is a Calva (VS Code) extension that hands an AI agent access to Calva's REPL sessions, REPL log, and structural editing — as native tools or an MCP server — plus Calva's multi-user REPL for parallelized agent work.

This is the same pattern www.wal.sh already runs, on the Emacs side: agents eval through CIDER into one nREPL (127.0.0.1:42527), with a shared multi-agent REPL on nexus. See Advanced Clojure ("bb nrepl-server so CIDER and Calva can connect"). We have ~80% of it; the piece worth wiring in is Backseat Driver's MCP mode — an nREPL-to-MCP bridge exposing 42527 as a first-class agent tool, retiring the ad-hoc bencode client. Structural-editing-as-a-tool is the one capability we lack (our agents edit text, not structure).

Related on the talk schedule: Live Systems, Live Thinking: Materializing Production Traces into AI-Assisted REPL Flows (Juliana Prieto, Thu) sits on the same agent-plus-REPL thread.

3. Prerequisites, per workshop

The conference publishes a wiki with one page per workshop. Four of the six sessions have a page; the AI Tools & Practices Showcase and the afternoon Coding Jam do not. Two pages carry a tool list, two delegate to a repository.

Read on 2026-09-22 at wiki commit 6238754. The Backseat Driver page has been revised twice already, so treat any list below as a snapshot rather than the current requirement.

3.1. W205CD Backseat Driver — Peter Strömberg (PEZ)

Wiki page. VS Code "or fork" (PEZ recommends Cursor, his daily driver; Antigravity is described as clunky with Backseat Driver), babashka, Java, Clojure CLI, Node.js, Calva, Calva Backseat Driver, Joyride.

Attendees run the facilitator's slides locally, which wants Markdown Preview Mermaid Support and a dark theme. Plus, verbatim:

An active AI subscription: Copilot and Cursor integrate most seamlessly, but
any non-cloud agents will also work fine.

The page states no versions. The extension itself declares vscode > 1.96.2= and node > 20.18.0= in its manifest, which are the numbers worth checking.

3.2. W205AB babashka — Michiel Borkent, Rahul De

Wiki page delegates entirely to babashka/babashka-workshop-spectre — building a password manager on the stateless Spectre algorithm, with local site storage, a terminal UI, a CLI, and native scrypt via babashka's FFI.

That README asks for babashka > 1.13.220= (the FFI floor), Java 17+ (FFI needs 22+), Clojure CLI, bbin for exercise E6, OpenSSL 3 — Homebrew's, not the system one — and libsodium for the FFI path. Editor support via clojure-lsp plus a structural editing mode; it lists CIDER, Conjure, Cursive, Calva, elin and Clojure-Sublimed as equal options.

3.3. W201AB Fast, Lean, Native Clojure — Adrian Smith

Wiki page. Required: JDK 22 or newer, Clojure CLI, and a Clang or GCC compiler. Optional but recommended: GraalVM native-image, babashka 1.13.220+, and jank.

The JDK 22 floor is the one to notice — it is the only workshop that will not run on a 21 default, and 22 is where java.lang.foreign (Panama) left preview.

3.4. W201AB Datomic Deep Dive — João Nascimento Mello

Wiki page asks that you "visit the joaomello/datomic-lab repository and have its environment running beforehand."

That lab is a local Datomic Pro learning environment: transactor and Console as host JVMs, plus Prometheus, Grafana, Loki and Promtail in containers. It wants Java 17, 21 or 25 — not 22, 23 or 24 — Clojure CLI, curl, unzip, lsof, pgrep, and a container runtime whose daemon is actually reachable.

It binds eight ports: 4334 and 4335 (transactor), 9100 (metrics exporter), 8080 (Console), 9090 (Prometheus), 3000 (Grafana), 3100 (Loki), and 9101 (optional peer exporter). Three of those are conventional enough to collide with something already running.

3.5. W201CD Clojure Camp Coding Jam — Rafal Dittwald, Jordan Miller

Wiki page, in full: "A laptop with Clojure installed and set-up with your favourite editor."

4. The morning block is oversubscribed

Four workshops run 9:30–12:30 and three of them are the interesting ones: Datomic Deep Dive, babashka, and Backseat Driver all sit in the same slot. Fast, Lean, Native Clojure is the afternoon, so it pairs with any morning choice. The Datomic lab is the only one that has to be running before the session, not just installed — an argument for setting it up regardless of which room you end up in.