Heart of Clojure

September 18 & 19, Leuven, Belgium.

Sailing with Scicloj: A Bayesian Adventure


The presentation, created in collaboration with Daniel Slutsky and the Scicloj community, discusses the Scicloj project and the data science tools for Clojure. Sami Kallinen shares his personal journey of learning to sail during the Covid-19 pandemic. The main focus of the presentation is on Polar diagrams, which are crucial for assessing a boat’s performance, important for racing tactics and choosing the optimal sailing routes. The speaker has collected and analyzes various data points to create these diagrams for a 46-year-old Finnish half-tonner cruising sailboat with a classic design. The primary focus is on showcasing how Clojure’s data science tools are used to analyze data and construct models, especially through Bayesian analysis.

This presentation highlights the current state of the Scicloj project and the data science tools it offers for Clojure, using an specific example as a guide. The preparation of the talk was a collaborative effort involving Daniel Slutsky and the Scicloj community.

The backstory to the theme of the presentation is that the speaker “accidentally” took up sailing during the COVID-19 pandemic. Due to health issues, he had to seek temporary housing when his kids went back to school and ended up on a boat. So, why not learn to sail while living on board? Fast forward to this summer and he has upgraded to a 46-year-old Finnish half-tonner cruising sailboat with a classic design. It’s nothing fancy, quite small and basic by today’s standards, but still beautiful.

Polar diagrams are a valuable tool for displaying a boat’s performance, highlighting the optimal boat speed for sailing at different wind angles and speeds. They provide insight into the overall performance characteristics of the boat and assist in maximizing sail configuration and route for peak speed, especially in terms of “velocity made good,” the effective speed toward the destination considering you may not always be able to sail directly to it. Polar diagrams are vital for racing but also useful for enhancing cruising skills. Moreover, Polar diagrams are integral for weather routing software that determines the most favorable route for a sailing vessel based on forthcoming weather conditions. Without polars, determining the speed and route for a particular boat would be impossible.

These diagrams can be generated theoretically using models based on the specific design and features of the boat. Alternatively, they can be created empirically by measuring and plotting performance data.

Since there are no manufacturer-generated Polar diagrams available for this specific sailboat model, the presenter has collected various data points such as wind speed, direction, boat speed, position, and accelerometer readings. The data is analyzed, and a model is created that generates “empirical” polar diagrams. The data collection setup using Raspberry Pis is explained. However, the primary focus will be on showcasing Clojure’s data science tools for analyzing the data and developing the model. The goal is to present advancements in notebooks, visualization tools, and conducting Bayesian analysis using Clojure.


  • Sami Kallinen

    Sami is a full-stack Clojure developer, data scientist, and the founder of 8-bit-sheep.com, with experience in leading digital products and media strategy since the early 1990s. Sami has been working at KP System in Växjö, Sweden, for the past three years.

Get your ticket
Social media image