About the Remote Conference
Due to the craziness of a global pandemic, the only responsible way to put on Clojure/north is virtually as a remote conference. We've worked hard to put something together that you'll find meaningful and unique over just watching talks on Youtube. Come join us at Clojure/north 2020 in a socially distant fashion!
Clojure/north is a non-profit event from the Clojure community for the community. Our goal is to share knowledge and be an accessible, enjoyable event for newcomers and veterans to Clojure.
Virtually! Through the magic of the internet
Thursday - Friday
June 25th - 26th, 2020
Note: attendees who have purchased the previous in-person tickets will be granted a partial refund and extended an opportunity to request a refund up until June 21st.
How it works
Experience the conference from the comfort of your home!
- Watch recorded talks anytime starting June 22nd. Our speakers are internationally renowned members of the Clojure and FP community (check out last year's talks for examples)
- Attend Clojure/north on June 25th and 26th from your home and take part in:
- Live Workshops on a variety of topics. For programmers from beginners to experts!
- Exclusive Q&As with speakers. Get a chance to ask that burning question you've had.
- Virtual networking breakout rooms. Meet and connect with members of the Clojure and functional programming community from across the globe.
- After party socials (games, virtual drinks, and more!)
Pre-recorded talks will be released publicly two weeks after the conference.
All times are in EDT (GMT-04:00)
Intros / setup
Q & A [Keynote] Parens for Python
Q & A Duckula: Type Safe Backend Services with Clojure, HTTP & Avro
Q & A Evolving Code Through Accretion
Building Marvelous and Heroic Systems from the Ground Up
Intros / setup
Q & A Data Diffing Based Software Architecture Patterns
Q & A [Lightning] Gluing Clojure Microservices
Q & A More Powerful Multimethods
The REPL as a General Purpose Tool
Wrap-up & Social
Workshops are interactive sessions that will range between one to five hours in length (with breaks as appropriate). The goal is to offer a guided experience for attendees on a new subject for them, be it entry level or advanced.
Clojure Katas - Functional Programming - Rafal Dittwald & James Cash
There’s more than one way to solve a problem. This workshop is an opportunity to step out of your Clojure bubble and see how other Clojure developers approach and solve programming challenges.
In the first hour, participants will be tasked with solving 1 (or more) challenge problems, and in the second hour, we will review and discuss the various solutions.
There will be 4 problems, but each participant will only work on 1 (or 2 if there’s time), and then participate in the discussions for all 4. These problems won’t be “puzzles” that require discovering a particularly ingenious solution, but rather, reasonable-scoped “boring” tasks that have been designed to allow for varying kinds of solutions and showcase the strengths (or weaknesses) of Clojure and functional programming.
(For beginners to Clojure, you’ll be welcome to solve the problems in your preferred language, or attempt one of the simpler problems with Clojure).
- introduce format and problems
- participants work on problems
- participants submit their solutions for critique
- review and discussion of solutions to each problem
Length: 2 hours
Clojure Katas - Designing Data-Driven DSLs - Rafal Dittwald & James Cash
In recent years, there’s been a wave of new Clojure libraries written with “data driven” APIs. Be it routing, database-querying, or composing systems - problems that were once solved with string-, function- or macro-based DSLs are now being re-solved in a new “style” that’s somewhat unique to Clojure. What does it mean to be "data driven"? Is it just a fad? Is it only for libraries?
In the first hour, we will do a brief explanation of data-driven APIs, and then participants will be tasked with designing data-driven APIs for some prepared problems. In the second hour, we will review and discuss the various solutions.
(Since we’re focusing on design rather than implementation, this workshop should be accessible to Clojurians of all levels).
- introduce “data-driven” apis
- introduce design problems
- participants work on design problems
- participants submit their solutions for critique
- review and discussion of solutions
Length: 2 hours
Building Marvelous and Heroic Systems from the Ground Up - Mark Bastian
Clojure is a fantastically powerful, yet simple language. Despite this assertion, it is not uncommon for those new to the language to have a hard time grasping how to build complete applications from the basic building blocks of Clojure.
This workshop will bridge the gap from the basics of data literals all the way to building a complete, stateful web backend application. Participants will learn the following key takeaways:
- Clojure is a data-centric language that frees developers to think about their problems simply and clearly.
- The core functions of Clojure can be thought of as a powerful data DSL that is appropriate for working and thinking in any domain.
- Clojure code is often developed in a bottom-up, functional style.
- Powerful libraries exist beyond Clojure core that are also built on data-driven and functional concepts.
- Stateful applications can be developed and organized in a functional manner by pushing state to the edges of their applications and isolating stateful components.
Length: 2.5 hours
The REPL as a General Purpose Tool - Wesley Matson
Some of us fight production fires using the REPL, even for non-Clojure projects. Each experience yields a useful script as an artifact. With a smidgen of forethought, these tools we build for ourselves can be shared and reused in creating investigative tooling for our teams.
- Intro/Icebreaker Exercise
- Data Manipulation Exercise
- Data Joining Exercise
- "Next Steps"
Length: 1 hour
Concurrency with Clojure - Kapil Reddy & Rhishikesh Joshi
- Introduction to basics and discussion about concurrency
- Solving thundering herd
- A few anti patterns with concurrency constructs
- Introduction to CSP and how it differs from shared-memory concurrency
- Introduction to core.async library and its capabilities
- Build an in-memory data processing pipeline using channels
Length: 5 hours
The Language of the Language: Comparing my experiences of compiler construction in Clojure and F#
Clojure/north is a non-profit conference so every dollar you put in goes directly towards making the event a better experience for everyone.
Check out our gallery from last year's event
How do I use a student discount?
Please send us an email at email@example.com with a copy of some sort of verification you're enrolled in a post-secondary institution (student ID, timesheet, formal verification from institution, etc.), and we will reply to you with details on how to get your discounted ticket.
Code of Conduct
All attendees, speakers, sponsors, and volunteers for Clojure/north are required to agree to the event code of conduct. Organizers will enforce this code throughout the event. We are expecting cooperation from all participants to establish a safe environment for all.
You can contact us at firstname.lastname@example.org or call the number in your event package during days of the event.
The Quick version
We are dedicated to provide a harassment-free conference experience for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, or religion. 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 organizers.
The Less Quick Version
Harassment includes offensive verbal comments related to gender, sexual orientation, disability, physical appearance, body size, race, religion, 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 behaviour are expected to comply immediately.
Sponsors are also subject to the anti-harassment policy. In particular, sponsors should not use sexualized images, activities, or other material. Booth staff (including volunteers) should not use sexualized clothing/uniforms/costumes, or otherwise create a sexualized environment.
If a participant engages in harassing behaviour, the conference organizers 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 volunteer buttons.
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.