Dutch Clojure Days 2017

About DCD17

The Annual International Gathering of Clojure Enthusiasts and Practitioners in the Netherlands!

The recordings from the 2017 edition are available here:

DCD17 Playlist on Youtube

Call for papers

Call for papers ended on 31th of January, 2017.


Dutch Clojure Days did happen on

Saturday, March 25th 2017, 8:30 AM – 5:30 PM CET.


Dutch Clojure Days took place at the wonderful TQ, in the heart of Amsterdam (Singel 542, 1017 AZ Amsterdam).


DCD is a free event that is made possible thanks to our amazing sponsors and volunteers.

Platinum sponsors

Silver sponsors

If you are interested in sponsoring this event please contact us via email.







Opening#DCD17 team



Keynote: Transparency through dataJames Reeves



Generatively testing user interfacesAndreas Geffen Lundahl



Building Hermetic Systems (without Docker)Will Farrell






Our Road Trip to ComponentMarketa Adamova
Lightning Talks



Sequencing Dance Music with ClojurePiotr Jagielski



Shipping a Clojurescript AppRiccardo Cambiassi



MachMalcolm Sparks



CREPL: Write and run ClojureScript code togetherGijs Stuurman



Coffee break



Using Onyx in angerSimon Belak



From 0 to prototype using ClojureScript, re-frame and friends.Martin Clausen



Clojure PuzzlersRenzo Borgatti



Closing#DCD17 team






defjoke - a macro for creating FP jokesRay McDermott


James Reeves

Keynote: Transparency through data

How do we make effective use of data when designing software in Clojure? This talk will provide a tour of the options that are available, and explain how liberal use of data structures can make a codebase simpler and more adaptive to change.
About the speaker: James Reeves is the current lead developer of Ring, and is the author of a number of other Clojure web development libraries, including Compojure and Hiccup.
Watch on YouTube

Andreas Geffen Lundahl

Generatively testing user interfaces

Brace yourself for a journey into the mysterious and magnificent world of generative testing. Andreas tells his story of how he has combined data generators with Selenium, to test the part of the application every programmer dreads the most: the user interface. By applying this chaotic testing technique to the user interface and the application as a whole, he has found bugs, gained new insight, and ultimately had a lot of fun.
About the speaker: I'm an independent consultant, who fell in love with Clojure in 2011 and I've been a functional programming enthusiast ever since. When I don't work for clients, I try to spend as much time as possible on my own (crazy) projects.
Watch on YouTube

Will Farrell

Building Hermetic Systems (without Docker)

Besides being a fun word to say, what is "hermeticity"? Put simply, a hermetic system lacks external dependencies, which simplifies development, testing, and deployment. As a design principal, it mirrors the functional design so prevalent in Clojure. Learn how to use Clojure to build hermetic systems (with or without Docker) and leverage the REPL to manage the lifecycle of your services.


  • How the notion of hermeticity is an example of functional design thinking
  • How to identify hermetic (and not so hermetic) systems
  • How to leverage Clojure (and the REPL) to build and manage hermetic systems
About the speaker: Will Farrell is the Lead Software Architect at MojoTech in Providence, RI, where he oversees software projects large and small. He’s been building software for about a decade and loves Clojure especially. In his free time, when not working on open source software, he’s likely practicing his vinyl DJing skills or cooking a fancy meal.
Watch on YouTube

Marketa Adamova

Our Road Trip to Component

Few months ago our company NomNom decided to move all its backend services from Ruby to Clojure. And I think a road trip is best comparison for this migration. There was excitement at start, then panic a few hours down the road wondering what was left behind, but now a constant joy of discovering new things. In this talk I’d like to share how we eventually arrived at Stuart Sierra’s Component. Let’s take a look at how components improved our quickly growing codebase and testing, as well as some of the trade-offs we had to make. Finally I’ll show how components can help with managing running code in production.
About the speaker: Marketa currently works as a Clojure developer at NomNom and is a co-organizer of the Prague Lambda Meetup. She is actively involved in introducing Clojure to wider community and has an strong interest in teaching programming.
Watch on YouTube

Piotr Jagielski

lightning talkSequencing Dance Music with Clojure

In this talk I'll give a short introduction to Overtone, Leipzig and my own Disclojure libraries. I'll focus on techniques of sequencing and looping sounds and samples which can be used in live on-stage dance music performances.
About the speaker: JVM/Java developer for 10 years, last 2 years exploring Clojure/Overtone.
Watch on YouTube

Riccardo Cambiassi

lightning talkShipping a Clojurescript App

We will explore a case study of the use of Clojurescript on top of Electron (Atom Shell) for the development and distribution of a desktop application. Rather than going through an introductory proof of concept, we will focus on the characteristics that made this technology stack a good fit for building, distributing and supporting a desktop app. Along the way, we will pick a few extra tools and practical tricks that may be beneficial to a similar endeavour.
About the speaker: I am a web developer with a long term itch for UX and product design. The Ruby ecosystem has been for a long time my toolkit of choice, but more recently I fell for the charm of functional programming in general, and Lisps in particular. Currently I am running, with the help of a few friends 100Starlings, a remote-first software development collective.
Watch on YouTube

Malcolm Sparks

lightning talkMach

JUXT's Mach is a remake of make, the venerable build system rebuilt in ClojureScript with some differences. There are hundreds of build tools, this talk will introduce Mach and explain why I felt the need to make one more, what you can do with it and why you might want to use it.
About the speaker: Founder of JUXT, author of some Clojure libs including bidi and yada.
Watch on YouTube

Gijs Stuurman

lightning talkCREPL: Write and run ClojureScript code together

CREPL is an online collaborative ClojureScript editor and evaluator. It's like a Google docs for ClojureScript, with a self-hosted ClojureScript compiler. This talks shows how to use CREPL to work together on the same ClojureScript code, for instance in a teaching setting. This talk is also a demonstration of what is possible with Clojure and ClojureScript because CREPL is written with both.
About the speaker: Clojure programmer in Amsterdam.
Watch on YouTube

Simon Belak

Using Onyx in anger

Clojure has always been good at manipulating data. With the release of spec and Onyx ("masterless, cloud scale, fault tolerant, high performance distributed computation system") good became best. In this talk I will walk you through a data layer architecture build around Kafka an Onyx that is self-describing, declarative, scalable and convenient to work with for the end user. The focus will be on the power and elegance of describing data and computation with data; and the inferences and automations that can be built on top of that.
About the speaker: Built my first computer out of Lego bricks and learned to program soon after. Emergence, networks, modes of thought, limits of language and expression are what makes me smile (and up at night). Currently working at GoOpti making the company data-driven; setting up our analytics infrastructure (end goal: provide any answer stemming from data in 2 min or less); and building our predictive-realtime-superduper pricing engine.
Watch on YouTube

Martin Clausen

From 0 to prototype using ClojureScript, re-frame and friends.

The talk goes over how to translate a product idea and continuous real world user feedback from rapid iterations into a working prototype. I will highlight the distinct advantages of ClojureScript itself and its sophisticated tooling for this purpose, but also show how the excellent re-frame library provides sane and scalable structure and other "similar in spirit" technologies like PouchDB and CouchDB serve as a solid foundation for the prototype.
About the speaker: Former lawyer now legal tech consultant and entrepreneur build next generation contract management system using ClojureScript.
Watch on YouTube

Renzo Borgatti

Clojure Puzzlers

Are you learning Clojure and want to be prepared for some of the most common traps and pitfalls? Are you a seasoned Clojure veteran and you think you've seen them all? Then come join us to play the Clojure Puzzlers! 8 questions are presented to the audience and you'll have to pick one of the possible answers. Anyone with a working knowledge of the language will be able to understand the puzzles, but even the most senior Clojure master will be puzzled. The interactive talk format is entertaining while the puzzles teach you about the subtleties of Clojure and its standard library.
About the speaker: I started programming professionally around 2000. I've done work/research for different industries, corporate and startups. I moved between languages and got interested in Clojure sometime in 2010. After some spare time with it I decided it had to be my profession! I'm author of "Clojure Standard Library, an Annotated Reference" by Manning. I currently work at uSwitch in London.
Watch on YouTube

Ray McDermott

lightning talkdefjoke - a macro for creating FP jokes

Bringing pure fun to an impure world.
About the speaker: Clojure enthusiast: software architect by day, co-orgniser Belgian Clojure User group and co-host of defn podcast by night (some nights anyway).

Code of Conduct

All attendees, speakers, sponsors and volunteers at our conference are required to agree with the following code of conduct. Organisers will enforce this code throughout the event. We expect cooperation from all participants to help ensure a safe environment for everybody.

Need Help?

You can always reach out to us at events@clojuredays.org or on twitter.

The Quick Version

Our conference is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion (or lack thereof), or technology choices. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks, workshops, parties, Twitter and other online media. Conference participants violating these rules may be sanctioned or expelled from the conference without a refund at the discretion of the conference organisers.

The Less Quick Version

Harassment includes offensive verbal comments related to gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion, technology choices, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention.

Participants asked to stop any harassing behavior are expected to comply immediately.

Sponsors are also subject to the anti-harassment policy. In particular, sponsors should not use sexualised images, activities, or other material. Booth staff (including volunteers) should not use sexualised clothing/uniforms/costumes, or otherwise create a sexualised environment.

If a participant engages in harassing behavior, the conference organisers may take any action they deem appropriate, including warning the offender or expulsion from the conference with no refund.

If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff immediately. Conference staff can be identified as they'll be wearing branded clothing and/or badges.

Conference staff will be happy to help participants contact hotel/venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. We value your attendance.

We expect participants to follow these rules at conference and workshop venues and conference-related social events.