“Towards Faster Sorting and Group-by operations” Dai ZJ · Lightning Talk (10 minutes)

Julia is increasingly being recognized as one of the big three data science programming languages alongside R and Python. However, Julia’s data ecosystem has had less time to mature when compared to R’s or Python’s. Hence it’s not surprising that some data operations in Julia are slower than their …


“How We Wrote a Textbook using Julia” Tim Wheeler · Talk (30 minutes)

The speaker's experience writing a full-length optimization textbook with Julia-generated figures and typeset julia code, how to all works.


“Handling Data with DataFrames.jl” Bogumił Kamiński · Workshop (half day) (3.5 hours)

A case-study based tutorial on working with tabular data using the DataFrames.jl package.


“Intelligent Tensors in Julia” Katharine Hyatt, Matthew Fishman · Talk (30 minutes)

We present ITensors.jl, a ground-up rewrite of the C++ ITensor package for tensor network simulations in Julia. We will motivate the use of tensor networks in physics and give some examples for how ITensors.jl can help make the use and development of tensor network algorithms easier for researchers…


“Counting On Floating Point” Jeffrey Sarnoff · Lightning Talk (10 minutes)

DoubleFloats.jl offers performant types, Double64 and Double32, with twice the precision of Float64 and Float32. Attendees will gain a working knowledge of how to apply the package in support of more reliably accurate results.


“Smart House with JuliaBerry” Ahan Sengupta · Lightning Talk (10 minutes)

Hardware and software scale model of a smart house that utilises the functions of a Raspberry Pi. It has several functions that could be transferred to a full-scale model using the same hardware.


“A general-purpose toolbox for efficient Kronecker-based learning” Michiel Stock · Lightning Talk (10 minutes)

Pairwise learning is a machine learning paradigm where the goal is to predict properties of pairs of objects. Applications include recommender systems, such as used by Amazon, molecular network inference and ecological interaction prediction. Kronecker-based learning systems provide a simple, yet e…


“Gen: a general-purpose probabilistic programming system with programmable inference built on Julia” Marco Cusumano-Towner · Lightning Talk (10 minutes)

This talk introduces a new flexible and extensible probabilistic programming system called Gen, that is built on top of Julia. Gen's extensible set of modeling DSLs can express probabilistic models that combine Bayesian networks, black box simulators, deep learning, structure learning, and Bayesian…


“Formatting Julia” Dominique Luna · Lightning Talk (10 minutes)

Ever wish your code automatically beautiful? Tired of spacing out commas, wrangling parenthesis and indenting? Julia's formatter can do all this and more! Come find out how to use it your everyday workflow.


“A Showcase for Makie” Simon Danisch · Talk (30 minutes)

Makie is a new plotting library written a 100% in Julia.
It offers a GPU accelerated drawing backend that can draw huge amounts of data at interactive speeds.
Other backends for SVG, PDF and the Web are available as well, so Makie can be used in a many different scenarios.
This talk will give an ov…


“PackageCompiler” Simon Danisch · Lightning Talk (10 minutes)

With PackageCompiler, one can ahead of time compile binaries for Julia packages. This includes the ability to create an executable for a Julia script.
In this talk, I will give a short overview of how PackageCompiler works and how it can be used to ship your Julia package or eliminate JIT overhead.


“Yao.jl: Extensible, Efficient Quantum Algorithm Design for Humans.” Roger Luo · Talk (30 minutes)

Quantum computation is the future of computing. However, writing quantum program can be hard for developers living in a classical world. We developed Yao.jl to help scientists test and explore their quantum ideas in a simple way.


“JuliaCN: A community driven localization group for Julia in China” Roger Luo · Lightning Talk (10 minutes)

JuliaCN was founded by early Chinese Julia developers for Julia localization in Chinese. We started it by providing Chinese translation on Julia documentation known as JuliaZH.jl/julia_zh_cn.


“SemanticModels.jl: not just another modeling framework” Christine R Herlihy, James Fairbanks · Talk (30 minutes)

SemanticModels.jl is a library for analyzing scientific and mathematical models written in julia. We apply techniques from program analysis to understand and manipulate scientific modeling code. This allows you to write programs that write novel models.


“Julia for Battery Model Parameter Estimation” William L Fredericks, Venkat Viswanathan, Shashank Sripad, Matthew Guttenberg · Lightning Talk (10 minutes)

High-fidelity battery modeling requires the estimation of numerous physical parameters in order to properly capture the physics of the electrochemical, thermodynamic and chemical processes that underlie the system. Using Julia, the parameters for this model were able to be estimated by speeding up …


“A New Breed of Vehicle Simulation” Tucker McClure · Talk (30 minutes)

When you design an aircraft or spacecraft, it generally has to work the first time or the consequences are fiery destruction. You simulate a lot. Julia enables not merely a flexible and fast way to write a custom simulation, but in fact an entirely new and powerful breed of simulation architecture.


“SIMD and cache-aware sorting with ChipSort.jl” Nicolau Leal Werneck · Lightning Talk (10 minutes)

ChipSort.jl is a sorting package that exploits instruction-level parallelism and cache memory seeking the best performance in any system.


“Static walks through dynamic programs -- a conversation with type-inference.” Valentin Churavy · Lightning Talk (10 minutes)

Efficient performance engineering for Julia programs heavily relies on understanding the result of type-inference on your program, this talk will introduce a tool to have a conversation with type-inference.


“Concolic Fuzzing -- Or how to run a theorem prover on your Julia code” Valentin Churavy · Lightning Talk (10 minutes)

Concolic testing is a technique that uses concrete execution to create a symbolic representation of a program, which can be used to prove properties of programs or do provable exhaustive fuzzing.


“Using Julia in Secure Environments” Seth Bromberger · Lightning Talk (10 minutes)

As a product of the academic community, Julia has been developed with certain assumptions relating to source code availability and access. In secure environments, however, access to public (and even private) package repositories can be deliberately limited. It is still possible to use Julia in thes…


“Simulation and estimation of Nonlinear Mixed Effects Models with PuMaS.jl” Vaibhav Dixit · Talk (30 minutes)

The talk will introduce the use of PuMaS.jl for simulation and estimation of Nonlinear Mixed Effects Models used in systems pharmacology.


““Online” Estimation of Macroeconomic Models” Ethan Matlin · Talk (30 minutes)

Medium-large Dynamic Stochastic General Equilibrium models such as those used for forecasting and policy analysis by central banks take a substantial amount of time to estimate using standard approaches such as Random Walk Metropolis Hastings. Our new Sequential Monte Carlo sampler in DSGE.jl makes…


“Brain Tumour Classification with Julia” Amita Varma · Lightning Talk (10 minutes)

I will be talking about my work on brain tumour classification using gene expression data, and how Julia as a tool aided this process.


“JuliaDB Code and Chat” Josh Day · Birds of Feather (0 minutes)

JuliaDB is an analytical data framework that offers typed dataframes, parallel processing, and limited out-of-core support. This session gives JuliaDB users and contributors the opportunity to discuss how JuliaDB works for them, tackle issues, and discuss the future of JuliaDB.


“Guaranteed constrained and unconstrained global optimisation in Julia” David P. Sanders · Lightning Talk (10 minutes)

Set computations with interval arithmetic allow us to write surprisingly efficient software for guaranteed unconstrained and constrained global optimisation in pure Julia.


“Intermediate Julia for Scientific Computing” David P. Sanders · Workshop (half day) (3.5 hours)

This is a workshop aimed at people who already know basic Julia usage and wish to explore some more advanced topics that make Julia special, namely defining and using types, and metaprogramming.


“Interval methods for scientific computing in Julia” David P. Sanders · Talk (30 minutes)

We will show how interval constraint propagation can give a guaranteed description of feasible sets satisfied by nonlinear inequalities via contractors. This technology can be applied to speed up guaranteed global optimization and root finding.


“Array Data Distribution with ArrayChannels.jl” Rohan McLure · Lightning Talk (10 minutes)

We introduce the ArrayChannels.jl library, which allows communication between distributed nodes to occur between fixed buffers in memory. We explore the effects of in-place serialisation on cache usage and communication performance, and consider its suitability for high performance scientific compu…


“MendelIHT.jl: How to fit Generalized Linear Models for High Dimensional Genetics (GWAS) Data” benjamin chu · Lightning Talk (10 minutes)

GWAS data are extremely high dimensional, large (>100GB), dense, and typically contains rare and correlated predictors. In this talk we discuss its unique data structures, how to efficiently represent it with Julia, how MendelIHT.jl in conjunction with Distributions.jl and GLM.jl fits generalize…


“Differentiate All The Things!” Mike Innes · Talk (30 minutes)

Explore Flux's brand-new compiler integration, and how this lets us turn anything in the Julia ecosystem into a machine learning model.


“Julia + JavaScript = <3” Shashi Gowda · Talk (30 minutes)

Julia and JavaScript come together like peanut butter and chocolate
This talk is an overview of the JuliaGizmos ecosystem. It starts with the basics of creating a simple page, showing it in various forms, to Interact.jl and beyond. I will present work done by many people that have been aggregated i…


“Diversity and Inclusion in Julia Community” Nathan Daly, Kelly Shen · Birds of Feather (0 minutes)

We’ll have a birds of a feather session to discuss and brainstorm diversity and inclusion in the Julia community. All are welcome!


“The Julia Language 1.0 Ephemeris and Physical Constants Reader for Solar System Bodies” Renee Spear · Lightning Talk (10 minutes)

The Julia Language 1.0 Ephemeris and Physical Constants Reader for Solar System Bodies is an ephemeris reader, written in the programming language of Julia, is a new tool intended for use in astrodynamic applications.


“Transducers: data-oriented abstraction for sequential and parallel algorithms on containers” Takafumi Arakaki · Talk (30 minutes)

Transducers are composable algorithms that operate on collections of inputs. This concept is first introduced in Clojure language by Rich Hickey for a fully reusable code for mapping, filtering, concatenation, and similar operations that can be modeled a succession of steps. By this nature, trans…


“Computational topology and Boolean operations with Julia sparse arrays” Alberto Paoluzzi · Lightning Talk (10 minutes)

This talk introduces computational topology algorithms to generate the 2D/3D space partition induced by a collection of 1D/2D/3D geometric objects. Methods and language are those of basic geometric and algebraic topology. Only sparse arrays are used to compute spaces and maps (the chain complex) fr…


“Queryverse - Under the Hood” David Anthoff · Talk (30 minutes)

This talk will give a brief overview of the Queryverse functionality and some new features that were added over the last year, and then dive deep into the internal design of Query.jl, TableTraits.jl and many other packages from the Queryverse.


“The Linguistics of Puzzles: Solving Cryptic Crosswords in Julia” Robin Deits · Talk (30 minutes)

If you like using serious scientific tools to do silly things, then this talk is for you. Join me as I explore the intersection of computational linguistics, algorithm design, and machine learning in an effort to seriously overthink cryptic crossword clues.


“Merging machine learning and econometric algorithms to improve feature selection with Julia” Valentin Mari, Nicolás Monzón, Adán Mauri Ungaro, Demian Panigo · Lightning Talk (10 minutes)

Working on our previous contributions for JuliaCon 2018 (see GlobalSearchRegresssion.jl, GlobalSearchRegressionGUI.jl, and [our JuliaCon 2018 Lighting Talk] (https://bit.ly/2UC7dr1)) we develop a new GlobalSearchRegression.jl version merging LASSO and QR-OLS algorithms, and including new outcome ca…


“Differentiable Rendering and its Applications in Deep Learning” Avik Pal · Lightning Talk (10 minutes)

RayTracer.jl is a package designed for differentiable rendering. In this talk, I shall discuss the inverse graphics problem and how differentiable rendering can help solve it. Apart from this we will see how differentiable rendering can be used in differentiable programming pipelines along with neu…


“MLJ - Machine Learning in Julia” Anthony Blaom · Talk (30 minutes)

We present MLJ, Machine Learning in Julia, a new toolbox for combining and systematically tuning machine learning models.


“Modia3D: Modeling and Simulation of 3D-Systems in Julia” Andrea Neumayr · Lightning Talk (10 minutes)

Model and simulate mechanical 3D-systems with hierarchical components, kinematic loops, and collision handling of convex bodies.


“LightQuery.jl” Brandon Taylor · Talk (30 minutes)

Introducting LightQuery.jl, a new querying package which combines performance with flexibility.


“Gaussian Process Probabilistic Programming with Stheno.jl” Will Tebbutt · Talk (30 minutes)

Stheno.jl is a probabilistic programming framework specifically designed for constructing probabilistic models based around Gaussian processes. Come to this talk to find out what that means, why you should care, and how you can use it with Flux.jl and Turing.jl to do cool things.


“Pyodide: The scientific Python stack compiled to WebAssembly” Michael Droettboom · Lightning Talk (10 minutes)

Pyodide is a project from Mozilla to build a performant scientific Python stack running entirely in the web browser using WebAssembly.


“TrajectoryOptimization.jl: A testbed for optimization-based robotic motion planning” Brian Jackson · Lightning Talk (10 minutes)

Trajectory optimization is a fundamental tool for controlling robots with complex, nonlinear dynamics. TrajectoryOptimization.jl is devoted to providing a unified testbed for developing, comparing, and deploying algorithms for trajectory optimization.


“Differential Programming Tensor Networks” JinGuo Liu · Lightning Talk (10 minutes)

A package about einsum, as well as differentiable tensor network algorithms built on top of it. Why we need automatic differentiating tensor networks and how to achieve this goal.


“Heterogeneous Agent Dynamic Stochastic General Equilibrium (DSGE) Models in Julia at the Federal Reserve Bank of New York” Rebecca Sarfati · Talk (30 minutes)

This talk will provide an overview of the Federal Reserve Bank of New York's heterogeneous agent dynamic stochastic general equilibrium (DSGE) model development process in Julia, walking through our navigation of Julia-specific functionality in the process. Comparisons of performance relative to MA…


“Excelling at Julia: basics and beyond” Huda Nassar, Jane Herriman · Workshop (half day) (3.5 hours)

This tutorial targets both new and moderately experienced Julia users. After covering the basics and tools for data science, we will delve into topics such as memory management, type stability, and profiling.


“Geometric algebra in Julia with Grassmann.jl” Michael Reed · Lightning Talk (10 minutes)

The Grassmann.jl package provides tools for doing computations based on multi-linear algebra, differential geometry, and spin groups using the extended tensor algebra known as Grassmann-Clifford-Hestenes-Taylor geometric algebra. The primary operations are ∧, ∨, ⋅, *, ×, ⋆, ', ~ (which are the oute…


“Cleaning messy data with Julia and Gen” Alex Lew · Talk (30 minutes)

Julia is home to a growing ecosystem of probabilistic programming languages—but how can we put them to use for practical, everyday tasks? In this talk, we'll discuss our ongoing effort to automate common-sense data cleaning by building a declarative modeling language for messy datasets on top of Ge…


“Open Source Power System Production Cost Modeling in Julia” Dheepak · Talk (30 minutes)

Operating a power system on a day to day basis involves optimizing the operation of the given energy system. Modeling these operations requires solving a Mixed Integer Linear Programming problem. In this talk, we will present methods for solving a production cost model in Julia and JuMP using Power…


“Why writing C interfaces in Julia is so easy*” Dheepak · Talk (30 minutes)

Julia allows interfacing with shared libraries using ccall. This allows calling into compiled binaries that could be written in any language that exposes the C ABI. In this talk, I'll describe best practices to follow for interfacing with C libraries.


“TSML (Time Series Machine Learning)” Paulito Palmes · Lightning Talk (10 minutes)

TSML is a package for time series data processing, classification, and prediction. It provides common API for ML libraries from Python's ScikitLearn, R's caret, and native Julia MLs for seamless integration of heterogenous libraries to create complex ensembles for robust time-series preprocessing, …


“Backticks and the Glorious Command Literal” Aaron Christianson · Lightning Talk (10 minutes)

Julia command literals are one of the most compelling abstractions for dealing with processes in any programming language. This talk will show what these command literals offer that similar constructs in other languages do not and how they can be used to write safer, more robust shell scripts.


“Recommendation.jl: Building Recommender Systems in Julia” Takuya Kitazawa · Lightning Talk (10 minutes)

This talk demonstrates Recommendation.jl, a Julia package for building recommender systems. We will eventually see (1) a brief overview of common recommendation techniques, (2) advantages and use cases of their Julia implementation, and (3) design principles behind the easy-to-use, extensible packa…


“Non-Gaussian State-estimation with JuliaRobotics/Caesar.jl” Sam Claassens, Dehann Fourie · Lightning Talk (10 minutes)

Navigation and mapping for robots require data fusion from various sensors, each producing uncertain and opportunistic measurement data.
We are continuing with a multi-year, native Julia factor graph based simultaneous localization and mapping (SLAM) inference system that grew out of research work …


“XLA.jl: Julia on TPUs” Keno Fischer, Elliot Saba · Talk (30 minutes)

The intersection of Machine Learning and High Performance Computing: Running Julia code on Google Cloud Tensor Processing Units.


“Analyzing social networks with SimpleHypergraphs.jl” Bogumił Kamiński, Przemysław Szufel · Lightning Talk (10 minutes)

A hypergraph is a generalization of a graph where a single edge can connect more than two vertices. Typical applications are related to social data analysis and include situations such as sending a single email to several recipients, a customer giving reviews to several restaurants or analyzing sec…


“TimerOutputs.jl - a cheap and cheerful instrumenting profiler” Kristoffer Carlsson · Lightning Talk (10 minutes)

TimerOutputs.jl is a tool that lets you annotate sections in your code so that after execution, a nicely formatted table with information about how much time and allocations were spent in each section can be shown.


“Implicit Geometry with Multi-Dimensional Bisection Method” Daniel Bachrathy · Lightning Talk (10 minutes)

In the proposed talk an efficient root finding algorithm is presented through engineering applications, which are formed as implicit non-linear equation systems.


“A probabilistic programming language for switching Kalman filters” Cédric St-Jean-Leblanc · Lightning Talk (10 minutes)

I will present a probabilistic programming language that implements switching Kalman filters, and its applications to industrial time series processing.


“Building a Debugger with Cassette” Lyndon White (@oxinabox) · Talk (30 minutes)

As the saying goes: "You can solve that with Cassette".
This is a tuitoral on how to use Cassette for building a debugger.
It explains the core of MagneticReadHead.jl, and how you can build similar tools,
to instrument julia code for your purposes.


“DataKnots.jl - an extensible, practical and coherent algebra of query combinators” Clark C. Evans · Talk (30 minutes)

DataKnots is a Julia library for querying data with an extensible, practical and coherent algebra of query combinators. DataKnots is designed to let data analysts and other accidental programmers query and analyze complex structured data.


“Porting a massively parallel Multi-GPU application to Julia: a 3-D nonlinear multi-physics flow solver” Ludovic Räss · Talk (30 minutes)

We showcase the port to Julia of a massively parallel Multi-GPU solver for spontaneous nonlinear multi-physics flow localization in 3-D. Our contribution is a real-world example of Julia solving "the two language problem".


“Fitting Neural Ordinary Differential Equations with DiffeqFlux.jl” Elisabeth Roesch · Talk (30 minutes)

Neural Ordinary Differential Equations (neural ODEs) are a brand new and exciting method to model nonlinear transformations as they combine the two fields of machine learning and differential equations. In this talk we discuss DiffEqFlux.jl, a package for designing and training neural ODEs, and we …


“Solving Delay Differential Equations with Julia” David Widmann · Talk (30 minutes)

Delay differential equations (DDEs) are used to model dynamics with inherent time delays in different scientific areas; however, solving them numerically in an efficient way is hard. This talk demonstrates how the DifferentialEquations ecosystem allows to solve even complicated DDEs with a variety …


“HydroPowerModels.jl: A Julia/JuMP Package for Hydrothermal economic dispatch Optimization” Andrew Rosemberg · Lightning Talk (10 minutes)

HydroPowerModels.jl is a Julia/JuMP package for Hydrothermal Multistage Steady-State Power Network Optimization solved by Stochastic Dual Dynamic Programming (SDDP).

The objective of this work is to build an open source tool for hydro-thermal dispatch that is flexible enough for the electrical sect…


“Raising Diversity & Inclusion among Julia users” Anna Harris, Elwin van 't Wout, Kevin S Bonham · Minisymposia / Extended Presentation (2 hours)

This session aims at discussing/showcasing our experience promoting diversity and inclusion in the US, Brazil, Chile and online, with the help of the Julia Computing Diversity & Inclusion Award, funded by the Sloan Foundation.


“Soss.jl: Probabilistic Metaprogramming in Julia” Chad Scherrer · Talk (30 minutes)

This talk will explore the basic ideas in Soss, a new probabilistic programming library for Julia. Soss allows a high-level representation of the kinds of models often written in PyMC3 or Stan, and offers a way to programmatically specify and apply model transformations like approximations or repar…


“Turing: Probabalistic Programming in Julia” Cameron Pfiffer · Talk (30 minutes)

Turing is a probabilistic programming language written in Julia. This talk will introduce Turing and its tooling ecosystem, as well as go over some introductory tutorials.


“Generating documentation: under the hood of Documenter.jl” Morten Piibeleht · Talk (30 minutes)

Documenter compiles docstrings, code snippets, and Markdown pages into HTML or PDF documents and can automatically deploy them as websites, making it easy to create manuals for Julia packages that are immediately available to users. This talk explores what goes into making all of that happen.


“Let's Play Hanabi!” Jun Tian · Lightning Talk (10 minutes)

Games have been testbeds for Artificial Intelligence research for a long time. Here I will demonstrate how to play the fantastic Hanabi card game interactively in Julia REPL. Furthermore, I will introduce how to implement some state-of-the-art learning algorithms in pure Julia.


“Probabilistic Biostatistics: Adventures with Julia from Code to Clinic” Jeff Mills · Talk (30 minutes)

Physician scientists conducting clinical trials are typically not statisticians or computer scientists. Perhaps, in a perfect world, they would be, or more realistically could have statisticians and computer scientists on their research team, but that is often not the case. This leads to what we re…


“Modeling in Julia at Exascale for Power Grids” Michel Schanen · Lightning Talk (10 minutes)

The ExaSGD (Optimizing Stochastic Grid Dynamics at Exascale) application is part of the Department of Energy's Exascale project (ECP). The dawn of renewable energies poses a great challenge to long-term planning with higher uncertainties, not only in the grid load, but also in the energy generation…


“A case study of migrating Timelineapp.co to the Julia language” Bogumił Kamiński · Lightning Talk (10 minutes)

Timelineapp.co is an on-line platform for financial planners. Recently its core compute engine has been migrated to the Julia language. In this talk we discuss the reasons and benefits of this decision.


“Mining Imbalanced Big Data with Julia” Swakkhar Shatabda, Dewan Md. Farid · Lightning Talk (10 minutes)

Machine learning for data Mining applications in imbalanced big data classification is very challenging task. In this talk, we have proposed a new cluster-based under-sampling approach with ensemble learning for mining real-life imbalanced big data in Julia.


“Efficient Stiff Ordinary Differential Equation Solvers for Quantitative Systems Pharmacology (QsP)” Yingbo Ma · Talk (30 minutes)

QsP is a sophisticated and effective way to predict the interaction between drugs and the human body, however, simulating QsP models can take a long time because of the intrinsic stiffness in transient chemical reactions. Here we take a deep look at the efficiency of various stiff ordinary differen…


“Scientific AI: Domain Models with Integrated Machine Learning” Chris Rackauckas · Talk (30 minutes)

Modeling practice seems to be partitioned into scientific models defined by mechanistic differential equations and machine learning models defined by parameterizations of neural networks. While the ability for interpretable mechanistic models to extrapolate from little information is seemingly at o…


“Pharmaceutical Modeling and Simulation with Pumas” Vijay Ivaturi, Chris Rackauckas · Workshop (half day) (3.5 hours)

Pharmacometics is commonly used to optimize drug doses and pre-screen drugs before clinical trials. In this workshop, users familiar with Julia will learn about pharmacometrics and how to perform the model simulations, while pharmacometricians will learn how to use Julia to build the models they kn…


“Dynamical Modeling in Julia” Chris Rackauckas · Birds of Feather (0 minutes)

A lot of people are building tooling for differential equation based models in Julia for various domains. DifferentialEquations.jl, DynamicalSystems.jl, PuMaS.jl, Modia.jl, QuantumOptics.jl, etc. and the list goes on. The purpose of this BoF is to gather the developers who are interested in this to…


“Targeting Accelerators with MLIR.jl” James Bradbury · Lightning Talk (10 minutes)

MLIR is a flexible compiler infrastructure with an open ecosystem of dialects, built for a world of increasingly heterogeneous hardware. With its support for metaprogramming and extensible JIT compiler, Julia is well-positioned as a frontend language for the MLIR stack.


“Mimi.jl – Next Generation Climate Economics Modeling” David Anthoff, Lisa Rennels, Cora Kingdon · Talk (30 minutes)

We will present Mimi.jl, a next generation platform for Integrated Assessment Modelling widely used in climate economics research. The talk will outline technical aspects of the platform, as well as its adoption and impact both on research at universities and in the US federal climate regulation pr…


“The Unreasonable Effectiveness of Multiple Dispatch” Stefan Karpinski · Talk (30 minutes)

If you're familiar with Julia and its ecosystem, you may have noticed something lovely but a bit puzzling: there seems to be an unusually large amount of code reuse between packages compared to other seemingly similar languages. This sharing of code comes in two forms:

  1. Sharing basic types among a …


“Writing maintainable Julia code” Scott Haney · Talk (30 minutes)

How to use abstractions to write code that will be easy to follow and change while also not significantly impacting performance


“Generic Sparse Data Structures on GPUs” Ranjan Anantharaman, Sungwoo Jeong · Lightning Talk (10 minutes)

Sparse linear operators that arise from structured grids often tend to have rich structure. We present a feature rich yet simple DIAgonal format (DIA), which also supports blocked and GPU arrays, as well as Algebraic Multigrid (AMG) preconditioners. We present this rich framework of tools to solve …


“Polynomial and Moment Optimization in Julia and JuMP” Tillmann Weisser, Benoît Legat, Chris Coey, Lea Kapelevich, Juan Pablo Vielma · Minisymposia / Extended Presentation (2 hours)

Polynomial and moment optimization problems are infinite dimensional optimization problems that can model a wide range of problems in engineering and statistics. In this minisymposium we show how the Julia and JuMP ecosystems are particularly well suited for the effortless construction of these pro…


“OmniSci.jl: Bringing the open-source, GPU-accelerated relational database to Julia” Randy Zwitch · Talk (30 minutes)

OmniSci (formerly MapD) is an open-source relational database built from the ground-up to run on GPUs, providing millisecond query speed on multi-billion row datasets. This talk presents OmniSci.jl, the database client for OmniSci written completely in Julia and a basic demonstration of using OmniS…


“The Climate Machine: A New Earth System Model in Julia” Charlie Kawczynski, Simon Byrne · Talk (30 minutes)

We are using Julia to develop the first Earth System Model that automatically learns from diverse data sources.


“IVIVC.jl: In vitro – in vivo correlation module as part of an integrated pharmaceutical modeling and simulation platform” Shubham Maddhashiya · Lightning Talk (10 minutes)

IVIVC.jl is a state of the art package for predictive mathematical modelling which correlates in vitro property (rate of drug dissolution) and in vivo response (plasma drug concentration profile). An IVIVC is meant to serve as a surrogate for in vivo bioavailability. This relationship can guide pro…


“Julia web servers deployment” Mohammed El-Beltagy, Amgad Naiem · Lightning Talk (10 minutes)

We present our experience in deploying Julia web servers in production systems. We developed a custom buildpack that facilitates deploying web servers on Heroku. It is built so that any application requires almost no special code to be deployed.


“Performant parallelism with productivity and portability.” Valentin Churavy, Andreas Noack, Lucas Wilcox, Alan Edelman, Chris Hill · Birds of Feather (0 minutes)

This BoF will be a forum to discuss the state of the state around performant parallelism for distributed memory programming in Julia. Performance, parallelism, productivity and portability are four P's of distributed memory parallelism that over the last 30 years have proved hard to satisfy simulta…


“GigaSOM.jl: Huge-scale, high-performance flow cytometry clustering in Julia” Vasco Verissimo, Laurent Heirendt · Lightning Talk (10 minutes)

Flow cytometry clustering for several hundred million cells has long been hampered by software implementations. Julia allows us to go beyond these limits. Through the high-performance GigaSOM.jl package, we gear up for huge-scale flow cytometry analysis.


“Machine Learning for Social Good” Dhairya Gandhi · Lightning Talk (10 minutes)

Using Julia and Flux.jl, we want to show how we have applied modern neural architectures like Mask RCNN and Inception to identify diseases and slums in metropolitan cities.


“An advanced electrodialysis process model in the Julia ecosystem” Bram De Jaegher · Lightning Talk (10 minutes)

Electrodialysis, a prominent technology in the production of drinking water from seawater is modelled using the Julia ecosystem. A framework of partial differential equations and neural networks is solved to model the fouling of this process and to optimise its design and operation.


“If Runtime isn't Funtime: Controlling Compile-time Execution” Nathan Daly · Talk (30 minutes)

"This block will compile away," the comments say. But will it? In this talk we'll see some scenarios where controlling compile-time vs runtime execution is crucial for performance, and we'll discuss some ideas that might make this control easier in Julia.


“Parallel Computing Workshop” Matt Bauman, Avik Sengupta · Workshop (half day) (3.5 hours)

Parallel computing is hard. Julia can make it much easier. In this workshop, we discuss modern trends in high performance computing, how they’ve converged towards multiple types of parallelism, and how to most effectively use these different types in Julia.


“Literate programming with Literate.jl” Fredrik Ekre · Lightning Talk (10 minutes)

Literate programming is described as an explanation of the program logic in a natural language, interspersed with traditional source code. This presentation will describe how the Literate.jl package can be used for literate programming, and show how to generate multiple outputs, such as jupyter no…


“Pkg, Project.toml, Manifest.toml and Environments” Fredrik Ekre · Talk (30 minutes)

One of the major features of Julia's new package manager is package environments. This presentation will explain how environments work, what they are useful for and how to use them effectively.


“Writing a package -- a thorough guide” Kristoffer Carlsson, Fredrik Ekre · Workshop (half day) (3.5 hours)

In this workshop, we will go through all the necessary steps to create a Julia package. The goal of the workshop is that attendees should be well prepared for getting started with package writing in Julia.


“High-Performance Portfolio Risk Aggregation” Tom Kwong · Lightning Talk (10 minutes)

We will talk about how a risk management use case got sped up ~150x using multi-core parallel computing techniques in a Docker environment.


“State of the Data: JuliaData” Jacob Quinn · Lightning Talk (10 minutes)

With the release of Julia 1.0, packages have raced to update and stabilize APIs. Come learn about all things current and planned for JuliaData packages, including: * DataFrames.jl * CSV.jl * Tables.jl * CategoricalArrays.jl * and others


“Ultimate Datetime” Jay Dweck · Lightning Talk (10 minutes)

Ultimate datetime is a datetime data type, which eliminates many of the limitations and inaccuracies of the datetime datatypes generally employed in computer languages. Ultimate datetime enables representation of datetimes from the Big Bang through to the year 100,000,000,000 with attosecond preci…


“Randomized Sketching for Approximate Gradients : Applications to PDE Constrained Optimization” Ramchandran Muthukumar · Lightning Talk (10 minutes)

Randomized sketching algorithms are a powerful tool for on-the-fly compression of matrices. In this talk we show how sketching can be used for approximate gradient and hessian-times-vector computations that are storage optimal.
This approach gives cutting-edge low memory algorithms to address the c…


“Electrifying Transportation with Julia” Alec Bills · Lightning Talk (10 minutes)

In this talk, we will discuss implementation of various models relevant for electrochemical energy systems in order to more rapidly optimize component design and use-case specific optimization.We will show massive performance improvements gained through Julia for a variety of popularpseudo-2D poro…


“Re-designing Optim” Patrick Kofod Mogensen · Lightning Talk (10 minutes)

With Julia v1.0 released, It is time to reflect on what a Julian Julia package is, and why some popular packages such as Optim is not necessarily as Julian as they can be! Based on requests from the community and own experiences, I explain some guiding principles on a complete re-write of the packa…


“Neural Ordinary Differential Equations with DiffEqFlux” Jesse Bettencourt · Lightning Talk (10 minutes)

This talk will demonstrate the models described in Neural Ordinary Differential Equations implemented in DiffEqFlux.jl, using DifferentialEquations.jl to solve ODEs with dynamics specified and trained with Flux.jl.


“What's Bad About Julia” Jeff Bezanson · Talk (30 minutes)

I'll describe some of the more fundamental issues in Julia today, as I see it, and how we can potentially solve them to get a better language.


“FilePaths: File system abstractions and why we need them” Rory Finnegan · Lightning Talk (10 minutes)

Have you ever found yourself writing code that special cases different local and remote filesystems?
FilePath types are a great way to encapsulate filesystem specific logic and provide a common abstraction for interacting with various types of paths (e.g., posix, windows, S3, FTP).


“Symbolic Manipulation in Julia” Harrison Grodin · Talk (30 minutes)

Symbolic terms are fundamental to a variety of fields in computer science, including computer algebra, automated reasoning, and scientific modeling. In this talk, we discuss a family of Julia packages for symbolic computation, including Rewrite.jl for term rewriting and ModelingToolkit.jl for symbo…


“Debugging code with JuliaInterpreter” Kristoffer Carlsson, Sebastian Pfitzner, Tim Holy · Talk (30 minutes)

We present a Julia debugger and demonstrate a variety of interfaces for accessing it. We also describe the infrastructure that provides intriguing new capabilities to the Julia ecosystem.


“Analyzing and updating code with JuliaInterpreter and Revise” Tim Holy · Lightning Talk (10 minutes)

Revise.jl allows you to modify code in your running Julia session. Revise was recently rewritten around JuliaInterpreter.jl and a new query interface, CodeTracking.jl, resulting in many improvements and easier access to Revise’s internal data.


“Machine Learning Workshop” Matt Bauman · Workshop (half day) (3.5 hours)

Demystify machine learning buzzwords by learning how to train and use your own neural network in this interactive workshop. We'll cover the foundational principles that underpin modern machine learning and demonstrate how Julia makes it easy and fast.


“Julia's Killer App(s): Implementing State Machines Simply using Multiple Dispatch” Joshua Ballanco · Lightning Talk (10 minutes)

Julia's embrace of multiple dispatch as a key organizing concept provides
developers with all the tools they need to simply implement state machine based
solutions to a wide range of problems. This presentation will explore a series
of increasingly complex tasks that can all be addressed using a cl…


“Sustainable Development and Open Source Monetization” Clark Evans · Birds of Feather (0 minutes)

As the Julia community grows and becomes core tooling to many scientists and businesses, sustainably keeping members of the community as developers of free software developers is vital to the health of the ecosystem. In this discussion we will talk about the various ways we ourselves are funding or…


“Prototyping Visualizations for the Web with Vega and Julia” Mary McGrath · Lightning Talk (10 minutes)

The internet is a powerful medium for story telling in data science, but creating compelling, interactive graphics can be difficult. This talk will show how Vega (VegaLite.jl) and Julia can be used to prototype interactive visualizations, and then how those visualizations can be deployed to the we…


“Slow images, fast numbers: Using Julia in biomedical imaging and beyond” Virginia Spanoudaki · Lightning Talk (10 minutes)

At MIT’s preclinical setting (Preclinical Modeling, Imaging and Testing, PMIT), the available shared biomedical imaging instrumentation, such as magnetic resonance imaging (MRI) or x-ray micro-computed tomography (microCT) scanners, produces diverse and large data sets on a daily basis. The acquisi…


“Julia Survey Results” Viral B. Shah · Lightning Talk (10 minutes)

A presentation on the results of the 2019 Julia Survey


“Solving Differential Equations in Julia” Chris Rackauckas · Workshop (half day) (3.5 hours)

This workshop is for both experienced DifferentialEquations.jl users and newcomers. The first hour of the workshop will introduce the user to DifferentialEquations.jl, describing the basic workflow and the special features which are designed to make solving hard equations (automatic sparsity detect…


“Keynote: Professor Madeleine Udell” Professor Madeleine Udell · Keynote (45 minutes)

Madeleine Udell is Assistant Professor of Operations Research and Information Engineering
and Richard and Sybil Smith Sesquicentennial Fellow at Cornell University.
She studies optimization and machine learning for large scale data analysis and control,
with applications in marketing, demographic m…


“Keynote: Professor Heather Miller” Professor Heather Miller · Keynote (45 minutes)

Heather Miller is an Assistant Professor in the School of Computer Science at Carnegie Mellon,
where she is affiliated with the Institute for Software Research. Prior to joining the faculty at CMU,
Professor Miller not only worked as a research scientist at EPFL, but
also co-founded and served as t…


“Keynote: Professor Steven G Johnson” Professor Steven G Johnson · Keynote (45 minutes)

Steven G. Johnson is a Professor of Applied Mathematics and Physics at MIT,
where he joined the faculty in 2004 and previously received a PhD in physics (2001)
and BS degrees in physics, mathematics, and computer science (1995).
He has a long history of contributions to scientific computation and s…


“Keynote: Arch D. Robison” Arch D. Robison · Keynote (45 minutes)

Arch D. Robison is a Principal Systems Software Engineer at NVIDIA, where he works
on TensorRT, NVIDIA's platform for high-performance
deep-learning inference. He was the lead developer for KAI C++, the original architect of Intel
Threading Building Blocks, and one of the authors of the book Struct…


“Keynote: Dr Steven Lee” Dr Steven Lee · Keynote (45 minutes)

Steven Lee is an Applied Mathematics Program Manager for Advanced Scientific Computing
Research (ASCR) within the Department of Energy (DOE), Office of Science. Most recently, Steven and an organizing
committee issued a brochure and workshop report
on Scientific Machine Learning: Core Technologies …


“Keynote: Dr Ted Rieger” Dr Ted Rieger · Keynote (45 minutes)

Ted Rieger received his PhD in Chemical Engineering from Northwestern where he developed models of protein aggregation of Huntington. After graduate school, he joined Entelos, Inc in the Bay Area where he spent 6 years, developing and utilizing Quantitative Systems Pharmacology (QSP) models to unde…


“Opening Remarks” JuliaCon Committee · Lightning Talk (10 minutes)

Welcome to Juliacon!
This opening session will let you know all the details of what is going on, and will include the important information and what to do in-case of emergencies.


“Sponsor Address: J P Morgan Chase & Co.” Jiahao Chen · Sponsor's Address (5 minutes)

An address from our sponsor.


“Sponsor Address: Julia Computing” Stefan Karpinski · Sponsor's Address (5 minutes)

An address from one of our sponsors.


“Sponsor Address: Intel” Paul Petersen · Sponsor's Address (5 minutes)

An address from one of our sponsors.


“Sponsor Address: University of Maryland” Vijay Ivaturi · Sponsor's Address (5 minutes)

An address from one of our sponsors.


“Julia in Healthcare” Vijay Ivaturi · Birds of Feather (0 minutes)

This session is for gathering the various groups interested in Julia for healthcare purposes. Pharmacometrics, healthcare-focused biological research, and the translation of software to practice will be discussed.


“Hackathon” · Workshop (full day) (8 hours)

The hackathon. Come work on projects, have discussions about converging ecosystems, and generally hang out.
Note: both Elm A and Elm B will be used.


“Breakfast (Workshops)” · Break (75 minutes)

Breakfast will be provided in the PH Galley


“Lunch” · Break (75 minutes)

Lunch will be held in the SMC 2nd Floor Lobby


“Lunch” · Break (75 minutes)

Lunch will be held in the SMC 2nd Floor Lobby


“Lunch” · Break (75 minutes)

Lunch will be held in the SMC 2nd Floor Lobby


“Lunch” · Break (75 minutes)

Lunch will be held in the SMC 2nd Floor Lobby


“Lunch” · Break (75 minutes)

Lunch will be held in the SMC 2nd Floor Lobby


“Breakfast” · Break (75 minutes)

Breakfast will be held in the SMC 2nd Floor Lobby


“Breakfast” · Break (75 minutes)

Breakfast will be held in the SMC 2nd Floor Lobby


“Breakfast” · Break (75 minutes)

Breakfast will be held in the SMC 2nd Floor Lobby


“Morning break” · Break (75 minutes)

A break for coffee


“Poster Session” · Break (75 minutes)

The poster session will be held in room 349


“Poster Session” · Break (75 minutes)

The poster session will be held in room 349


“Short break” · Break (75 minutes)

A short break between sessions.


“Short break” · Break (75 minutes)

A short break between sessions


“Short break” · Break (75 minutes)

A short break between sessions


“Conference Dinner and Inner Harbor Cruise” · Break (75 minutes)

A conference dinner and cruise are planned on Tuesday evening for all ticketed attendees. Boarding is at 7:00 PM in front of the Baltimore Visitor Center located on the promenade facing Light Street. All participants are expected to bring the conference badges for identification. Boarding will be …


“Julia and NumFocus, a discussion of how money works” Viral B. Shah · Birds of Feather (0 minutes)

Discussion on how Julia as a community handles money, sponsorship and grants.


“Thread Based Parallelism part 2” Jeff Bezanson · Lightning Talk (10 minutes)

Hear about what is new in julia 1.2 and 1.3 with thread-based parallelism.
(note: due to a race condition, Thread Based Parallelism part 2 occurs before Thread Based Parallelism part 1)


“Thread Based Parallelism part 1” Jameson Nash · Lightning Talk (10 minutes)

Hear about what is new in julia 1.2 and 1.3 with thread-based parallelism.
(note: due to a race condition, Thread Based Parallelism part 1 occurs after Thread Based Parallelism part 2)


“Sponsor Address: Relational AI” Nathan Daly · Sponsor's Address (5 minutes)

A talk from one of our gracious sponsors.


“Julia In Production” Curtis Vogt · Birds of Feather (0 minutes)

A casual chat about the virtues and concerns relating to running julia in a production enviroment.


“Package Management BoF” Stefan Karpinski · Birds of Feather (0 minutes)

Everything Pkg: discussion of package management, version resolution, binary artifacts, registries, manifests, configuration, etc.


“Cassette and company -- Dynamic compiler passes” Jarrett Revels, Valentin Churavy · Birds of Feather (0 minutes)

Chat about Cassette, Vinyl, IRTools, and Aborist. Things that rewrite the code at compile-time, based on context.


“JuliaGPU” Valentin Churavy, Tim Besard · Birds of Feather (0 minutes)

A discussion of the Julia GPU ecosystem


“Julia in Astronomy” Mosè Giordano · Birds of Feather (0 minutes)

Casual chats about the uses of Julia in Astronomy, JuliaAstro and related packages and studies.