Videos from JuliaCon are now available online
2018
Previous editions: 2017 | 2016 | 2015 | 2014
Sacha Verweij and Jane Herriman

Stanford University and Julia Computing


Workshop

An Introduction to Julia

Are you new to Julia?! This beginners’ tutorial should be accessible to anyone with technical computing needs and some experience with another language. We will show you why Julia is special, demonstrate how easy Julia is to learn, and get you writing some Julia code.

Andy Ferris

Fugro Roames


Workshop

A practical introduction to metaprogramming in Julia

Julia focuses on speed and user productivity, due in part to its metaprogramming capability. This workshop arms you with the knowledge to create fast, generic and easy-to-use APIs using techniques including multiple dispatch, recursion, traits, constant propagation, macros, and generated functions.

Mike Innes, Deniz Yuret, and Pontus Stenetorp

Julia Computing, Koç University, and University College London


Workshop

Machine Learning with Julia: Elegance, Speed and Ease

Machine Learning has become one of the hottest research and industry areas over the last few years; we believe Julia is the strongest contender to become the language for Machine Learning and in this tutorial we will give a flying start to train/deploy models and use of the power that Julia brings.

Sheehan Olver

Imperial College, London


Workshop

Numerical Analysis in Julia

This workshop brings together 4 speakers on different topics in numerical analysis, to demonstrate the strengths of Julia’s approach to scientific computing in atomistic simulations, function approximation, differential equations, fast transformations, validated numerics, and linear algebra.

David Anthoff

University of California, Berkeley


Workshop

Queryverse

This workshop will introduce the Queryverse family of packages, a unified data science stack on julia. It provides tools for file IO, data querying, visual data exploration and statistical plotting. It also integrates with a large number of other julia packages.

Chris Rackauckas

UC Irvine and MIT


Workshop

Solving Partial Differential Equations with Julia 

Climate scientists solve fluid dynamics PDEs. Biologists solve reaction-diffusion PDEs. Economists solve optimal control PDEs. But solving PDEs is hard! Where do you start? This workshop gives a broad overview of the Julia package ecosystem and shows how to tie it together to solve these problems.

Juan Pablo Vielma

MIT Sloan


Workshop

The JuMP ecosystem for mathematical optimization 

JuMP is an award-winning DSL for mathematical optimization that has quickly become the gold-standard for its simplicity, performance, and versatility. A major overhaul of JuMP will be finalized during the JuMP-dev workshop in June, so it is the perfect time for an updated tutorial and feature demo.

Avik Sengupta

Julia Computing


Workshop

Natural Language Processing in Julia

A hands on workshop demonstrating the use of natural language processing tools in Julia. Working with textual data, we will discuss methods for data collection, parsing, pre-processing, embedding, classification and deep neural networks.

Harsha Byadarahalli Mahesh


Lightning

JuliaPro post 1.0 release

JuliaPro is all set for a huge makeover post Julia 1.0 release, this talk is all about revealing the new features that will be included in the next generation of JuliaPro.

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.

S. Hessam M. Mehr


Lightning

Saving lives with Julia

Thanks to Julia’s speed and expressiveness, our very small team (1 developer!) was quickly able to create an ecosystem of Julia libraries for state-of-the-art automatic analysis of drug mixtures using nuclear magnetic resonance (NMR) spectroscopy data.

Meghan Ferrall-Fairbanks


Lightning

Unraveling lymphoma tumor microenvironment interactions with Julia

Julia is my scientific computing programming language of choice to implement my mathematical model of Burkitt lymphoma, a highly aggressive disease plaguing children in Africa. This talk will appeal to people interested in solving Mathematical Biology applications with Julia.

Josh Christie

Fugro


Lightning

Understanding the real world: large-scale point cloud classification

Fugro Roames provides automated extraction of geointelligence at scale. I’ll discuss how we are using Julia in our machine learning pipeline to identify buildings, roads, trees, and other objects in unstructured point cloud data, and how we deliver billions of points without human intervention.

Diego Javier Zea

Sorbonne Université


Lightning

MIToS.jl: Mutual Information Tools for protein Sequence analysis in the Julia language

MIToS is a package developed for the analysis of protein sequence and structure. It allows fast and flexible calculation of conservation and coevolution scores and helps to analyze them. It has been used in a large dataset to understand evolutionary signals due to protein structures.

Jeff Mills


Lightning

BayesTesting.jl: Bayesian Hypothesis Testing without Tears

Bayestesting.jl is a Julia package that implements a new Bayesian hypothesis testing procedure that does not suffer from the problems inherent in both the standard Bayesian and frequentist approaches, and is easy to use in practice. Of interest to anyone who does any statistical hypothesis testing.

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.

Hayden Klok


Lightning

Teaching Statistics to the Masses with Julia

In this talk I first present the hurdles and challenges associated with teaching a course with a large cohort using Julia while still in development. I then move on to present a variety of unique perspectives on the presentation of elementary statistical concepts via short and concise code snippets.

Thijs van de Laar

Eindhoven University of Technology


Lightning

ForneyLab.jl: a Julia Toolbox for Factor Graph-based Probabilistic Programming

Scientific modeling concerns a continual search for better models for given data sets. This process can be elegantly captured in a Bayesian inference framework. ForneyLab enables largely automated scientific design loops by deriving fast, analytic algorithms for approximate Bayesian inference.

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!

Adrian Salceanu


Lightning

Tame your databases: SearchLight ORM

Some people swear by them. Other, at them. But every language has one. Python has SQLAlchemy, Java has JOOQ, .NET has Entity, Ruby has ActiveRecord. Now Julia has SearchLight. The SearchLight ORM provides a powerful DSL which makes working with SQL databases more productive, secure and fun.

Bogumił Kamiński


Lightning

Performance of Monte Carlo pricing of Asian options using multi-threading

Multi-threading in Julia is an excellent feature to speed up Monte Carlo simulations, e.g. for Asian option pricing. However, if you are not careful how you generate pseudo random numbers you can get wrong results or have your code run slowly. I discuss how one can avoid both problems.

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.

Michael Krabbe Borregaard

U of Copenhagen


Lightning

EcoJulia - towards a framework for ecological data analysis in Julia.

Ecological analysis draws upon many different tools - geographic, phylogenetic, bioinformatic and simulation packages and a wide range of statistics. Most ecologists use R, but its package ecosystem is severely fragmented. EcoJulia is a framework to bring cohesive ecological data analysis to Julia.

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?

Tom Krauss

Epiq Solutions


Lightning

How to design equiripple filters in Julia?

Julia has great potential for signal processing, but it’s DSP.jl package is missing a fundamental filter design algorithm: “remez”, also known as the Parks-McClellan algorithm. I’m going to talk about the algorithm, review efforts to implement it in Julia, and compare it with what’s in Scipy.

Carsten Bauer

University of Cologne


Lightning

Julia for Physics: Quantum Monte Carlo

I will share my experience on how Julia can improve numerical physics research. This will provide evidence for the claim that Julia can replace Fortran/C++ as workhorses in science. Also I’ll introduce MonteCarlo.jl, a new package for conducting (quantum) Monte Carlo simulations of physical systems.

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).

Thierry Dhorne

University of South Brittany


Jacob Quinn

Domo


Lightning

Domo + Julia: Learnings from scaling Julia up to process petabytes in production

At Domo we see a LOT of data. Like, Fortune-500-sized automated pipelines of business-critical data kind of data. And now we’re turning to Julia to get smart about all that data. While deploying pre-1.0 may sound risky, Domo is no stranger to blazing trails in search of the right tool for the job.

Ollin Demian Langle Chimal

Ministry of Social Development, Mexico


Lightning

Complex Network Analysis of Political Data

Political data is widely available in the internet but non-informative at all. I use Julia capabilities to extract the information from the Mexican Senate, transform it to a temporal network and get insights from the dynamics of the system.

Eric Davies


Lightning

Memento: Logging for Systems and Applications

Julia’s basic Logging package is sufficient for console logging but lacks the features necessary for monitoring large, multi-component systems and cloud applications. This talk will attempt to convince you to use Memento instead and demonstrate its strengths.

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.

Przemyslaw Szufel

Warsaw School of Economics


Lightning

Performance of a distributed Julia simulation on an AWS Spot Fleet vs a Cray supercomputer

Have you ever wondered what is faster - a supercomputer or a computational cluster in the AWS cloud? Do you want to know what is the easier option to run your massively parallel Julia program? In this presentation you will see how a massively parallel Julia scales with the cluster size increase.

Matt Bauman

Julia Computing


Lightning

Advocating for public policy change with Julia

Harness your superpower for good and advocate for public policy issues that are important to you. I’ll tell the story about how I used a cell phone video and a Julia notebook to become part of a local movement for improved bike safety in the city of Pittsburgh.

Aditya Puranik

The National Institute of Engineering, Mysore


Lightning

Minecraft and Julia : A new way to build stuff and learn how to program

Minecraft is arguably one of the most popular video games. The sandbox game is successful because it promotes building and creating from imagination. The PiCraft package allows manipulation of the Minecraft world. Programming in Julia we build amazing things like Mobius strips and Aztec Temples.

Tim Holy


Lightning

Making the test-debug cycle more efficient

Julia’s JIT-compilation needs to run on each restart, and the compilation delay can slow development of large projects. I will describe a package, Revise.jl, that allows you to do more testing and debugging in a single Julia session.

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.

Thomas Dickson


Lightning

Probabilistic modelling of long course sailing craft routing

Sailing craft experience a range of environmental conditions in their voyages across the seas. I show how Julia can be used to model the weather, compare weather scenarios and optimise the route whilst avoiding the structural failure of the craft and to thus reduce cost and crew injury.

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...

Pietro Vertechi


Lightning

JuliaDBMeta and StatPlots: metaprogramming tools for manipulating and visualizing data

JuliaDBMeta’s macros provide a simple syntax to select, filter, map, group and transform JuliaDB data tables for in memory or out-of-core processing. Plots based visualizations can be incorporated in the pipeline. InteractBase provides a graphical interface to define and compose these opera...

Weijian Zhang

The University of Manchester


Lightning

EvolvingGraphs.jl: Working with Time-dependent Networks in Julia

Modern networks often store the relationship between entities with time stamps. It is difficult to model and study the evolving nature of such network using traditional graph software package. We present EvolvingGraphs.jl, a Julia software package for analysing time-dependent networks.

Francesco Zappa Nardelli


Vaibhav Kumar Dixit


Lightning

An introduction to bayesian parameter estimation of differential equation models using DiffEqBayes.jl.

Parameter estimation is the problem of accurately determining the parameters of a dynamic model. I plan to introduce DiffEqBayes.jl, a package for solving these problems using bayesian techniques.

Giulio Martella


Lightning

LARLIB.jl: Solid Modeling in Julia

Big data mass in fields like Bioengineering needs fast computations and simplified operations on complex geometric models. LARLIB.jl is a library for efficient solid modeling operations that works on non-manifold cases with a compact representation that permits fast computations and operations.

Anna Kiefer

Kevala Analytics


Lightning

Whale Recognition using a CNN in Julia

For decades, conservationists have captured photographs of whales and their flukes (tails) in the open water. Can these images be used to accurately identify whale species? In this talk, see one implementation of an image recognition tool using Julia that may aid global whale conservation efforts.

Simon Byrne

Julia Computing


Lightning

0.1 vs 1//10: How numbers are compared

Have you ever wondered why 0.1 > 1//10, 1*pi < pi or 10^16+1 > 1e16+1? I will explain how equalities and inequalities in Julia work across different numeric types.

Mayeul d'Avezac


Lightning

Julia is an R&D binding agent

Research and development pulls together disparate tools and creates seamless product. Julia is an integrated R&D platform: it can command an instrument, e.g. an android phone, call existing C libraries, perform complex scripting and analysis. But best of all, it can unit-test the whole ordeal.

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.

Dr. Daniel Bachrathy


Lightning

Multi-Dimensional Bisection Method for finding the roots of non-linear implicit equation systems

In the proposed talk an efficient root finding algorithm is presented, which can determine whole high-dimensional submanifolds (points, curves, surfaces…) of the roots of implicit non-linear equation systems, even in cases, where the number of unknowns surpasses the number of equations.

Tim Holy


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.

Jeffrey Sarnoff


Lightning

Math with more good bits, times+dates with nanoseconds

Julia’s built-in numeric and datetime types are very good. Sometimes we need better. We introduce SaferIntegers, ArbNumerics and TimesDates for nanosecond resolution.

Kelly Shen

Etsy


Lightning

How Etsy Handles “Peeking” in A/B Testing

Etsy relies heavily on experimentation to improve our decision-making process. In this talk, I will present how Etsy handles data peeking and how we use Julia to help us investigate and assess the problem on our platform.

Nishanth H. Kottary

Julia Computing, Inc.


Lightning

JuliaBox: scalable apps, GPUs and courses

Over the past year Julia Computing has released a new version of JuliaBox. It was designed to be not just a hosted notebook service but also to let users deploy, scale and share their julia code. This talk describes how we achieve this and other new features.

Jesse Bettencourt

U of Toronto


Lightning

Self-tuning Gradient Estimators through Higher-order Automatic Differentiation in Julia

Recent work in machine learning and deep reinforcement learning uses self-tuning optimization methods which utilize higher-order gradients. Higher-order automatic gradients are challenging to implement correctly, even in Tensorflow and PyTorch. I show how to do this using Flux.jl.

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.

Torkel Loman

U of Cambridge


Lightning

Efficient Modelling of Biochemical Reaction Networks

Our new reaction reader tool is an attempt to automate the boring parts of biochemical modelling (transcribing equations). The user can now spend more time actually analysing those models! Also makes your code prettier.

Scott Jones

Gandalf Software, Inc.


Lightning

Enhanced String handling in Julia

String performance is important in many areas, such as parsing text formats such as JSON, CSV, or bioinformatics data, for NLP (natural language processing), and for interfacing with other languages/libraries that use other encodings than UTF-8. This talk will discuss the JuliaString “ecosystem”.

Martijn Visser


Lightning

Building a strong foundation for geospatial innovation

This talk will showcase what is possible with the JuliaGeo related packages, with the aim to get you started if you want to do geospatial analysis in Julia. Making full use of the strengths of Julia, examples are shown of that would be either too slow or too much work in other languages.

Niklas Korsbo

Cambridge University


Lightning

Latexify.jl and how Julia's metaprogramming makes it useful.

Latexify.jl allows you to create and render LaTeX code from not only simple types, but also arrays and even systems of equations. In this talk, I will introduce what Latexify.jl can do, how Julia’s metaprogramming makes it possible and how the underlying philosophy can be leveraged for other things.

James Fairbanks

GTRI


Lightning

The JuliaGraphs ecosystem: build fast -- don’t break things

The JuliaGraphs ecosystem has expanded this year, with new innovations in abstract representations and modularity. We discuss these improvements, highlighting the effects of changes in Julia 0.6 and 0.7 which affected the design of the JuliaGraphs ecosystem.

Uri Patish


Lightning

From Deep Neural Networks To Fully Adaptive Programs

Deep neural networks can be highly useful. Nonetheless, some problems require structured programming elements such as variables, conditional execution, and loop clauses. We present a Julia framework that supports gradient based learning even when such programming elements are included in a model.

Abhijith Chandraprabhu

Julia Computing


Lightning

500K - Providing training to 500K individuals across India in AI

Julia Computing and EkStep have launched an initiative to train 500k individuals in the field of AI. Come hear how we’re designing the courses and delivery.

Patrick Belliveau


Lightning

Large Scale Airborne Electromagnetic Geophysics in Julia

My research group uses Julia to solve large-scale industrial inverse problems in geophysics. These are rich computational problems involving differential equations and optimization. I’ll explain how we’ve used Julia to make fast, modular and scalable production geophysical inversion code.

Carlos Alberto da Costa Filho

University of Edinburgh


Lightning

Julia and Geophysics: Rocking with C calls and Metaprogramming

Can a shiny new language like Julia easily be added to a mature codebase? Yes it can! Come hear about my experience writing Julia code for Madagascar, an open-source software suite for geophysics. Be prepared for repeated abuse of ccall, metaprogramming and pipelines, but little geophysics (phew!).

Vaska Dimitrova


Lightning

Optimization of a pumped-storage hydro power plant in Julia with SDDP Algorithm

Optimal dispatch of pumped storage is an important mechanism when optimizing a portfolio of energy assets with regard to its exposure to the electricity market. We present a solution to this problem in Julia and compare its advantages to some existing application that we use in our everyday work.

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!

Alex Mellnik


Lightning

Showcasing Julia on the Web

You just created an awesome new Julia package – congratulations! How can you show it off to potential users (many of whom may not have used Julia yet)? Create an online, interactive demo!

Gael Forget

MIT


Lightning

Bringing ocean, climate, and ecosystem modeling to Julia

Earth systems are simulated using numerical models of increasing resolution that play a key role in predicting climate. This talk presents a Julia framework that will help educators and researchers leverage these models via an intuitive and scalable representation of gridded Earth variables.

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.

Carl Åkerlindh

Lund U


Lightning

Fast derivative pricing in Julia

Are you interested in high performance code that is also easy to use? This talk will showcase how to price exotic financial derivatives, without having to compromise between speed and code readability.

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!

Bogumił Kamiński


Birds of a feather (bof)

BOF: Julia in the classroom

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.

Jacob Quinn

Domo


Lightning

HTTP.jl: Progressing library for all your Julia web needs

Client and server web interactions are at the heart of most modern applications, Julia and otherwise. Web APIs open doors for cross-language and service interoperability and HTTP.jl aims to provide a robust, modern foundation for Julia programs needing request or server capabilities.

Simon Broda

U of Amsterdam


Lightning

ARCH Models in Julia

Volatility modeling lies at the heart of much of financial risk management. The workhorse model in this field is the GARCH model, along with its various extensions. The talk describes a package that the author is developing to bring these models to Julia.

Jane Herriman

Caltech/Lawrence Livermore National Lab


Birds of a feather (bof)

BOF: diversity and inclusion

Yuri Vishnevsky


Lightning

Julia for Interactive Data Visualization: Adding Dynamic Behavior to Static Documents

In this talk I introduce a new approach to authoring highly polished interactive data visualizations on the web with Julia. Such visualizations historically been difficult to create without writing custom Javascript.

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.

Wouter Heynderickx


Lightning

Systemic Model of Banking Originated Losses (SyMBOL) in Julia

The need for speed: SyMBOL is a model that analyses bank failures. The core of SyMBOL is a Monte Carlo simulation with correlated random shocks and it was written in C. Given the parallel computing capabilities of Julia and a different setup, we were able to reduce the computation time by 50%.

Paulito Palmes

IBM Dublin Research Lab


Lightning

CombineML for Seamless Ensembling of Machine Learning Models from Scikit-learn, Caret, and Julia

CombineML main feature is to provide a framework for seamless ensembling of existing machine learning implementations from scikitlearn, caret, and Julia. It supports the following ensembles: stack, voting, and best. It is a heterogeneous ensemble driven by a uniform machine learner API designed f...

Jonathan Louis Kaplan


Lightning

RHEOS - Making mechanical testing more accessible with Julia

Analyzing mechanical testing data can be tricky, especially for those conducting interdisciplinary research (e.g. biomechanics) who may not have in-house code. We are using Julia to develop an open source software package to make this process simpler and more reproducible.

Hector Andrade Loarca


Lightning

LightFields.jl: Fast 3D image reconstruction for VR applications

Virtual Reality plays the leading role on the new media revolution with Light Field reconstruction as a common technique for content generation.High industrial interests make this technique hard to understand and implement, I will present a novel method to reconstruct the depth of objects in images.

Jane Herriman

Caltech/Lawrence Livermore National Lab


Lightning

Making Julia inclusive and accessible

How can we make Julia more inclusive of and accessible to new users from all backgrounds and experience levels? We want to create fantastic teaching materials that don’t assume a ton of prior knowledge. I’ll share what we’ve done so far to make Julia more accessible and how you can help!

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.

Patrick Kofod Mogensen

University of Copenhagen


Lightning

Native Elementary Functions in Julia

People doing numerical computing are greedy. They want results now and accurately, and we have been ready to accept loss of readability and extensibility to get it. As a result, the elementary functions we take for granted in paper math are often coded in low-level languages. We can do better.

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.

Demian Panigo and Pablo Gluzmann and Esteban Mocskos and Adán Mauri Ungaro and Valentin Mari

Universidad de Buenos Aires/CONICET and and


Lightning

GSReg.jl: High Performance Computing in Econometrics. Let’s do it faster and simpler with Julia

The objective of this talk is to introduce GSReg.jl, a new all-subset-regression package to perform High Performance Computing in econometrics using Julia. GSReg.jl runs 4 to 100 times faster than similar packages and comes with a simplified GUI to allow smooth-transitions for R and Stata users.

Jacob Quinn

Domo


Lightning

New in DataStreams.jl: Type flexibility, querying, and parallelism, oh my!

What’s new in the data framework package powering some of the most popular data packages in Julia? Come learn about advancements in flexibly typed schemas, querying functionality directly integrated with IO, and automatic data transfer parallelism.

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.

Harrison Grodin


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.

Jarvist Moore Frost

King's College London


Lightning

Atomistic simulation with Julia

Atomistic simulation needs custom models, to approximate through hard O(N!) scaling of the underlying physical equations. Julia is a natural language to express such physical abstractions in. I will show how you can contribute to materials research with Julia and a fistful of 1960s PhysRevs.

Scott Thomas


Lightning

Julia-powered personalised mathematics homework

Anyone who works in a technical field has heard something like this from family or friends: “Oh, I was never any good at maths at school.” My job is to set targeted, achievable mathematics homework so that no child ends up feeling this way. Let me tell you how I use Julia to do this.

Bart Janssens


Lightning

Solving sparse linear systems with Trilinos.jl

The Trilinos library features modern iterative solvers for large linear systems. Using the Tpetra library, it can exploit hybrid parallelism and GPUs. We present an overview of the current status of the package that makes this functionality available to Julia.

Uri Patish


Lightning

Black-Box Combinatorial Optimization

Highly parallelizable black box combinatorial optimization algorithm that only relies on function evaluations, and which returns locally optimal solutions with high probability.

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.

Frank Otto

University College London


Lightning

Hierarchical Tensor Decompositions in Julia

Julia’s high-level nature and speed helped me to implement an intricate algorithm for converting a set of high-dimensional data into a very compact representation, allowing me to efficiently solve real-world research problems.

Jens Weibezahn


Lightning

Joulia.jl -- A Large-scale Spatial Open-source Electricity Sector Model Package

With Joulia.jl we developed a package for electricity sector models in Julia, taking advantage of the possibilities to cover all steps of the modeling workflow from data pre-processing, over the algebraic modeling and solution up to the visualization of results in an open-source environment.

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.

Mauro Werder


Lightning

Parameters.jl: keyword constructors and default values for types

Parameters.jl provides a macro to decorate type-definitions which adds keyword constructors and default values. When working with instances it has macros to unpack their fields. I will demo its core features, the resulting cleaner code patterns, and the improvements to code maintainability.

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.

Ján Dolinský


Lightning

Our Journey Through the Perils of AOT Compilation

We develop TIM, a computational engine for large-scale forecasting in energy industry covering load, gas, solar and wind. We share our lessons learned when trying to do AOT compilation of TIM and deploying the binary in the cloud. We cover Linux and Windows scenarios.

Tanmay Mohapatra

Julia Computing


Lightning

A Scalable Scheduler Plugin For Dagger on JuliaRun

Computational problems can often be represented as specific types of graphs known as DAGs. That allows an execution framework to execute parts in right order, schedule in parallel, and make optimal use of available resources. We present ideas on which we are building a scalable scheduler for Julia.

Henrik Sykora

Budapest University of Technology and Economics


Poster

An effective method to investigate stochastic delayed systems using Julia

Modelling of stochastic effects in engineering is limited not only by the few existing mathematical methods but also by their low effectivity and high complexity. An easy-to-use Julia package is presented to investigate stochastic linear delayed systems including control and machine-tool vibrations.

Mathieu Besançon

GERAD, Montréal & INRIA Lille


Poster

Bi-level optimization for consumption predictability in smart grids

Increasing the proportion of renewable energy has become a priority for power grids, but their integration requires higher flexibility of consumption times. Using game theory and optimization, we design a framework allowing flexibility and privacy, while reducing costs for both consumer and supplier

Mauro Werder

ETH Zurich, Switzerland


Poster

BITE, a Baysian Ice Thickness Estimation model

Glaciers and ice caps are projected to dominate global sea level rise up to 2100. To estimate ice thickness maps of such glaciers using mostly surface data, we use a semi-physical forward model combined with a Bayesian inversion scheme. We leverage Julia to allow compute intense MCMC simulations.

Vivek Gadodia

Dravyaniti Consulting LLP


Poster

Built to Last- Developing Robust Trading and Investment Strategies

Life of a Trading strategy is unknown. 'Till how long will this work?'. As markets get more mature, with advent of ML and AI, the designer's job is getting tougher. Using rules to analyse big data by splitting it across Time-Frames, traders can gain significant edges, for all types of traders.

Laurent Heirendt, Ph.D.

University of Luxembourg


Poster

COBRA.jl - Gearing up for high-dimensional constraint-based modelling

Julia accelerates analyses of huge-scale biochemical networks with now more than a million biochemical reactions. Through the open-source high-performance COBRA.jl package, the analysis capabilities of the COnstraint-Based Reconstruction and Analysis community are lifted to another level.

Rob Blackwell

British Antarctic Survey


Poster

EchoJulia – a new approach to scientific echosounder data analysis

EchoJulia is a software library that is enabling new kinds of fisheries acoustic applications. From big data analysis of ship-based surveys to data collection from ocean gliders, we show how Julia is set to improve ecosystem estimates of Southern Ocean Antarctic Krill.

Pedro Ivo de Oliveira Filho

University College London


Poster

Enhancing Photovoltaic Solar Cell Manufacturing: Design and Scale-up of an Industrial AACVD under Uncertainty

Handling uncertainty in process design and optimisation is a crucial challenge in current research and in the industry. We believe that Julia has the potential to be used as a comprehensive modelling language to enable designers to develop new systems with greater confidence.

Dr. Zygmunt L. Szpak

Australian Institute for Machine Learning


Poster

Estimation of Nonlinear Errors-in-Variables Models for Computer Vision Applications

I will present an approximate maximum likelihood method that encapsulates a gamut of heteroscedastic errors-in-variables regression problems that often arise in computer vision applications. Julia's multiple dispatch and Unicode support facilitates a unique, concise and readable implementation.

R Gowers

University of Warwick


Poster

Extended Neurons with Noise in Julia

Most of the time, neurons in the cortex fire due to randomly arriving inputs. The irregular firing that results is not merely noise, but is thought to play an important role in cortical computation. I show how I have implemented stochastic simulations of this irregular firing in my research.

Andrew Collier

Exegetic Analytics


Poster

Getting Started with Bayesian Techniques in Julia

Bayesian techniques can seem challenging and esoteric. However, they promise a powerful alternative to frequentist statistics, with the possibility of extracting even more useful information from your data. This talk will help you get started with Bayesian analyses.

Petre Caraiani

Institute for Economic Forecasting, Romanian Academy


Poster

Introduction to Quantitative Macroeconomics using Julia

The title of the presentation comes from the my forthcoming book at one of the leading publishers, Academic Press, an imprint of Elsevier. The poster (based on the book) will introduce the audience to state-of-art computational techniques used in economics through examples and applications in Julia.

Ahan Sengupta

City of London School


Poster

Julia Robots on the Raspberry Pi

The talk is about remote control robots controlled by Julia on a Raspberry Pi. I will show how to do physical computing with Julia using the GPIO pins of the Pi.

Miguel Raz Guzmán Macedo

UNAM


Poster

Lessons for beginner developers: Arbitrary order generalized OrthogonalPolynomials.jl in 100 lines of Julia

Julia's capabilities are amazing for scientific computing - but how to begin designing your own libraries and packages? With OrthogonalPolynomials.jl, we will showcase the development of a production ready library in 100 lines of code - with a series of video walkthroughs on step by step design.

Renan Domingues

UFPR - Federal University of Paraná


Poster

LU update in the Simplex Method

We study the Simplex method, a linear optimization search method. The revised Simplex method was studied and implemented along with the LU update, aiming for the solution of large scale sparse problems. The method was implemented in the Julia Language and tested against available solvers.

beckerfloh@gmail.com

Karlsruhe Institute of Technology


Poster

PCE.jl - Towards a Julia Package for Polynomial Chaos Expansion

This poster announces PCE.jl, which is a Julia Package for uncertainty quantification (UQ) using a method called 'polynomial chaos expansion' (PCE). It offers an alternative approach to Monte-Carlo-based UQ, and is also more efficient for certain problem instances.

Will Tebbutt

University of Cambridge


Poster

Probabilistic Programming and Gaussian Processes in Julia

Deep Learning's popularity is partly derived from its composability. General probabilistic machine learning is, in fact, just as composable, but technically much more challenging. I present an interesting edge case where life is easy, and discuss how Julia is uniquely positioned to exploit this.

Chris Rackauckas

University of California, Irvine


Poster

The Hidden Information in Stochasticity: How Biological Organisms Use and Control Randomness

Stochasticity (randomness) in biochemical reactions exists. Things diffuse and randomly bump together to bind/unbind. Yet these chemicals form the basis of life. But biological organisms evolve to their surroundings. Have they evolved to use biochemical randomness? I will demonstrate how they do it.