
Join us at Clojure eXchange 2018 on December 3rd-4th
This year we have keynotes from Karsten Schmidt, the brains behind thi.ng, and Christophe Grand, coauthor of Clojure Programming, who has been coding and teaching Clojure for ten years. Joining them are a panel of passionate speakers who across the two days will cover topics ranging from learning how to write code that is truly composable with Erik Assum to learning how to design automatically updating AI with Clojure, Kafka and Deeplearning4j with Jason Bell.
Whether you are new or experienced with Clojure, coming down to Clojure eXchange is a great way to meet and share ideas with passionate developers, learn new skills with Clojure as well as see how it can be applied in a myriad of ways to help you in your current projects. Pick from our list of 25 speakers and what you can't see, you can check out for free at our SkillsCast page.
Tickets
Registration is open and we have some great Early Bird offers available so if you are planning to join us for two days packed with Clojure fun, get your skates on and book your ticket today!
Call for Papers is CLOSED!
The Call for Papers is now closed. Thanks to all those who submitted proposals, the response was overwhelming and helped us build an incredible programme for this year.
Volunteer at Clojure eXchange 2018
Enjoy a free ticket to Clojure eXchange 2018 by volunteering! Help us set up the conference spaces, introduce talks and speakers, field Q&A questions with mics, or support some of the workshops and hacks we've got in store.
Email us at conference-team@skillsmatter.com and we will put your name down as a volunteer.
Code of Conduct
We are committed to providing a friendly, safe and welcoming environment for all. Learn more in our Code of Conduct.
Clojure eXchange Diversity Scholarship Plan
The Clojure eXchange 2018 Diversity Scholarship Plan is now closed. Please apply for the 2019 Scholarship from the 4th December 2018.
Impressions of last year
Excited? Share it!
Day 1: Monday 3 December 2018
Don't miss these inspiring talks!
Track | CTRL | |||
08:30
Invalid Time
Invalid Time
|
Registration & Breakfast Refreshments |
|||
09:00
Invalid Time
Invalid Time
|
Opening & Welcome |
|||
09:15
Invalid Time
Invalid Time
|
KEYNOTE
This will be featuring:
|
|||
10:15
Invalid Time
Invalid Time
|
Coffee Break |
|||
10:30
Invalid Time
Invalid Time
|
In this talk, you will see that in Clojure, you get the best of both worlds by putting Data in the centre. More than being a Functional Programming language, Clojure is a Data Oriented language. You will explore a couple of paradigms and mechanisms that Clojure offers to its developers in order to achieve polymorphism without compromising data immutability. You will also see that in some aspects, Clojure is a better Object Oriented language than many mainstream Object Oriented languages like Java and C++. |
|||
11:00
Invalid Time
Invalid Time
|
Coffee Break |
|||
11:15
Invalid Time
Invalid Time
|
At Wefarm, Clojure and Natural Language Processing (NLP) has been used to design a service that works over SMS – in regional African languages not supported by any standard library – and that is robust to plenty of variation in spelling and punctuation. The flexibility of Clojure has enabled the build from a legacy system that only understands simple commands, to a conversational interface capable of understanding the intent and content of messages, and responding appropriately. During this talk, you will discover models (Bayesian and elsewise), approaches (intent-matching with patterns written in a subset of Clojure), and tools (mini-REPLs) that have been used along the way.
ai
clojure
regional-languages
sms
agriculture
nlp
machine-learning
data-science
bigdata
About the speaker... |
|||
11:45
Invalid Time
Invalid Time
|
Coffee Break |
|||
12:00
Invalid Time
Invalid Time
|
In order to do this, they need to understand how they talk about their health and relate it to traditional medical ontologies. During this talk, you will learn how they tech teams built that ontology, as well as how they're maintaining it and using it to power their search and content tagging. |
|||
12:30
Invalid Time
Invalid Time
|
Lunch |
|||
13:30
Invalid Time
Invalid Time
|
The game is being implemented in ClojureScript for maximum reach, but the talk will mostly focus on the aims of the game and the extent to which ClojureScript is aiding or frustrating those goals.
clojure
games
simulation
clojurescript
About the speaker...Peter WestmacottHe likes concision, correctness and epistemology. |
|||
13:45
Invalid Time
Invalid Time
|
Gaivile will share how she hacked the parkrun website with Enlive and other tools, to make her own notification system to avoid missing another run. |
|||
14:00
Invalid Time
Invalid Time
|
|
|||
14:15
Invalid Time
Invalid Time
|
Coffee Break |
|||
14:30
Invalid Time
Invalid Time
|
Topics include:
|
|||
15:00
Invalid Time
Invalid Time
|
Coffee Break |
|||
15:15
Invalid Time
Invalid Time
|
A couple of months later, he finally understood: Although it was written in Clojure, it was just a java app in disguise! As you first begin to program functionally, you grasp for tools like Then you start to realise there is this other thing, composability. In this talk, you will learn how Java programs often lack the composability property. You will then go on to explore what this looks like when translated to Clojure. Finally, you will discover some techniques to avoid this all together and write code that is truly composable.
composability
clojure-codebase
clojure
java
About the speaker...Erik AssumLately, he's been lurking around open-source Clojure projects looking for easy bugs to fix. This is his way of paying back to the community. |
|||
15:45
Invalid Time
Invalid Time
|
Coffee Break |
|||
16:00
Invalid Time
Invalid Time
|
During this talk, you will explore the common and uncommon performance issues you may run into when programming in Clojure, how to detect, investigate, and fix them. You will discover both the tools that simplify finding performance bottlenecks and the knowledge you'll need to apply them effectively and produce the proper solutions to your speed problems. |
|||
16:30
Invalid Time
Invalid Time
|
Coffee Break |
|||
16:45
Invalid Time
Invalid Time
|
You will learn how to get started with Clara rules and discover scenarios where Clara rules can add real value. |
|||
17:00
Invalid Time
Invalid Time
|
Takeaways:
live
docker
metrics
monitoring
prometheus
clojure
clojurex
functional-programming
About the speaker... |
|||
17:15
Invalid Time
Invalid Time
|
Beer Break |
|||
17:30
Invalid Time
Invalid Time
|
|
|||
18:00
Invalid Time
Invalid Time
|
#ClojureX 2018 Party with Pizza & Beer! |
Day 2: Tuesday 4th December 2018
Don't miss these inspiring talks!
Track | CTRL | |||
08:30
Invalid Time
Invalid Time
|
Breakfast Refreshments and Registration |
|||
09:00
Invalid Time
Invalid Time
|
Opening and Welcome |
|||
09:15
Invalid Time
Invalid Time
|
KEYNOTE
futurology
concurrency
async
logic
fp
clojure
About the speaker...Christophe GrandFollow Christophe on Twitter @cgrand. |
|||
10:15
Invalid Time
Invalid Time
|
Coffee Break |
|||
10:30
Invalid Time
Invalid Time
|
Tom has been working on applying those same design principles to Clojure's documentation, to help more people get up to speed more quickly. Good source material is out there, but for now the burden is on each learner to search for it, sort through it, and synthesize it. In this talk, Tom will share his approach to creating docs worthy of the Clojure language and its community.
clojure
ux
ui
technical-writing
documentation-docs-tutorials
programming-languages
clojure-java-lisp
About the speaker... |
|||
11:00
Invalid Time
Invalid Time
|
Coffee Break |
|||
11:15
Invalid Time
Invalid Time
|
You can learn how testing can be more than checking that your code works before deploying it, and what a good test suite might look like. Then discuss, with code examples, tests that actually test the important bits, that don’t need constantly updating, and that tell you what the problem is when they fail. Finally, you will explore some common reasons for not testing something, and learn from a live coding demo showing how to test a difficult function. Eleanor believes that a few good tests is better than no tests which is better than bad tests. If you think testing is valuable but haven’t got round to it, or you have had to maintain horrible test suites and are looking for ideas for improvements, join in this talk and explore with Eleanor. Be warned, testing purists may wince! You will find that there are a lot of code examples and some interactive bits if Eleanor finds she's up to it! |
|||
11:45
Invalid Time
Invalid Time
|
Coffee Break |
|||
12:00
Invalid Time
Invalid Time
|
After using atoms, Components, and Ducts, Iván has discovered each has a big effect on how you structure an application. In this talk, you'll learn how each of these differs and what they do to your code plus the experience of running Duct in production and the challenges he's faced. |
|||
12:30
Invalid Time
Invalid Time
|
Lunch |
|||
13:30
Invalid Time
Invalid Time
|
data
algorithms
clojure
performance
About the speaker...Karl BrodowskyBorn in 1965, Karl studied Mathematics and Informatics at the University of Karlsruhe. He worked in a research lab for computational methods in mathematics from 1992 to 1995. From 1995 to 2007 Karl was based in Switzerland and has worked in various IT-related jobs (mostly development, but also training, sw architecture, team lead, project lead, technical project lead, business analysis, testing, system administration, database administration, database design, documentation, release management, head of IT, strategy, etc). Karl is also a polyglot as he speaks German, English, Russian, Spanisch, Swedish, Norwegian to a useful level and a bit of French and Esperanto. You can follow Karl on twitter here, or check out his website here. |
|||
13:45
Invalid Time
Invalid Time
|
You will also learn how to mark areas/boundaries on that map and include place markers for specific locations. Oliver will also share how to change the centre of the map to focus on a different place, how to remove/add markers and boundaries, and briefly cover how to get access to the required GeoJSON to draw accurate boundaries on maps rendered in this way.
clojure
reagent-leafletjs
reagent-maps
cljs-maps
clojure-geek
About the speaker...Oliver GodbyWhen he is not programming he likes to take photographs, write fiction and lurk about on the internet poking people who are not nice to other people. When he is not in London he is in Scotland where his wife and kids enjoy living in the West Highlands. |
|||
14:00
Invalid Time
Invalid Time
|
|
|||
14:15
Invalid Time
Invalid Time
|
|
|||
14:30
Invalid Time
Invalid Time
|
Coffee Break |
|||
14:45
Invalid Time
Invalid Time
|
He is compiling Clojure for Arduino platforms via Ferret, using ClojureScript with the webaudio API in the browser, and also in Rasberry Pi based module tracker players via nodejs. During this talk, you will learn from his experiences of squeezing Clojure into these strange environments, and maybe even a little music!
clojure
dsp
audio
music
lumo
clojurescript
web-audio
raspberry-pi
teensy
arduino
embedded
mcu
About the speaker...Chris McCormickFor three decades he's been doing weird things with computers and has presented work at Euro Python, Freeplay Independent Game Developers Conference, Electrofringe, Linux.conf.au, and other game/art/tech conferences. |
|||
15:15
Invalid Time
Invalid Time
|
Coffee Break |
|||
15:30
Invalid Time
Invalid Time
|
During this talk, you will learn about his team's journey with Clojure, what worked for them and what didn't work so well. He will focus on the good parts as well as anti-patterns we've identified and eventually fixed. It is key to make Clojure more approachable, so he will go on to share his thoughts on how Clojure could be advocated to appeal to the broader programming community. |
|||
16:00
Invalid Time
Invalid Time
|
Coffee Break |
|||
16:15
Invalid Time
Invalid Time
|
The REPtiLe is
You will learn how you and other developers can come together from anywhere online and code at the REPL or use REPtiLe to explore running applications. You will explore how cool it is to work with re-frame and web-sockets and the hotness of the PREPL, deps.edn and add-lib. You will come away with a greater understanding of the dynamic architectures that Clojure enables and want to make sure that your apps enjoy these capabilities too. |
|||
16:45
Invalid Time
Invalid Time
|
Coffee Break |
|||
17:00
Invalid Time
Invalid Time
|
In this talk, Renzo is going to present the parallel version of the most common functions in the standard library and show what challenges are involved. Can you take parallelism "all the way" and speed-up your applications without too much effort?
clojurex
clojure
functional-programming
About the speaker...Renzo BorgattiHead over to Renzo's blog, check out what he is up to on GitHub and follow him on Twitter @reborg. |
|||
17:30
Invalid Time
Invalid Time
|
Beer Break |
|||
17:45
Invalid Time
Invalid Time
|
clojure
clojurex
About the speaker...Yolina SotirovaShe feels strongly about women in tech and strives to be a role model for women to join and stay in tech for good. Yolina is dog obsessed spends her free time either cuddling her dog or watching and practicing new cooking techniques. |
|||
18:30
Invalid Time
Invalid Time
|
KEYNOTE
|
|||
18:45
Invalid Time
Invalid Time
|
#ClojureX 2018 Ends - See you in 2019! |
-
Clojure Embedded in Music Hardware
Featuring Chris McCormick
For the past year, Chris and team have been bootstrapping a little music tech company. Chris will share how they built prototype MIDI controllers, a sampler, and musical web-apps with Clojure.
clojure dsp audio music lumo clojurescript web-audio raspberry-pi teensy arduino embedded mcu -
Parallel All the Way
Featuring Renzo Borgatti
The resurgence of interest in functional languages is often linked to their superior handling of concurrent and parallel environments, a crucial feature to exploit the increasing number of CPU cores in standard hardware. Clojure contains a few facilities to produce parallel code, but these tools...
clojurex clojure functional-programming -
Lightning Talk: Reagent and LeafletJS or "Fun with Maps"
Featuring Oliver Godby
Adding maps to ClojureScript applications written in Reagent is a broadly unsolved problem at this point, and yet the truth is that lots of applications may be enhanced by the addition of accurate online mapping. During this talk, you will discover how to build up a re-usable Reagent component...
clojure reagent-leafletjs reagent-maps cljs-maps clojure-geek -
Lightning Talk: Some Thoughts about Immutability and its Limits
Featuring Karl Brodowsky
A core principal of functional programming is to use immutable data structures not sometimes, but all the way through. They are highly optimized in performing the necessary copy operations in a lazy and efficient way, but this approach has its limits, for example when you try sorting algorithms....
data algorithms clojure performance -
Speed Bumps Ahead
Featuring Alexander Yakushev
Performance optimization is an obscure topic because people usually don't practice it too often. Performance doesn't matter most of the time, and you can safely ignore thinking about it up until the moment it starts to matter. That's where you are left wondering what exactly went...
clojure clojurex debugging profiling performance -
Lightning Talk: Building A Simulation-Based Text Adventure
Featuring Peter Westmacott
In this talk, you will discover update on an ambitious text-based game Peter has been making. Inspired by the work of the late René Girard, the renowned philosopher of social science, Peter is aiming to create a simulation-driven world in which the themes of contagious violence and the practice...
clojure games simulation clojurescript -
Applying Clojure's Design Principles to its Documentation
Featuring Tom McTighe
Clojure was designed to be clear, consistent, practical, and empowering -- and many think it's the best language that ever was.
clojure ux ui technical-writing documentation-docs-tutorials programming-languages clojure-java-lisp -
Growing a Product with Clojure: Lessons Learned
Featuring Łukasz Korecki
Building a new product can be a lot of fun and you have to choose what technology stack will give you a good head start. Initially, Łukasz and team chose Ruby on Rails to build a prototype which was great until our users started to grow significantly.
clojure clojurex experience-report software-architecture -
Learning How to Design Automatically Updating AI With Clojure, Kafka and Deeplearning4j
Featuring Jason Bell
With the increased development and adoption of streaming platforms, you now have a solid mechanism for collecting and processing data in a timely fashion. The growth and interest in machine learning and artificial intelligence has also given you refined prediction and decision making.
Jason Bell...
functional-programming clojure clojurex -
Data Science in Languages I Don’t Understand
Featuring Rob Stanley
Wefarm, the world’s largest farmer-to-farmer digital network, lets small-scale farmers connect with one another to solve problems, share ideas and spread innovation — all for free. With Wefarm, farmers can share and access crucial crop and livestock information about how to improve their yield or...
ai clojure regional-languages sms agriculture nlp machine-learning data-science bigdata -
Lightning Talk: Monitoring Clojure Applications with Prometheus
Featuring Joachim Draeger
How do you know your Clojure Microservice is doing what it is supposed to do? Don’t stay in the dark, add some metrics! Jo is going to share with you how you can easily add Prometheus metrics to your Clojure application and how to give it a go locally in a Docker Compose stack.
live docker metrics monitoring prometheus clojure clojurex functional-programming -
Polymorphism à la Clojure: Functional Object Oriented Programming is not an Oxymoron.
Featuring Yehonathan Sharvit
It is quite common to think that Functional Programming is in opposition with Object Oriented Programming.
functional-object-oriented-programming functional-programming polymorphism clojurex clojure -
Lightning Talk: Beginners Introduction to Clara Rules
Featuring Charlotte Fereday
Clara rules enables developers to express domain knowledge in code without the overhead of an enterprise rule system. Clara is a combination of expert system and Clojure functional programming.
beginners clara-rules clojure clojurex -
Lightning Talk: Running without an API
Featuring Gaivile Vezeviciute
Parkrun organise free, weekly, 5km timed runs around the world. They are open to everyone, free, and are safe and easy to take part in. In case any event is cancelled, they have this information on the website. Unfortunately, there is only a promise of an API for notifications.
api web functional-programming clojurex clojure -
REPtiLe - A Cold Blooded Collaborative REPL
Featuring Ray McDermott
During this session, you will dive into a live demo and then discover the architecture of REPtiLe.
prepl repl clojurescript clojure -
Using Duct Framework in Production
Featuring Iván Perdomo
Duct is a framework for building server side applications in Clojure. It has evolved from being a template using Component library to a more rich runtime configuration framework based on Integrant.
architecture integrant duct-framework clojure -
Quick and Easy Testing for Busy Mums (and other Clojure developers)
Featuring Eleanor Mann
From her personal experience with the testing culture in the Clojure community, Eleanor felt the need for and developed a less idealistic and more practical, negotiated approach to testing, with the emphasis on lightweight, maintainable tests. During this talk, she will share her approach and...
clojurex clojure testing -
Keynote: The Spirit of Clojure
Featuring Karsten Schmidt
Join Karsten for his Keynote on the spirit of Clojure.
keynote clojurex clojure -
Are You Writing Java in Clojure?
Featuring Erik Assum
As Erik dove into yet another Clojure codebase, it was whispering very quietly. He couldn’t quite figure out what it was saying, but it caught his attention.
composability clojure-codebase clojure java -
Keynote: Zeno and the Tar Pit
Featuring Christophe Grand
According to Guy Steele, Java managed to drag a lot of C++ devs halfway to Lisp. Clojure dragged Christophe halfway out of Moseley&Marks’ tar pit. Where to now?
futurology concurrency async logic fp clojure -
Brewing CIDER: It Starts with an Orchard
Featuring Bozhidar Batsov
We are elated to have Bozhidar back at Clojure eXchange this year!
clojurex functional-programming clojure -
Lightning Talk: Making Music With Alda & Edna
Featuring Tristram Oaten
During this session, you will discover a live demo of Alda and Edna: Music programming languages for musicians and Clojurians.
midi sampling synthesis composition music clojure -
Lightning Talk: Levelling up Lacinia with Spec
Featuring Antony Woods
Using Spec to generate GraphQL schema and improve resolver validation.
reframe react clojurescript web graphql clojure -
2
Now you're Speaking my Language! : Building, Maintaining and Using a Patient-Friendly Medical Ontology
Featuring Sam Oleary and Chloe Pont
HealthUnlocked is a social network where people discuss their health. Their users share 4.5 pieces of health content every minute, which they categorise within milliseconds using machine learning.
health ontology clojurex clojure -
Lightning Talk: Fullstack Clojure in the Movie Business
Featuring Nigel Runnels-Moss
Gower Street Analytics is a big-data movie industry company that is in the somewhat rare position of using Clojure for the back-end, Clojure for the 'front-end' (web layer) and ClojureScript for the client. In this brief talk, Nigel will share what you can learn from running clj/cljs on...
clojurex clojure hiring cljs
-
Clojure eXchange 2017
Two days in London
If you're looking for the best place to learn about Clojure, Functional Programming and network with like-minded people, then the Clojure eXchange 2017 is the conference you simply can't miss! Meet with the world's leading experts, learn how to use Clojure in your team and discuss war...
clojure clojurex functional-programming fp -
ClojureBridge London Nov 2017 at Skills Matter
1.5 days in London
ClojureBridge is a free, beginner-friendly workshop teaching the Clojure programming language, primarily aimed at those who identify as women, transgender & non-binary.
clojure diversity community -
HackTheTower December 2016
One day in London
hackthetower.co.uk is a hack day for any and all developers to come and collaborate on projects or discover new technologies together and enhance their skills. Bring your laptop and your desire to try things out & have fun!
clojure clojurex hack hackathon -
Clojure eXchange 2016
Two days in London
If you're looking for the best place to learn about Clojure, Functional Programming and network with like-minded people, then the Clojure eXchange 2016 is the conference you simply can't miss! Meet with the world's leading experts, learn how to use Clojure in your team and discuss war...
clojure types java functional-programming jvm fp clojurex elm -
HackTheTower December 2016
One day in London
hackthetower.co.uk is a hack day for any and all developers to come and collaborate on projects or discover new technologies together and enhance their skills. Bring your laptop and your desire to try things out & have fun!
clojure clojurex hack hackathon -
Clojure eXchange 2015
Two days in London
Do you want to explore the latest innovations in Clojure and meet with your peers attempting to solve complex software problems using this Functional language?
clojure types java functional-programming jvm -
Clojure eXchange 2014
Two days in London
Want to get to grips with one of the fastest growing Functional languages around? How about joining 150+ Clojure developers and some of the world's leading experts on Clojure, Simplicity and Functional Programming?
clojure functional-programming lisp jvm clojurescript types java -
Clojure eXchange 2013
One day in London
Are you a developer looking to expand your functional skill set? Would you like to meet some of the biggest names in the industry?
clojure functional-programming jvm java lisp clojurescript cascalog mqtt concurrency clojurex -
Clojure eXchange 2012
One day in London
The Second Annual Clojure eXchange, led by Bruce Durling took place on December 6th 2012 at The Crypt. Follow @skillsmatter and #clojurex for programme updates
clojure -
Clojure eXchange 2011
One day in London
With the great interest in Clojure and the fabulous success of recent London Clojure meetups, we decided the time is right for a proper, intensive, interactive day here at Skills Matter for everyone interested in this great technology to learn and share skills.
clojure