Meet our Speakers

In this our inaugural year we’ve recruited a speaker list of more than 20 Clojurists, spread over two days and two tracks. Find out more about our speakers below.

Expect keynote and panel announcements in weeks leading up to Feb. 11.

Who are they?

Keynote Speakers

Designing with Data - Michael Drogalis

Designing with Data - Michael Drogalis

“It’s great, it uses plain data structures as its API” – a phrase familiar to anyone who’s spent time around the Clojure community. On the surface, everyone tends to agree with that assertion, but what are the concrete implications of directly leveraging data structures at the architectural level? Can it affect product design? How about team interactions?

From the top of the stack in UI land to the very bottom in cloud infrastructure territory, wielding a small number of data structures as the base abstraction level visibly packs a punch. In this talk, we’ll unravel the layers of design techniques that seemingly give Clojure developers superpowers in productivity and look at the consequences of what happens with this idea at scale.

About the Speaker

Michael is the creator of Onyx and the cofounder of Distributed Masonry – the company that commercially supports Onyx. He is also a developer at ViaSat, a nationwide satellite design company. He has spoken StrangeLoop, Lambda Jam, and Clojure/conj.

Sense and Referential Transparency - Zach Tellman

Sense and Referential Transparency - Zach Tellman

Names, we’re told, are one of the only two hard problems in computer science. Despite this, and despite our general mania for abstractions, we spend almost no time discussing names as a general concept. Instead, we occasionally bicker over names during code reviews, lament how a name chosen five years ago makes our conversations confusing today, and otherwise choose whatever occurs to us in the moment.

We can do better.

This talk will provide a broad survey of how philosophers have struggled with the idea of names, discard everything that’s irrelevant to software, and apply the remnants towards creating a framework for clear, consistent names and namespaces in Clojure.

About the Speaker

In the case of genuinely proper names like ‘Zach Tellman’ opinions as regards their sense may diverge. As such may, e.g., be suggested: Plato’s disciple and the teacher of Alexander the Great. Whoever accepts this sense will interpret the meaning of the statement “Zach Tellman was born in Stagira” differently from one who interpreted the sense of ‘Zach Tellman’ as the Stagirite teacher of Alexander the Great. As long as the nominatum remains the same, these fluctuations in sense are tolerable. But they should be avoided in the system of a demonstrative science and should not appear in a perfect language.

You can find Zach online at ideolalia.com.

 


Speakers

Statecharts in the Re-Frame Environment - Alan Shaw

Statecharts in the Re-Frame Environment - Alan Shaw

Re-frame is a sensible framework that runs on top of Reagent. But it allows you to spread control decisions throughout your codebase.

Statecharts, a powerful, clean generalization of state diagrams, give you a central, legible, declarative, executable specification of events and their handlers, down to whatever level of detail you find useful, for design, debugging, tracking, and post-crash analysis.

Let’s explore how you can use statecharts in your own app.

Functions vs. Components - Anatoly Polinsky

Functions vs. Components - Anatoly Polinsky

Clojure is powerful, simple and fun. Depending on how the application state is managed, these 3 superpowers can either stay, go somewhat, or go completely. Apps we build for clients are quite different from tools and libraries on github; they are full of state. While there are frameworks that allow you to join the “application context party”, this talk will take a very different approach to manage and reload state with the help of a tiny library called “mount“.

About the Speaker

Anatoly loves people, music and coding. He went from “ZX Spectrum The Great” to z/Series and then back to human oriented hardware. He works at Chariot Solutions where he has an opportunity to hack on Clojure, Scala, Java, Mobile and this thing people call big data. In his free time he drinks scotch, smokes hookah, jams some guitar chords with others, and then some.

Anatoly Polinsky works at Chariot Solutions. Find him online at dotkam.com

A Few Pints of CIDER - Bozhidar Batsov

A Few Pints of CIDER - Bozhidar Batsov

CIDER stands for Clojure Interactive Development Environment that Rocks and it’s one of the most widely used tools by Clojure hackers. And there’s one pretty crazy thing about it – it’s built on top of the “ancient” Emacs editor! We’ll quickly introduce CIDER and then we’ll start exploring its vast set of features. By the end of the talk people who haven’t used CIDER will likely be intrigued by it, and even experienced users will likely learn a thing or two.

 

About the Speaker

Bozhidar loves computers in general and programming in particular. His fanatic devotion to Emacs is known world-wide. Bozhidar spends a lot of his time on GitHub, contributing to various Ruby, Clojure and Emacs Lisp projects. In the realm of Clojure he’s probably best known for his work on the Clojure tooling for Emacs (clojure-mode, CIDER & inf-clojure) and the community Clojure style guide. Believe it or not, Bozhidar has interests outside computers as well! We won’t, however, bore you with those here.

Bozhidar works at Toptal. Find him online at batsov.com.

Beyond `top`: Command-Line Monitoring on the JVM - Colin Jones

Beyond `top`: Command-Line Monitoring on the JVM - Colin Jones

Production apps behave in strange ways: traffic exceeds expectations, APIs time out, and failures are unpredictable. Systems tools like `top` and `vmstat` help but often don’t give us enough detail to find root causes. On the other hand, the JDK ships with dozens of command-line tools, including several specifically targeted at application monitoring. In this session, we’ll grab our utility belt and dive into a floundering Clojure application, using tools that the JDK provides out of the box.

About the Speaker

Colin Jones is director of software services at 8th Light, where he crafts systems of many shapes and sizes, from front-end user experiences to complex distributed systems. He particularly enjoys improving the reliability, performance, and security of living applications, using the best languages and technologies for the job. He is the author of Mastering Clojure Macros (Pragmatic Bookshelf, 2014) and has worked on some significant Clojure open-source projects, including the Clojure Koans, REPLy, and Leiningen.

Colin Jones works at 8th Light.

Alda: A Music Programming Language, Built in Clojure - Dave Yarwood

Alda: A Music Programming Language, Built in Clojure - Dave Yarwood

Inspired by other music/audio programming languages such as PPMCK, LilyPond and ChucK, Alda aims to be a powerful and flexible programming language for the musician who wants to easily compose and generate music on the fly, using only a text editor.

Clojure proved to be an ideal language for building a language like Alda, not only because of its wealth of excellent libraries like Instaparse and Overtone, but also because of its Lispy transparency and facility for crafting DSLs.

About the Speaker

Dave Yarwood is a composer, musician and software engineer at Adzerk in Durham, NC. He graduated from UNC-Chapel Hill in 2008 with a degree in Music Composition and Bassoon Performance. Dave is fascinated by the intersecting worlds of music and programming.

Dave Yarwood works at Adzerk. Find him online at daveyarwood.github.io

Structured, Declarative Data Visualization in Clojure - David Tsao

Structured, Declarative Data Visualization in Clojure - David Tsao

Spark, Hadoop, PostgreSQL/PostGIS: Clojure reaches into all the crevices where your data are by leveraging JVM interop. Yet, abilities to explore and and visualize data from within clojure are still underdeveloped compared to solutions that exist in the Python and R ecosystems.

This talk introduces Gyptis, a data visualization library for clojure/script designed to address this gap. Key concepts in the theory of statistical graphics will be emphasized.

About the Speaker

David Tsao is a PhD candidate at Rice University, where he manipulates the genomes of white blood cells to unravel how they kill pathogens in the body. Before that he was a software engineer at Groupon working on optimizing customer acquisition and retention through online marketing channels.

Find him online at davetsao.com

The Elements of a Functional Mindset - Eric Normand

The Elements of a Functional Mindset - Eric Normand

Many people ask about how to develop a functional mindset. It’s difficult if you’ve learned another paradigm and don’t know where to start. Functional thinking is a set of habits that you can train that will serve you well while programming in any language.

This talk will cover four important areas: minimize mutation, minimize implicit dependencies, isolate side-effects, and basic idioms. It draws on my experience pairing with and teaching beginners to functional programming.

About the Speaker

Eric Normand is the creator of PurelyFunctional.tv where he runs a program to help programmers become Clojure professionals. He also writes at LispCast.com and publishes the Clojure Gazette. He loves traveling and lives in New Orleans, where he was born and raised.

Erlang in The Land of Lisp - Jan Stępień

Erlang in The Land of Lisp - Jan Stępień

This talk is dedicated to lessons we’ve learned while designing, developing, and deploying to production our very first Erlang project. The audience of this talk will learn about differences between Clojure and Erlang, both at the linguistic level as well as, even more importantly, at the level of underlying virtual machines. I’m going to discuss how Erlang challenges our methods of building systems in Clojure. I’ll use our new Erlang-based project as a source of concrete differences.

About the Speaker

Jan is a software developer at stylefruits. He runs (½-) marathons and likes wandering in snowy Alpine wilderness. He’s got an MSc in CS from Warsaw University of Technology. He’s easily confused by the assignment operator.

Jan Stępień works at stylefruits GmbH. Find him online at stepien.cc/~jan/

Mobile Apps with Clojurescript - Jearvon Dharrie

Mobile Apps with Clojurescript - Jearvon Dharrie

React Native enables us to build native mobile apps with JavaScript. Amazing work is being done to pair React Native with ClojureScript. The following topics will be discussed: What is React Native?, How does the marriage of the two work? and advantages and disadvantages. The audience will learn about React Native and how to get started with Ambly and ClojureScript.

About the Speaker

Jearvon Dharrie is a software engineer at Comcast. Jearvon spends his day working with Ruby, and the JVM. In his free time he enjoys toying with programming languages. He is currently interested in Clojure and ClojureScript.

Jearvon Dharrie works at Comcast. Find him online at jearvondharrie.com

Guiding People into Clojure - John Stevenson

Guiding People into Clojure - John Stevenson

Clojure can seem very complicated to learn, more so than it actually should be. After spending the last few years learning Clojure by teaching others, I share my experiences, approaches and tips for making the journey as effective, rewarding and as much fun as possible.

About the Speaker

Speaker, author, conference organiser & community obsessed developer – loves Clojure, Emacs, Cats, Cycling & Agile development. 

John Stevenson works at Heroku/Salesforce. Find him online at jr0cket.co.uk

 Understanding Core Clojure Functions - Dr. Jonathan Graham

Understanding Core Clojure Functions - Dr. Jonathan Graham

Every language has many pre-defined core functions, so we can quickly get on building what we really want. This ease of use does come with a cost, though. Do we really know the power of the magic that we are wielding?

In this presentation we will look at how to implement our own versions of the Clojure functions reduce, count, filter, map and pmap. The pace will start gently for those with little Clojure experience to follow, but will then dive deep to provide a full understanding.

About the Speaker

The interests of Dr. Jonathan Graham cover a melting pot of code, music, science and art. He has an expertise in systems thinking and production deployment, acquired through many years in process design, developing drugs for pharmaceutical giant GlaxoSmithKline, and he has also used his chemistry skills to help design massive art instillations.

It was through music, live-coding on stage as Meta-eX, that Jonathan was first exposed to programming. Travelling the world, he showed audiences of all sizes how they too can use music as a way to learn to code, or how to use coding as a way to express creativity via music. Now he holds positions as a software developer at 8th Light, and as a co-founder of Mined Minds.

Dr. Jonathan Graham works at 8th Light. Find him online at jonathangraham.github.io

Datomic transaction log migrations - Lucas Cavalcanti & Vinicius Correa

Datomic transaction log migrations - Lucas Cavalcanti & Vinicius Correa

As the system evolves, database models also evolve. At some point we might discover the we’ve got a piece of the model wrong and have to write a schema or data migration to fix it. On normal relational databases, this works – it’s a simple matter of altering the schema and the data. Datomic introduces a third component: time. Since we also have the entire history of entity changes, even if we migrate the schema and the data (as of now), asking for data in pre-migration historical database would still return data in the old way. We demonstrate 3 different real world solutions to this problem.

About the Speakers

Lucas Cavalcanti (@lucascs) is the Lead Software Engineer of Nubank, a high growth Brazilian Internet bank built as a service oriented architecture leveraging Clojure and Datomic. Lucas is a functional programming enthusiast, and proponent of best practices in software development, with a vast experience in real production applications written in Java, Scala, Ruby and now Clojure. He holds a BS in Computer Science from the University of Sao Paulo.

Find Lucas online at github.com/lucascs.

Vinicius Correa (@c0rrzin) is also a Software Engineer of Nubank. He holds a Computer Engineering degree from the University of Sao Paulo.

 Load Testing with Clojure - Markus Hjort

Load Testing with Clojure - Markus Hjort

There are three hard things in load testing: how to write realistic simulations, how to generate load and how to collect meaningful results. The second one is especially hard problem to solve. We want to take everything out of the processing power we have but at the same time we want to generate exactly the expected load.

I have learned the hard way how to solve the puzzle by utilizing Clojure and core.async for load testing. In this talk I will share my experience from multiple projects.

About the Speaker

Markus is a polyglot programmer writing Clojure, Javascript and Ruby for living. He has been around building scalable and robust software for over fifteen years. He loves solving complex problems but hates software with accidental complexity. Besides hard-code coding you can often find him by the white board chatting with his team mates and drawing circles, lines and boxes to find ways to simplify the design. He is the author of clj-gatling, load testing tool for Clojure.

Markus Hjort works at Adtile Technologies Inc.. Find him online at medium.com/@mhjort 

Optimizing Performance in Real-World Problems - Nikola Peric

Optimizing Performance in Real-World Problems - Nikola Peric

When a project approaches production questions about performance always surface. This talk tackles several real-world problems that have occurred while bringing a data-driven project to production, and walks through the problem solving approach to each.

About the Speaker

Nikola Peric is what one may describe as an obsessive developer. If you don’t see him writing code at work, he’ll be busy hacking away at a small project here and there. Nikola strives to write meaningful code that positively impacts and improves the way people work. Currently he works as a systems developer at Toronto-based market research firm Synqrinus.

Clojure and the CST - Paula Gearon

Clojure and the CST - Paula Gearon

Code editors work on flat text files, but code is highly structured. Editors will often try to enforce the correct structure, but at the end of the day, the code is still flat text: a structure from the earliest days of computers.


Representing code in a database offers interesting new options, such as semantics guarantees, structural editing, and versioning. This talk shows a system for converting Clojure to Datomic structures, along with a compiler that can read directly from the database.

About the Speaker

A computer engineer, quantum physicist, and Semantic Web geek, Paula is most at home working in the lower layers of systems, building the infrastructure that lets other developers do their jobs. She was a senior developer on Tucana, the first commercial RDF database, and the lead developer on Mulgara, which was an open source version. She has built 2 commercial rules engines, one in Clojure, and is the middle of building the third. When not coding, she is busy doing Taekwondo with her daughter, cooking, and staying up late to talk to friends online.

Find her online at gearon.blogspot.com

Protocol Oriented Programming in Clojure & Cljs - Priyatam Mudivarti

Protocol Oriented Programming in Clojure & Cljs - Priyatam Mudivarti

Clojure and Cljs expose their core data structures and hosts using Protocols. However, typical webapps built on Clojure/Cljs have seldom used Protocols to abstract domain concepts. Thanks to Component, Om.Next, and the announcement of Swift as “Protocol Oriented Language” new abstractions are emerging.

In this talk I’ll discuss the basics of Protocols, the expression problem, and common patterns found in client and server libraries that demonstrate elegant abstractions.

About the Speaker

Priyatam is a fiction writer, clojure engineer, and clojurescript designer. After building software for thirteen years in creative agencies, enterprises, and early-stage startups he found his passion at the intersection of literature and lisp. He’s the principal at Facjure, a tiny publishing studio.

Priyatam Mudivarti works at Facjure, LLC. Find him online at priyatam.com


Panels

Panel #1 – Clojure & the Community

Join us and our panel of experts as you drive a discussion on the state of the Clojure Community. Our panelists have come prepared to talk about numerous aspects of community; diversity, beginner friendliness, free & for-profit products and many others.

This panel will be open to members of the public. Join our mailing list or follow us on twitter (@ClojureRemote) to hear where you can find that when the time comes.

Panel Members:

Our moderator will be Marcus Blankenship. See you on the 11th!

Panel #2 – Clojure Web Development

In this panel, our experts will discuss the strengths and weaknesses of web development in Clojure today. With your help asking questions and answering polls, maybe they can even derive a clear path forward for the community.

This panel will be open to members of the public. Join our mailing list or follow us on twitter (@ClojureRemote) to hear where you can find that when the time comes.

Panel Members:

Our moderator will be Ryan Neufeld. See you on the 12th!