Videos from JuliaCon are now available online
2018
Previous editions: 2017 | 2016 | 2015 | 2014
Jamie Brandon


Talk

Julia as a platform for language development

Language developers are torn between the need to quickly iterate on language designs and the need to prove that those designs can be efficiently implemented. I’ll show that Julia neatly captures many of the proposed solutions to this dilemma, making it a compelling platform for language development.

Ben J. Ward


Talk

BioJulia and Bioinformatics in Julia: Past, Present, Future

In this talk I will describe the past, present and the future (in the context of recent changes to sequencing technology and genome assembly techniques) of BioJulia, and how we are working towards our mission of provide a performant, human-friendly bioinformatics infrastructure.

George Datseris


Talk

Why Julia is the most suitable language for science …and how we use it in JuliaDynamics

Julia is the best language one can do science with. It combines high performance with intuitive & simple code, and allows 1-to-1 correspondence between code and scientific algorithm. I will present an overview of the packages of the JuliaDynamics GitHub org. as examples that justify this claim.

Nathan Daly


Talk

Julia apps on the App Store: Building and Distributing an application written in Julia

Learn how to turn your software into a portable application you can compile, distribute - and sell - anywhere! Julia is great for building robust, cross-platform software. In April, I published the first-ever app on the Mac App Store written entirely in Julia. Learn how you can do the same!

Hong Ge

University of Cambridge


Talk

The Turing language for probabilistic programming

We introduce recent developments in Turing.jl — a probabilistic programming language. Similar to Stan, Turing provides a black box tool for Bayesian inference. Turing provides researchers experts with a research toolbox for implementing, investigating and benchmarking new or composed algorithms.

Peter Ahrens

MIT Computer Science and Artificial Intelligence Laboratory


Talk

For-Loops Are Not a Frontend: Index Notation And The Future Of Array Compilers

Index notation (Einstein summation) is an elegant representation for array operations, powering several recent high-level compilers for array/tensor algebra. Attend to enjoy a programmer-centric explanation of index notation, its generalizations, and how it will revolutionize array library design!

Ranjan Anantharaman

Julia Computing, Inc.


Talk

The New Circuitscape in Julia - modern, fast and scalable

The Circuitscape rewrite in Julia provides a 4-8x benefit in speed and scalability over the old Python package . We show the specific benefits of Julia over Python and how to write an end-to-end application purely in Julia, from native Julia solvers to packaging and shipping.

Helen Jiang

San Francisco Bay Area


Talk

Hacking with Julia

The talk shows how to implement some of the best-known attacks on real-world cryptography - in Julia! To break crypto is to solve mathematical puzzles, and it is valuable as a technical exercise, as well as an educational experiment for Julia. Few knows how to actually break crypto, want to see how?

Andy Ferris

Fugro Roames


Talk

Interacting with nested data

Data comes in all shapes and sizes. While Julia’s built-in arrays are wonderful for dealing with flat or “flattish” data - here I’ll introduce some strategies and tools for dealing with more complex nested data structures, the split-apply-combine paradigm, and working with relational data (tables).

John Lapeyre


Talk

Symbolic Mathematics in Julia

Before Julia, it was not possible, starting from scratch, for one person to make significant progress writing a tool that can compete with Wolfram on a reasonable time scale. But, the many advantages of Julia, for instance syntactic macros and access to the syntax tree, put this goal in reach.

Todd Green

Relational AI


Talk

Low-Level Systems Programming in High-Level Julia

In designing a new language for technical computing, we believe the designers of Julia have accidentally created a great language for systems programming. We explain how efficient, low-level data structures like B+-trees can be implemented in high-level Julia code, with help from a recent package.

Dave Kleinschmidt

Rutgers University


Talk

A formula for bringing data across table-matrix divide

Real-world data comes to you in tables full of strings, dates, numbers, etc. To analyze this data you often need to wrangle it into a numerical array. The “formula” DSL is a powerful tool to express these transformations, inspired by R but supercharged with Julia’s unique strengths.

Gajendra Deshpande and Dr. S.A.Kulkarni

KLS Gogte Institute of Technology, Belgaum


Talk

Brainy Things: Brain Computer Interface meets Internet of Things

Welcome to the exciting world of Brain Computer Interface with Internet of Things. With our project we have made an attempt to provide voice to the voiceless and capability to the incapable (paralyzed) with the help of wonderful programming language known as Julia.

Luis Benet and David Sanders

Universidad Nacional Autonoma de Mexico andUniversidad Nacional Autonoma de Mexico


Talk

Representing functions and solving differential equations rigorously with Taylor models

We approximate a function rigorously with Julia: find a Taylor series that is close, using automatic differentiation, and bound the resulting error using intervals, giving a “Taylor model”. We use this to get guaranteed approximate solutions of ordinary differential equations in the form of tubes.

Michael Cai


Talk

Estimating Non-Linear Macroeconomic Models at the New York Fed

Sophisticated tools are required to accurately estimate modern economic models, in the face of unprecedented macroeconomic conditions. The tempered particle filter is a novel method for filtering nonlinear state space models, surpassing conventional tools in accuracy and flexibility. This talk wi...

Francesco Zappa Nardelli


Chris Rackauckas

University of California, Irvine


Talk

PKPDSimulator.jl: Drug dosage prediction in Julia

Drug development costs $1.2billion over 12 years. Clinical trial simulations, using PKPD models, de-risk this investment. Simulations help narrow-down target patient, dosing schedule and trial size choices. PKPDSimulator.jl is a Julia package for trial simulation.

Kristoffer Carlsson

Chalmers University of Technology


Talk

Pkg3 — The new Julia package manager

Julia 1.0 comes with a brand new package manager, currently called Pkg3. Pkg3 was redesigned from scratch to solve a number of fundamental problems with the old package manager. This talk discusses the decisions we made to ensure that Pkg3 allows the Julia package ecosystem to grow and succeed.

James Fairbanks

GTRI


Talk

Graph interfaces: bespoke graphs for every occasion

LightGraphs defines abstractions to implement for any graph or network. Instead of re-inventing the wheel, we can share existing algorithms and functions within the ecosystem. We will live-code a new graph type. Attendees will learn to extend JuliaGraphs with a custom graph type for any application.

Stefan Lenz


Talk

BoltzmannMachines.jl: a Julia-native package for training and evaluating multimodal deep Boltzmann machines

We present the package “BoltzmannMachines.jl”: Different types of restricted Boltzmann machines serve as flexible building blocks for our Julia-native implementation of multimodal deep Boltzmann machines, a generative model for unsupervised deep learning on composite or partitioned data sets.

Jarrett Revels

MIT


Talk

Cassette: Dynamic, Context-Specific Compiler Pass Injection For Julia

Cassette is a tool for injecting user-defined code transformation passes into Julia’s JIT compilation cycle, enabling normal Julia packages to analyze, optimize, and modify Cassette-unaware Julia programs via both low-level IR transformation and high-level dispatch using Cassette’s context types.

Lyndon White


Talk

DataDeps.jl and other foundational tools for data driven research

The focus of this talk is DataDeps.jl – BinDeps for Data – Repeatable Data Setup for Replicable Data Science. How to manage data dependencies to ensure any script can be executed by others. The secondary topic is what comes next: data ingestion, with a focus on NLP, though that generalizes.

Jameson Nash

Julia Computing, Inc.


Talk

Information overload: tools for making program analysis and debugging manageable

We have many tools to provide some answers when analyzing Julia programs – code_warntype, @profile, VS Code workspace – but many more questions. Let’s explore a new experience for understanding Julia code!

Helge Eichhorn

PTScientists


Talk

Julia for Space Science: An Antidote for Complexity

Julia might be a secret weapon for the next chapter of the New Space revolution. This talk will present the roadmap for the JuliaAstro and JuliaSpace organizations and demonstrate how Julia can be used to combat the current complexity crisis and enable the next generation of space explorers.

Diego Marinho de Oliveira

Melbourne, Australia


Talk

Towards Real-Time Job Recommendation AI Solution with Julia

RecSys is based on predicting the best item set for a user. I used Julia in a real-time solution with Genie, DataFrames and XGBoost integrated with a Search Engine. As result, it helped my DS team to deliver impacting results processing +100,000 features for a large set of jobs in incredible 250ms!

Ján Dolinský


Talk

TIM: Unified Large-scale Forecasting System for Load, Gas, Solar and Wind in Julia

TIM (Tangent Information Modeller) is a unified large-scale forecasting system written first in C++ and then in Julia. The key advantages in doing so will be shared covering both the computational and architectural aspects ranging from the engine kernel all the way up to its REST API with examples.

Jiahao Chen


Talk

Parallel Prefix Polymorphism

Julia’s multiple dispatch and generic functions lets you reuse code, not just for computing results, but also to visualize how the algorithm works and even prove formal correctness of an implementation. I’ll show this for parallel prefix, a fundamental algorithm of parallel computing.

Claire Harris

University of Glasgow


Talk

Simulating global plant biodiversity

Global biodiversity loss is reaching critical levels. Working with 200M plant records, an evolutionary tree of 30k of plant species and global climate reconstructions to understand this process is a huge computational challenge, and one that requires many of Julia’s “ecosystems” working together.

Mike Innes


Talk

Flux: The Elegant Machine Learning Library

Flux is a new machine learning library that’s easy and intuitive to use with state-of-the-art performance. I’ll show how we achieve this using Julia’s advanced features alongside modern compiler and language technology, as well as cool things that people are doing with Flux.

Giovanni Ballarin

Konstanz U


Talk

GPU-Accelerated Value Function Iteration in Julia: Faster Macroeconomic Modeling

Value Function Iteration (VFI) is a technique widely used by economists to solve dynamic programming problems. VFI is conceptually simple, but computationally very taxing with complex models or high dimensions. However, using Julia and GPUs, it is possible to run VFI algorithms up to 150x faster.

Elliot Saba


Talk

10 tips on how to build better binaries; you won't believe #8!

Building and serving binary dependencies for Julia has been a challenging problem in the past. With BinaryBuilder.jl and BinaryProvider.jl, we present a set of powerful and straightfoward tools to compile, serve and load binary dependencies for packages on all platforms Julia supports.

Niccolò Antonello


Talk

StructuredOptimization.jl: a new optimization package for Julia

Numerical optimization is used in many scientific fields such as signal processing, machine learning, finance and control. We propose a new Julia package providing an intuitive language for defining and solving possibly nonconvex, nonsmooth optimization problems using natural mathematical notation.

Lionel Zoubritzky


Talk

Engineering Julia for Speed

Julia’s design enables efficient idiomatic code optimizations. I will detail Julia’s main optimizations and explain under which conditions on the code Julia’s JIT compiler can perform them. I will also show how users meet these conditions, using static and dynamic analyses of popular Julia packages.

Shashi Gowda

Julia Computing


Talk

How JuliaDB works

JuliaDB is a pure Julia analytical database. It support a number of features: releational database operations, parsing text files, parallel computing, tabular data storage and compression. In this talk you will learn about the underlying building block packages that make up JuliaDB. This talk sho...

Bart Janssens


Talk

Parallel computing with MPI-3 RMA and Julia

The remote memory access routines from MPI-3 are a natural fit for the Julia programming model. We show how to build a custom IO and distributed array on top of them, and how this system can help with interfacing with both Julia native parallelism and external MPI-based libraries.

Josh Day


Talk

Scalable Data Science with JuliaDB and OnlineStats

JuliaDB integrates with OnlineStats to provide scalable single pass algorithms (that can run in parallel) for statistics and modeling on big data. This integration allows you to transform small-scale analyses into out-of-core computations for huge datasets without changing your code.

Matt Bauman

Julia Computing


Talk

An introduction to high performance custom arrays

Have you ever wondered how or why you might create a custom array? Have you never written struct ___ <: AbstractArray{T,N}? It’s easier than you might expect! I’ll give a motivating example, incrementally define and refine a custom array, and demonstrate how to make it robust and fast.

David Anthoff

University of California, Berkeley


Talk

Visual Studio Code julia extension

The julia extension for Visual Studio Code provides a convenient coding environment for julia development. This talk will highlight key features of the extension.

Robin Deits

MIT


Talk

JuliaRobotics: Making robots walk with Julia

Do you want to build Baymax, Data, or Robby the Robot? Do you want a future with more robots for rescue, delivery, and exploration (and fewer C++ linker errors)? I’ll introduce the JuliaRobotics org and show off our work on visualizing, simulating, and controlling a humanoid robot in Julia.