Conference Agenda

Wednesday, July 26, 2023

11:00 UTC

Breakfast in Stata Center

07/26/2023, 11:00 AM12:30 PM UTC
26-100

Get a delicious breakfast.

12:30 UTC

Opening Ceremony

07/26/2023, 12:30 PM1:00 PM UTC
26-100

Welcome to the opening ceremony of JuliaCon 2023! Join us as we kick off this exciting conference with a warm welcome, keynote speeches, and announcements about what's in store for the week. Get ready to meet new colleagues, exchange ideas, and discover the latest in Julia programming. Let's get started!

13:00 UTC

Keynote: Tim Davis

07/26/2023, 1:00 PM1:45 PM UTC
26-100

Timothy A. Davis, PhD, is a Professor in the Computer Science and Engineering Department at Texas A&M University, and a Fellow of SIAM, ACM, and IEEE. He serves as an associate editor for the ACM Transactions on Mathematical Software. In 2018 he was awarded the Walston Chubb Award for Innovation, by Sigma Xi.

13:20 UTC

Julia usecases in actuarial science related fields

07/26/2023, 1:20 PM1:30 PM UTC
Online talks and posters

We are interested in exploring different aspects how Julia programming language can be applied to certain interesting usecases in the actuarial and financial space. In addition we may also provide commentary on when to use certain languages in terms of productivity and performance.

13:25 UTC

Nerf.jl a real-time Neural 3D Scene Reconstruction in pure Julia

07/26/2023, 1:25 PM1:55 PM UTC
Online talks and posters

We demonstrate a set of pure Julia packages to interactively reconstruct and render Neural Radiance Fields (NeRFs), a 3D neural representation of a scene from pictures, using heterogeneous kernel programming. This system was developed at AMD and supports other GPU backends as well.

13:30 UTC

Pipelines & JobSchedulers for computational workflow development

07/26/2023, 1:30 PM2:00 PM UTC
Online talks and posters

Computational workflows and pipelines are essential in large-scale data analysis and bioinformatics. Here, we present Pipelines.jl and JobSchedulers.jl, as the reproducible and scalable pipeline builder and workload manager. Pipelines.jl provides simple but powerful methods to wrap Julia function or external command, and provide data and dependency validation, and job re-try or skipping. JobSchedulers.jl can allocate CPU and memory to jobs and defer a job until other jobs are finished.

13:45 UTC

Julia at NCI

07/26/2023, 1:45 PM1:55 PM UTC
Online talks and posters

We demonstrate how to use NCI services to run and profile Julia code at scale.

13:45 UTC

Keynote: Christopher Rackauckas

07/26/2023, 1:45 PM2:30 PM UTC
26-100

Dr. Rackauckas is a Research Affiliate and Co-PI of the Julia Lab at the Massachusetts Institute of Technology, VP of Modeling and Simulation at JuliaHub and Creator / Lead Developer of JuliaSim. He's also the Director of Scientific Research at Pumas-AI and Creator / Lead Developer of Pumas, and Lead Developer of the SciML Open Source Software Organization.

14:00 UTC

Ignite.jl: A brighter way to train neural networks

07/26/2023, 2:00 PM2:30 PM UTC
Online talks and posters

We introduce Ignite.jl, a package that streamlines neural network training and validation by replacing traditional for/while loops and callback functions with a powerful and flexible event-based pipeline. The key feature of Ignite.jl is the separation of the training step from the training loop, which gives users the flexibility to easily incorporate events such as artifact saving, metric logging, and model validation into their training pipelines without having to modify existing code.

14:00 UTC

NLP and human behavior with Julia (and a bit of R)

07/26/2023, 2:00 PM2:30 PM UTC
Online talks and posters

This talk covers NLP analysis with Julia, with a focus com graph analysis.

A basic pipeline is shown, including pre-proccessing graph and semantic embeddings with TextGraphs.jl.

We briefly study the insides of this package along with an use case. For this, the heteronyms of Portuguese poet Fernando Pessoa are contrasted with each other. We see how speech structural properties reflect different writing styles.

14:00 UTC

Pre-Recorded Talks

07/26/2023, 2:00 PM8:00 PM UTC
32-082

Pre-recorded talks will be played in a playlist at 32-082 on Wednesday from 10 AM - 4 PM.

14:00 UTC

ctrl-VQE: Julianic simulations of a pulse-level VQE

07/26/2023, 2:00 PM2:30 PM UTC
Online talks and posters

We discuss the ctrl-VQE algorithm, a variant of the popular Variational Quantum Eigensolver for solving molecular electronic states which has the potential to reduce runtimes on a quantum computer by orders of magnitude. Our most recent implementation of ctrl-VQE using Julia allows us to simulate our algorithm much faster than our previous Python code, enabling a more thorough analysis which has revealed strategies to improve the runtime of the algorithm even more.

14:15 UTC

Quantum Monte Carlo in Julia.

07/26/2023, 2:15 PM2:45 PM UTC
Online talks and posters

Quantum computing may be the technology that will change the financial industry. One of the potential use cases for quantum computers is derivative instrument pricing, this is a computationally demanding task with proven quadratic speed-up on the quantum machine.

The goal of the talk is to show how to do this using Julia's library QuantumCircuits.jl.

14:20 UTC

Sorting gene trees by their path within a species network

07/26/2023, 2:20 PM2:50 PM UTC
Online talks and posters

Evolutionary relationships are often depicted in tree structures where internal nodes represent ancestral species and external nodes represent extant species, but directed networks are often necessary. Many species tree and network estimation procedures first estimate a set of gene trees from sequence data. The proportion of these gene trees that do not necessitate a network model is biologically interesting. In RANSANEC.jl, we expand random sample consensus to tree-space to tackle this problem.

14:30 UTC

Fast Higher-order Automatic Differentiation for Physical Models

07/26/2023, 2:30 PM3:00 PM UTC
Online talks and posters

Taking higher-order derivatives is crucial for physical models like ODEs and PDEs, and it would be great to get it done by automatic differentiation. Yet, existing packages in Julia either has exponential scaling w.r.t. order (nesting first-order AD) or has exponential scaling w.r.t. dimension (nested Taylor polynomial in TaylorSeries.jl). The author presents TaylorDiff.jl (https://github.com/JuliaDiff/TaylorDiff.jl) which is specifically optimized for fast higher-order directional derivatives.

14:30 UTC

JuliaHub sponsor talk

07/26/2023, 2:30 PM2:40 PM UTC
26-100

Sponsor talk of JuliaHub, platinum sponsor at JuliaCon.

14:35 UTC

Nested approaches for multi-stage stochastic planning problems

07/26/2023, 2:35 PM2:45 PM UTC
Online talks and posters

We present a JuMP-based solver that combines a nested primal-dual decomposition technique and convex relaxation approaches for tackling non-convex multi-stage stochastic programming problems. The approach addresses optimal long-term water supply infrastructure planning with feasibility constraints at operational timescales. We combine an outer primal decomposition of planning stages and inner dual ones of operating scenarios, with convexified non-anticipative constraints relaxed for scenarios.

14:35 UTC

VLLimitOrderBook.jl, simulation of electronic order book dynamic

07/26/2023, 2:35 PM2:45 PM UTC
Online talks and posters

VLLimitOrderBook.jl is a package written in Julia that simulates order book dynamics and matching for equities, options, and cryptocurrency orders. The orders in the book are stored in an AVL Tree data structure and prioritized based on price and time.

14:40 UTC

ASML & Julia

07/26/2023, 2:40 PM2:50 PM UTC
26-100

Thank you to ASML, gold sponsor at JuliaCon 2023!

14:45 UTC

Lessons learned while working as a technical writer at FluxML

07/26/2023, 2:45 PM2:48 PM UTC
Online talks and posters

Working as a technical writer at FluxML for the past six months has taught me some tips and tricks for writing and maintaining user-centric documentation. Documentation not only requires writing clear and concise content but also building infrastructures, testing, and a lot of discussions. This talk takes all the lessons I learned (myself and through FluxML maintainers) in the past six months and condenses it into 3 minutes!

14:45 UTC

Wrapping Up Offline RL as part of AutoMLPipeline Workflow

07/26/2023, 2:45 PM2:55 PM UTC
Online talks and posters

Unlike in Online RL where agents need to interact with real environment, Offline RL works similar to a typical machine learning workflow. Given a dataset, Offline RL processes data extracting state, action, reward, and terminal columns to optimize the policy Q. By wrapping up offline RL into the AutoMLPipeline workflow, it becomes trivial to search for the optimal preprocessing elements and their combinations to improve Offline RL optimal policy using symbolic workflow manipulation.

14:50 UTC

Streaming real-time financial market data with AWS cloud

07/26/2023, 2:50 PM3:00 PM UTC
Online talks and posters

Historical data is useful in the financial industry, particularly for back-testing trading strategies. However, a single machine can't store real-time data for even a single ticker symbol. Thus, constructing a distributed scalable computer system to persist real-time financial data requires time and a significant financial commitment. Using cloud computing services reduces this barrier. This talk describes a real-time cloud-based financial data streaming and storage system implemented in Julia.

14:50 UTC

RxInfer.jl: a package for real-time Bayesian Inference

07/26/2023, 2:50 PM3:20 PM UTC
Online talks and posters

We present RxInfer.jl, which is a Julia package for automated and fast Bayesian inference in a probabilistic model through reactive message passing on a factor graph representation of that model. RxInfer.jl unites different Julia packages and forms a user-friendly ecosystem for efficient real-time Bayesian processing of infinite data streams.

14:55 UTC

Vahana.jl - A framework for large-scale agent-based models

07/26/2023, 2:55 PM3:25 PM UTC
Online talks and posters

Vahana.jl is a new open-source high-performance software framework for development of large-scale agent-based models (ABM) of complex social systems.

Vahana models are expressed as synchronous graphic dynamical systems (SyGDS). This allows Vahana to run a simulation in parallel and to distribute the simulation across multiple nodes of a cluster. New extensions to the traditional SyGDS approach allow the implementation of complex ABMs.

14:55 UTC

Becoming a research software engineer with Julia

07/26/2023, 2:55 PM2:58 PM UTC
Online talks and posters

This talk will present some Julia tools and features that helped an apprentice research software engineer (and newcomer to Julia) adopt good software engineering practices.

15:00 UTC

ModelOrderReduction.jl -- Symbolic-Enhanced Model Simplification

07/26/2023, 3:00 PM3:30 PM UTC
Online talks and posters

We present ModelOrderReduction.jl -- a Julia package for the automatic simplification of scientific models by way of symbolic computation. As such, ModelOrderReduction.jl enables modelers without detailed knowledge of the domain of model order reduction to automatically generate simplified models that approximate the dominant behavior of otherwise too complex ones.

15:00 UTC

Julia Developer Survey Results

07/26/2023, 3:00 PM3:15 PM UTC
26-100

Presentation of results from this year's Julia Developer Survey and discussion of progress made.

15:15 UTC

Morning Break Day 1 Room 4

07/26/2023, 3:15 PM3:30 PM UTC
32-D463 (Star)

Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.

15:15 UTC

Morning Break Day 1 Room 6

07/26/2023, 3:15 PM3:30 PM UTC
32-G449 (Kiva)

Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.

15:15 UTC

Morning Break Day 1 Room 7

07/26/2023, 3:15 PM3:30 PM UTC
26-100

Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.

15:15 UTC

Morning Break Day 1 Room 2

07/26/2023, 3:15 PM3:30 PM UTC
32-123

Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.

15:15 UTC

Morning Break Day 1 Room 5

07/26/2023, 3:15 PM3:30 PM UTC
32-144

Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.

15:15 UTC

Morning Break Day 1 Room 1

07/26/2023, 3:15 PM3:30 PM UTC
32-141

Morning break for coffee and snacks

15:15 UTC

Morning Break Day 1 Room 3

07/26/2023, 3:15 PM3:30 PM UTC
32-124

Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.

15:30 UTC

MRI Compressed Sensing and Denoising in Julia

07/26/2023, 3:30 PM4:00 PM UTC
32-124

Compressed sensing is an area of mathematics increasingly being applied in magnetic resonance imaging. MRI imagery is highly sparse and noisy making it an appropriate application to use these techniques. Compressed sensing complements existing techniques such as JPEG compression in computationally intensive applications such as MRI image processing to reduce acquisition time, in AI training time and can be used to build more robust systems with greater resilience to noise.

15:30 UTC

Attitude control subsystem development using Julia

07/26/2023, 3:30 PM4:00 PM UTC
32-D463 (Star)

The development of a satellite attitude and orbit control subsystem (AOCS) imposes challenges since the dynamics cannot be reproduced on the ground. The entire process relies on simulation. We developed a novel workflow that improved productivity by using the outstanding adaptability of the Julia language and its ecosystem. We could adapt a validated simulator to test and verify all the AOCS algorithms at each development phase, drastically reducing error propagation and, consequently, test cost

15:30 UTC

Patterns for portable parallelism: porting CliMA to GPUs

07/26/2023, 3:30 PM4:00 PM UTC
26-100

Despite many efforts, it can be difficult to find good abstractions that are efficient on both CPU and GPU code. In our effort to add GPU support to ClimaCore.jl, we have established with several useful patterns for describing common spatial operations at a high-level, which can then be specialized in different ways to different computational backends.

15:30 UTC

Third Millennium Symbolic Learning with Sole.jl

07/26/2023, 3:30 PM4:00 PM UTC
32-123

Sole.jl is a framework for symbolic learning, i.e., machine learning with symbolic logic. It comprehends packages for:

15:30 UTC

Debugging time spent in LLVM with SnoopCompile

07/26/2023, 3:30 PM3:40 PM UTC
32-141

SnoopCompile has a feature of timing the time spent in LLVM to optimize Julia code. This is a talk sharing my experiences using the macro snoopl to debug the time spent optimizing each function in LLVM.

15:30 UTC

Quantum Minis Introduction

07/26/2023, 3:30 PM3:40 PM UTC
32-G449 (Kiva)

In recent years the Julia language has seen increasing adoption in the quantum community, broadly defined. We propose to organize two back-to-back minisymposia on the theme of "Julia and quantum," including quantum computing, condensed matter physics, quantum chemistry. The talks would be addressed to both current and future experts.

15:40 UTC

Qurt.jl: Compiling Quantum Circuits (in Julia)

07/26/2023, 3:40 PM3:50 PM UTC
32-G449 (Kiva)

I'll present Qurt.jl, a package for creating and transforming quantum circuits. I'll do a brief demo, including the obligatory, slick, macro-enabled builder interface. I'll show how it is faster than some Python-Rust and C++ implementations.

15:40 UTC

Pinning Julia Threads to CPU-Cores with ThreadPinning.jl

07/26/2023, 3:40 PM3:50 PM UTC
32-141

Have you ever wondered how to bind a thread to a specific CPU-core in Julia? And why that might be useful in the first place? Then this talk is for you! I demonstrate how to easily query and control the affinity of your Julia threads using ThreadPinning.jl and present instructive examples that highlight the importance of thread pinning, especially on HPC clusters.

15:50 UTC

SARProcessing.jl: A flexible package for the SAR data processing

07/26/2023, 3:50 PM4:00 PM UTC
32-144

With a low barrier to entry and a large ecosystem of tools and libraries that allow quick prototyping, Julia has great potential for geospatial development. SARProcessing.jl is a much open-source project with the aim of making SAR data processing easy and fast for everyone. This talk provides a gentle hands-on introduction to setting up and enjoying the SARProcessing.jl package.

15:50 UTC

Shipping Julia Packages with System-Images

07/26/2023, 3:50 PM4:00 PM UTC
32-141

The Julia ecosystem has super fast and performant packages, but not always upon first use. This may be alleviated using system images and this talk presents a convenient workflow to ship them. Additionally, it discusses various challenges when doing so and shares our experience in reliably tackling them.

15:50 UTC

Convenient time dependence in QuantumOptics.jl

07/26/2023, 3:50 PM4:00 PM UTC
32-G449 (Kiva)

QuantumOptics.jl is a numerical framework for simulating quantum systems. It provides a very general set of tools that go far beyond quantum optics. We recently added "time dependent operators", which allow easy creation and composition of time-dependent Hamiltonians and Lindbladians for use inn dynamical simulations. This talk briefly introduces the QuantumOptics.jl and these convenient new time-dependence features.

16:00 UTC

Exploring the State of Machine Learning for Biological Data

07/26/2023, 4:00 PM4:30 PM UTC
32-124

Exploring the use of Julia, in analyzing biological data. Discussion of libraries and packages, challenges and opportunities of using machine learning on biological data, and examples of past and future applications.

16:00 UTC

DyVE, a Framework for Value Dynamics

07/26/2023, 4:00 PM4:30 PM UTC
32-D463 (Star)

DyVE (Dynamics of Value Evolution) is an open source framework, aimed at designing, fitting, and integrating complex real-world process models; accounting for the accrual of costs and rewards; and supporting complex decision making, particularly in pharmaceutical R&D and business.

Process specifications are compact and algebraically composable. Uncertainty about model values or structure is supported. DyVE is interoperable with Scientific Machine Learning (SciML).

16:00 UTC

IsDef.jl: maintainable type inference

07/26/2023, 4:00 PM4:30 PM UTC
32-141

IsDef.jl provides maintainable type inference in that it

  1. Uses code generation where possible to deterministically infer the types of your code
  2. Allows you to overload type-inference with your custom implementation
  3. If neither code generation works nor a custom type inference rule is given, it falls back to Core.Compiler.return_type, wrapped by some safety nets

In this talk IsDef.jl is presented, along with typical applications and details about the implementation.

16:00 UTC

Braket.jl: A Julia SDK for Quantum Computing

07/26/2023, 4:00 PM4:30 PM UTC
32-G449 (Kiva)

In recent years the Julia language has seen increasing adoption in the quantum community, broadly defined. We propose to organize two back-to-back minisymposia on the theme of "Julia and quantum," including quantum computing, condensed matter physics, quantum chemistry. The talks would be addressed to both current and future experts.

16:00 UTC

What's new with Progradio.jl - Projected Gradient Optimization

07/26/2023, 4:00 PM4:10 PM UTC
32-123

Box-constrained optimization problems are ubiquitous in many areas of science and engineering. Our package includes methods tailored to this class of optimization problems. Due to Julia's Iterator interface, Progradio's solvers can be paused, resumed, or terminated early. Since the first release, we have included a stricter line-search procedure, and support for simplex constraints (Σ x_j = 1). Progradio's unique features make it attractive to be used as a sub-routine for dynamic optimization.

16:00 UTC

HDF5.jl: Hierarchical data storage for the Julia ecosystem

07/26/2023, 4:00 PM4:30 PM UTC
26-100

HDF5.jl is a Julia package for reading and writing data using the Hierarchical Data Format version 5 (HDF5) C library. HDF5 is a flexible, self-describing format suitable for storing complex scientific data, and is used as a container for many other formats. This talk will give an overview of the HDF5 format and give an introduction and examples of basic usage of the HDF5.jl package. We will highlight some recent features and discuss future plans for the package.

16:00 UTC

JuliaEO 2023: Outcomes, Overview & Impact

07/26/2023, 4:00 PM4:30 PM UTC
32-144

A community of Julia developers working with Earth Observation was brought together at the JuliaEO2023: Global Workshop on Earth Observation with Julia. 300 hundred people registered and 40 attended in person. All major aspects were covered: big geospatial data, remote sensing, data processing, visualization, modelling, data science, machine learning, artificial intelligence, and cloud computing. A Docker container and a Dataverse archive complement the notebook collection for reproducibility.

16:30 UTC

Lunch Day 1 (Room 2)

07/26/2023, 4:30 PM6:00 PM UTC
32-123

We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.

16:30 UTC

Lunch Day 1 (Room 7)

07/26/2023, 4:30 PM6:00 PM UTC
26-100

We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.

16:30 UTC

Lunch Day 1 (Room 4)

07/26/2023, 4:30 PM6:00 PM UTC
32-D463 (Star)

We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.

16:30 UTC

Lunch Day 1 (Room 1)

07/26/2023, 4:30 PM6:00 PM UTC
32-141

We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.

16:30 UTC

Lunch Day 1 (Room 3)

07/26/2023, 4:30 PM6:00 PM UTC
32-124

We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.

16:30 UTC

Lunch Day 1 (Room 6)

07/26/2023, 4:30 PM6:00 PM UTC
32-G449 (Kiva)

We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.

16:30 UTC

Lunch Day 1 (Room 5)

07/26/2023, 4:30 PM6:00 PM UTC
32-144

We hope you're enjoying JuliaCon 2023 so far! Take a break and grab some lunch to recharge for the afternoon sessions. We have a delicious spread waiting for you in the dining hall. Bon appétit!

18:00 UTC

FlowFPX: Nimble tools for debugging floating-point exceptions

07/26/2023, 6:00 PM6:30 PM UTC
32-141

Reliable numerical computations are central to HPC and ML. We present FlowFPX, a Julia-based tool for tracking the onset and flow of IEEE Floating-Point exceptions that signal numerical defects. FlowFPX’s design exploits Julia’s operator overloading to trace exception flows and even inject exceptions to accelerate testing. We present intuitive visualizations of summarized exception flows including how they are generated, propagated and killed, thus helping with debugging and repair.

18:00 UTC

Digital Twins for Ocean Robots

07/26/2023, 6:00 PM6:30 PM UTC
32-D463 (Star)

Ocean robots and satellites collect crucial data to monitor, understand, and predict climate change. Our digital twin framework accesses & simulates these complex data sets. It leverages multiple Julia packages developed by the author and linked organizations. This talk focuses on numerical modeling and artificial intelligence components of the DT framework. It touches on all major elements of the global observing system along with expected scientific, societal, and commercial applications.

18:00 UTC

Learning Hybridization Networks Using Phylogenetic Invariants

07/26/2023, 6:00 PM6:10 PM UTC
32-124

Phylogenetic networks represent the evolutionary process of reticulate organisms by the explicit modeling of gene flow. While most existing network methods are not scalable to tackle big data, we introduce a novel method to reconstruct phylogenetic networks based on algebraic invariants without the heuristic search of network space. Our methodology is available in the Julia package phylo-diamond.jl, and it is at least 10 times faster than the fastest-to-date network methods.

18:00 UTC

Yao.jl & Bloqade.jl: towards a symbolic engine for quantum

07/26/2023, 6:00 PM6:30 PM UTC
32-G449 (Kiva)

In recent years the Julia language has seen increasing adoption in the quantum community, broadly defined. We propose to organize two back-to-back minisymposia on the theme of "Julia and quantum," including quantum computing, condensed matter physics, quantum chemistry. The talks would be addressed to both current and future experts.

18:00 UTC

Phoenix or cyborg: The anatomy of Earth system software in Julia

07/26/2023, 6:00 PM7:00 PM UTC
32-144

Several large projects on Earth system modelling are based on Julia. In a field where Fortran traditionally dominates model development we want to gather developers to share how we build Earth system software in Julia. Instead of sharing project surfaces, this minisymposium wants to look deeper into their anatomy. The phoenix: are we reinventing traditional coding structures in a new language? Or the cyborg: does Julia allow us to replace these structures with new, enhanced machinery?

18:00 UTC

Making hard decisions: from influence diagrams to optimization

07/26/2023, 6:00 PM6:30 PM UTC
26-100

We present the Decision Programming framework for solving multi-stage stochastic problems. The problem is first formulated as an influence diagram and then converted to a mixed-integer linear programming problem. The DecisionProgramming.jl package is implemented as an extension to JuMP, taking advantage of the versatility of JuMP in using different solvers and accessing different solver attributes.

18:10 UTC

BioMakie.jl - Plotting and interface tools for biology

07/26/2023, 6:10 PM6:20 PM UTC
32-124

BioMakie.jl provides plotting methods for protein data such as structures and multiple sequence alignments. Interactive elements allow users to give additional functionality to plotted data, to facilitate inspection, manipulation, and presentation. A simple event handling system enables custom triggers and synchronization. Plotting and interface tools are further extended via Julia's interoperability with other programming languages.

18:20 UTC

the status of parquet in Julia

07/26/2023, 6:20 PM6:30 PM UTC
32-123

The parquet tabular data storage format has become one of the most ubiquitous, particularly in "big data" contexts where it is arguably the only binary format to successfully supplant CSV. Despite this, there are relatively few implementations of parquet, which, historically, has presented challenges for Julia. I will give a brief overview of Parquet2.jl, a pure Julia parquet implementation including comparison to other tools and formats and what is still needed to reach parity with pyarrow.

18:20 UTC

A Comparison of 4 Multiple Sclerosis Rx from Patient's Feedback

07/26/2023, 6:20 PM6:30 PM UTC
32-124

Identified 4 Multiple Sclerosis drugs: Gilenya, Tysabri, Copaxone, and Tecfidera as the basis for conducting a manual textual analysis from feedback provided by patients at WebMD website. The objective was two fold: (1) complete a textual analysis, evaluating, on the dimensions of Ease of Use, Effectiveness, and Satisfaction. After categorizing different feedback into various groups, these data were visualized and analyzed using Julia

18:30 UTC

Unlocking the Power of Genomic Analysis in Julia

07/26/2023, 6:30 PM7:00 PM UTC
32-124

Learn how Julia, a high-performance programming language, can be used to analyze genomic data. Discussion of libraries, specific challenges and opportunities, past examples, and future possibilities of using Julia in genomic data analysis.

18:30 UTC

Quantum Dynamics and Control with QuantumControl.jl

07/26/2023, 6:30 PM7:00 PM UTC
32-G449 (Kiva)

The QuantumControl.jl package provides a framework for open-loop quantum optimal control: finding classical control fields to drive the dynamics of a quantum system in a particular way, e.g., to create a particular entangled state or to realize a quantum gate.

18:30 UTC

Interpretable Machine Learning with SymbolicRegression.jl

07/26/2023, 6:30 PM7:00 PM UTC
32-D463 (Star)

SymbolicRegression.jl is a state-of-the-art symbolic regression library written from scratch in Julia using a custom evolutionary algorithm. The software emphasizes high-performance distributed computing, and can find arbitrary symbolic expressions to optimize a user-defined objective – thus offering a very interpretable type of machine learning. SymbolicRegression.jl and its Python frontend PySR have been used for model discovery in over 30 research papers, from astrophysics to economics.

18:30 UTC

SyntheticEddyMethod.jl for fluid dynamics

07/26/2023, 6:30 PM6:40 PM UTC
32-123

Synthetic Eddy Methods (SEM) are a family of techniques used to generate realistic inflow data for Large Eddy Simulation (LES) simulation in fluid dynamics. This is one of the easiest and less memory-consumption inflow generators method. The package SyntheticEddyMethod.jl implements the SEM and recreates a statistically correct and coherent turbulent flow.

18:30 UTC

Anti-Patterns: How not to do things in Julia

07/26/2023, 6:30 PM7:00 PM UTC
26-100

Design patterns offer general solutions to common problems and it is standard practice to include them in software development. On the other hand, Anti-Pattern is a complement to Design patterns. While design patterns focus on how to do things by following best practices, Anti-patterns focus on how not to do things. In this talk, I will speak about anti-patterns in Julia and their worst practices. The talk follows the problem-solution approach.

18:30 UTC

Julia's Extensible High Performance Sorting Pipeline

07/26/2023, 6:30 PM7:00 PM UTC
32-141

Julia 1.9 provides remarkable facilities for sorting including lightning fast default algorithms and an extensible system that supports both package authors who provide additional sorting options and users with domain-specific knowledge about their input distributions. This talk explains the Julia sorting pipeline: how these features are made possible and how you can benefit from using them.

18:40 UTC

the new XGBoost wrapper

07/26/2023, 6:40 PM6:50 PM UTC
32-123

Gradient boosted trees are a wonderfully flexible tool for machine learning and XGBoost is a state-of-the-art, widely used C++ implementation. Thanks to the library's C bindings, XGBoost has been usable from Julia for quite a long time. Recently, the wrapper has been rewritten as 2.0 and offers many fun new features, some of which were previously only available in the Python, R or JVM wrappers.

18:50 UTC

Simulation of fracture and damage with Peridynamics.jl

07/26/2023, 6:50 PM7:00 PM UTC
32-123

We introduce the new package Peridynamics.jl, which allows users to perform simulations of fracture and damage with the fast performance of Julia. Peridynamics is a non-local formulation of continuum mechanics based on a material point approach that has been of increasing interest in recent years. The purpose of the talk is to give a short introduction to the package and to showcase its capabilities.

19:00 UTC

Julia meets the Intelligence Processing Unit

07/26/2023, 7:00 PM7:30 PM UTC
32-141

In this talk I will detail about the effort to run Julia code on the Intelligence Processing Unit (IPU), a massively parallel accelerator developed by Graphcore and powered by 1472 cores.

19:00 UTC

NetworkHawkesProcesses.jl

07/26/2023, 7:00 PM7:30 PM UTC
32-123

NetworkHawkesProcesses.jl implements methods to simulate and estimate a class of probabilistic models that combines mutually-exciting Hawkes processes with network structure. It allows researchers to construct such models from a flexible set of model components, run inference from a list of compatible methods (including maximum-likelihood estimation, Markov chain Monte Carlo sampling, and variational inference), and explore results with visualization and diagnostic utilities.

19:00 UTC

BiosimVS.jl: Virtual screening of ultra-large chemical libraries

07/26/2023, 7:00 PM7:10 PM UTC
32-124

BiosimVS.jl: Virtual screening of ultra-large chemical libraries

Virtual screening (VS) is a computational technique used in drug discovery, enabling searching libraries of small molecules in order to identify those compounds that are most likely to bind to a drug target. We discuss the BiosimVS.jl package that enables virtual screening of ultra-large scale chemical libraries, containing billions of molecules.

19:00 UTC

Neuroblox.jl: biomimetic modeling of neural control circuits

07/26/2023, 7:00 PM7:30 PM UTC
32-D463 (Star)

Neuroblox.jl is a Julia module designed for computational neuroscience and psychiatry applications. Our tools range from control circuit system identification to brain circuit simulations bridging scales from spiking neurons to fMRI-derived circuits, parameter-fitting models to neuroimaging data, interactions between the brain and other physiological systems, experimental optimization, and scientific machine learning.

19:00 UTC

Phoenix or cyborg (2)

07/26/2023, 7:00 PM8:00 PM UTC
32-144

Several large projects on Earth system modelling are based on Julia. In a field where Fortran traditionally dominates model development we want to gather developers to share how we build Earth system software in Julia. Instead of sharing project surfaces, this minisymposium wants to look deeper into their anatomy. The phoenix: are we reinventing traditional coding structures in a new language? Or the cyborg: does Julia allow us to replace these structures with new, enhanced machinery?

19:00 UTC

Symmetries in Tensor Networks—TensorOperations.jl + TensorKit.jl

07/26/2023, 7:00 PM7:30 PM UTC
32-G449 (Kiva)

Tensor networks have emerged as a versatile and efficient framework for analyzing a wide range of quantum systems. A key advantage lies in their ability to leverage the underlying structure of the problems they address. We present TensorOperations.jl and TensorKit.jl, which are designed to facilitate the seamless and efficient implementation of tensor network algorithms and incorporate arbitrary symmetries.

19:00 UTC

Package extensions

07/26/2023, 7:00 PM7:30 PM UTC
26-100

Package extensions are a new feature for packages available in Julia 1.9. It aims to solve the problem where you might be reluctant to take on a package as a dependency just to extend a function to a type in that package due to e.g. increased load time of the package.

19:10 UTC

An introduction to UnsupervisedClustering.jl package

07/26/2023, 7:10 PM7:20 PM UTC
32-124

We introduce UnsupervisedClustering.jl, a package that implements traditional unsupervised clustering algorithms and proposes advanced global optimization algorithms that allow escape from local optima.

19:20 UTC

Polyhedral Computation

07/26/2023, 7:20 PM7:30 PM UTC
32-124

Polyhedra are at the foundation of many engineering tools such as Mixed-Integer Programming. Manipulating them can give key insights

19:30 UTC

AdaptiveHierarchicalRegularBinning

07/26/2023, 7:30 PM8:00 PM UTC
32-124

AdaptiveHierarchicalRegularBinning.jl computes a hierarchical space-partitioning tree for a given set of points of arbitrary dimensions, that divides the space and stores the reordered points offering efficient access. Space-partitioning data structures are vital for algorithms that exploit spatial distance to reduce computational complexity, see for example the Fast Multipole Method and Nearest Neighbors.

19:30 UTC

Quickdraw: The simplest Julia package deployment system

07/26/2023, 7:30 PM7:40 PM UTC
32-141

The Julia ecosystem provides rich interoperability among Julia packages but it has been nontrivial to deploy functionality from a Julia package to non-technical users. Quickdraw is a simple combination of existing tools that installs a runnable app from any Julia package that defines a main function. All the end user needs to do is run a single command; all the developer needs to provide is that command.

19:30 UTC

Extending JumpProcesses.jl for fast point process simulation

07/26/2023, 7:30 PM8:00 PM UTC
32-D463 (Star)

Point processes model the occurrence of a countable number of random points over some support. They are useful to describe phenomena including chemical reactions, stockmarket transactions and social interactions. In this talk, we show that JumpProcesses.jl is a fast, general purpose library for simulating point processes, and describe extensions to JumpProcesses.jl that significantly speed up the simulation of point processes with time-varying intensities.

19:30 UTC

An update on the ITensor ecosystem

07/26/2023, 7:30 PM8:00 PM UTC
32-G449 (Kiva)

ITensor is a library for running and developing tensor network algorithms, a set of algorithms where high order tensors are represented as a network of lower order, and low rank, tensors. I will give an update on the ITensor Julia ecosystem. In particular, I will discuss efforts to support more GPU backends and block sparse operations on GPU, as well as ITensorNetworks.jl, a new library for tensor network algorithms on general graphs.

19:30 UTC

Continuous Improvement of the CI ecosystem in Julia

07/26/2023, 7:30 PM8:00 PM UTC
26-100

This past year, the CI ecosystem in Julia has seen some notable improvements. Attend this talk to learn how we’ve built workflows to support the growing needs of Base Julia CI, our friends at SciML and even some other ecosystem projects that require very wide platform testing. Our efforts have also made Base Julia CI more reliable, reproducible, and easily analyzed. This talk will showcase some of the tools available to ecosystem projects in need of a deeper degree of testing.

19:30 UTC

Tips for writing and maintaining Dash.jl applications

07/26/2023, 7:30 PM8:00 PM UTC
32-123

Dash.jl is the Julia version of Plotly's Dash, a framework for building data science web applications. Relying on the same frontend components (written in JavaScript) as the popular Python version of Dash, Dash.jl is a robust library and a trustworthy choice for Julia users. This talk presents industry-tested tips on how to write maintainable Dash.jl applications, Julian code patterns for Dash.jl as well as tricks to work around some of Dash.jl's limitations.

19:40 UTC

GC Developments

07/26/2023, 7:40 PM7:50 PM UTC
32-141

RelationalAI, Australia National University, MIT Julia Lab and JuliaHub present our work improving Julia's Garbage Collector performance and stability, and adding support for alternate GC backends, starting with the Memory Management Toolkit (MMTk).

19:50 UTC

What's new with JET.jl

07/26/2023, 7:50 PM8:00 PM UTC
32-141

JET.jl is a static code analyzer for Julia that is powered by Julia compiler's type inference system. This talk aims to introduce new features that have been added to JET over the past two years, as well as discuss the future plans of the project.

20:00 UTC

Quantum Mini Coffee Break

07/26/2023, 8:00 PM8:15 PM UTC
32-G449 (Kiva)

Taking a break from nonstop quantum information to recharge.

20:00 UTC

PackageAnalyzer.jl: analyzing the open source ecosystem & more!

07/26/2023, 8:00 PM8:30 PM UTC
26-100

We have developed PackageAnalyzer.jl in order to analyze the whole open source Julia ecosystem, but it can also be used to analyze private registries and dependency graphs too. In this talk we will give an update on the growth of the Julia ecosystem and how well best-practices such as CI, tests, and documentation have kept up with this growth, as well as show you how to use PackageAnalyzer to easily analyze your own dependency graph.

20:00 UTC

Profiling parallel Julia code with Nsight Systems and NVTX.jl

07/26/2023, 8:00 PM8:10 PM UTC
32-141

Understanding the performance of parallel code is tricky, however Julia can make it even more opaque: with asynchronous tasks, multithreading, distributed computing, garbage collection, GPU support and calls to many external libraries, getting a full understanding of what your code is doing can be rather complicated. This talk will describe how to use Nvidia Nsight Systems to understand what your parallel Julia code is doing.

20:00 UTC

FuzzyLogic.jl: productive fuzzy inference in Julia

07/26/2023, 8:00 PM8:10 PM UTC
32-123

This talk introduces FuzzyLogic.jl, a library for fuzzy inference, giving a tour of its features and design principles. Write your fuzzy model with an expressive Julia-like DSL or read your existing model from common formats, tune and explore with available algorithms and visualization tools, and generate efficient stand-alone Julia or C++ code for your final model. Finally, the talk will show how to use the library to solve engineering problems in control theory and image processing.

20:00 UTC

Thoughts for the Next Generation

07/26/2023, 8:00 PM8:30 PM UTC
32-D463 (Star)

The first version of Modelica was released in 1997. Today, over 25 years later, it is still going strong. At the same time, Julia is taking the numerical computing world by storm and ModelingToolkit is revisiting many of the topics and applications that drove the development of Modelica. This talk will highlight many of the important aspects of Modelica's design in the hope that these are taken to heart by the developers of the next generation of modeling and simulation tools.

20:00 UTC

Julia in the Catastrophe Business

07/26/2023, 8:00 PM8:10 PM UTC
32-124

This talk will illustrate the implementation of a pricing engine for the Reinsurance business, specifically for the Catastrophe Business. It will explain the specific problems we encountered at Ark Bermuda and the tools that Julia provides to aid in creating a corporate application

20:00 UTC

Phoenix or cyborg (3)

07/26/2023, 8:00 PM9:00 PM UTC
32-144

Several large projects on Earth system modelling are based on Julia. In a field where Fortran traditionally dominates model development we want to gather developers to share how we build Earth system software in Julia. Instead of sharing project surfaces, this minisymposium wants to look deeper into their anatomy. The phoenix: are we reinventing traditional coding structures in a new language? Or the cyborg: does Julia allow us to replace these structures with new, enhanced machinery?

20:10 UTC

Expronicon: a modern toolkit for meta-programming in Julia

07/26/2023, 8:10 PM8:20 PM UTC
32-141

Expronicon is a toolkit for metaprogramming in Julia, offering a rich set of functions for analyzing, transforming, and generating Julia expressions, first-class support of MLStyle's pattern matching, and type-stable algebra data types for efficient and simple code generation. Perfect for boosting productivity and improving coding efficiency.

20:10 UTC

MarkdownAST.jl: abstract syntax tree interface for Markdown

07/26/2023, 8:10 PM8:20 PM UTC
32-123

The MarkdownAST.jl package provides the APIs to work with Markdown documents in an abstract syntax tree (AST) representation. It positions itself as an interface package between packages that can generate the AST (e.g. parsers), and code that consumes it (e.g. renders).

20:10 UTC

Building a web API for dispersion modeling with Genie.jl

07/26/2023, 8:10 PM8:20 PM UTC
32-124

For the real-time online risk assessment in case of hazardous material release into the atmosphere, Genie.jl has been used to build a web service to run atmospheric dispersion models upon client requests that follow the OpenApi specification. Typical issues related to web API development have been addressed (authentication, DB management, server-to-client communication...). Moreover, multiple Julia packages for running dispersion models and operating on geospatial data have been developed.

20:15 UTC

Tensor network contraction order optimization algorithms

07/26/2023, 8:15 PM8:30 PM UTC
32-G449 (Kiva)

In this talk, I will introduce the algorithms used to find optimal contraction orders for tensor networks, which are implemented in the OMEinsumContractionOrders.jl package. These algorithms have a wide range of applications, including simulating quantum circuits, solving inference problems, and solving combinatorial optimization problems.

20:20 UTC

Quick Assembly of Personalized Voice Assistants with JustSayIt

07/26/2023, 8:20 PM8:30 PM UTC
32-123

We present an approach to quickly assemble fully personalized voice assistants with JustSayIt.jl. To assemble a voice assistant, it is sufficient to define a dictionary with command names as keys and objects representing actions as values. Objects of type Cmd, for example, will automatically open the corresponding application. To define application-specific commands - a key feature for voice assistants - a command dictionary can simply be tied to the Cmd-object triggering the application.

20:20 UTC

ScratchQuickSort: a faster version of QuickSort

07/26/2023, 8:20 PM8:30 PM UTC
32-141

ScratchQuickSort is a novel variation on QuickSort that is typically faster, always stable, and now Julia's default sorting algorithm for generic data.

20:30 UTC

Development of a meta analysis package for Julia

07/26/2023, 8:30 PM9:00 PM UTC
26-100

Meta analysis is a widely used statistical technique for pooling diverse study results. Julia does not have a meta analysis package. The goal of this talk is to present the steps and usage of a meta analysis package in pure Julia that I have developed and is in pre-alpha stage. I will explain the steps and processes of implementing fixed-effects and random-effects meta-analysis in Julia and construction of several plotting functions and advanced methods that are unique features of this package.

20:30 UTC

Julia through the lens of Policy Analysis: Applications

07/26/2023, 8:30 PM9:00 PM UTC
32-123

Standard use cases for Julia appeal to the scientific community writ large. In contrast, Julia has not been widely adopted the public policy community. This talk is meant to demonstrate how Julia is useful for public policy through several use cases. These use cases are: Misinformation and Adversarial Machine Learning in decision critical systems

20:30 UTC

QuantumCumulants.jl

07/26/2023, 8:30 PM9:00 PM UTC
32-G449 (Kiva)

QuantumCumulants.jl is a package for the symbolic derivation of generalized mean-field equations for quantum mechanical operators in open quantum systems. The equations are derived using fundamental commutation relations of operators. When averaging these equations they can be automatically expanded in terms of cumulants to an arbitrary order. This results in a closed set of symbolic differential equations, which can also be solved numerically.

20:30 UTC

What's new in the Julia extension for VS Code

07/26/2023, 8:30 PM8:40 PM UTC
32-141

The Julia extension for VS Code provides features that help with developing Julia packages and ease interactive coding. It is widely used in the Julia community and sees continuous development. This talk will go over features and enhancements introduced since last JuliaCon as well as future developments.

20:30 UTC

StochasticAD.jl: Differentiating discrete randomness

07/26/2023, 8:30 PM9:00 PM UTC
32-D463 (Star)

Automatic differentiation (AD) is great: use gradients to optimize, sample faster, or just for fun! But what about coin flips? Agent-based models? Nope, these aren’t differentiable... or are they? StochasticAD.jl is an open-source research package for AD of stochastic programs, implementing AD algorithms for handling programs that can contain discrete randomness.

20:40 UTC

SimpleMatch.jl, NotMacro.jl and ProxyInterfaces.jl

07/26/2023, 8:40 PM8:50 PM UTC
32-141

My super tiny helpers which may also help you. Let me present to you SimpleMatch.jl for nice inline dispatch, NotMacro.jl for using @not instead of !, and ProxyInterfaces.jl for quickly creating proxy types for Dicts, Arrays, etc..

21:00 UTC

Formalism-agnostic Quantum Hardware Simulation

07/26/2023, 9:00 PM9:30 PM UTC
32-G449 (Kiva)

The design of quantum hardware and the study of quantum algorithms require classical simulations of quantum dynamics. A rich ecosystem of simulation methods and algorithms has been developed over the last 20 years, each applicable to different sub-problems and efficient in different settings. We present a family of symbolic and numeric Julia packages that abstract away many of the methodology decisions, providing a way to focus on the hardware under study instead of the minutia of the methods.

21:30 UTC

Tree sweeping algorithms with ITensorNetworks.jl

07/26/2023, 9:30 PM9:45 PM UTC
32-G449 (Kiva)

ITensorNetworks.jl is an experimental package which aims to provide general tools for working with higher-dimensional tensor networks based on ITensors.jl. Among many novel features, I will focus on the generalization of one-dimensional sweeping algorithms to systems with arbitrary tree-like geometries, and highlight some promising applications.

21:45 UTC

Evolution of tensor network states with ITensorNetworks.jl

07/26/2023, 9:45 PM10:00 PM UTC
32-G449 (Kiva)

ITensorNetworks.jl is a new Julia package for manipulating and optimising tensor networks of arbitrary structure. I will introduce methods available in the package for evolving these tensor networks in time, allowing the simulation of a wide range of problems in many-body quantum systems. I will then demonstrate the application of these methods to simulate the kicked Ising model on the heavy-hex lattice.

22:00 UTC

Quantum BoF

07/26/2023, 10:00 PM11:00 PM UTC
32-G449 (Kiva)

In recent years the Julia language has seen increasing adoption in the quantum community, broadly defined. We propose to organize two back-to-back minisymposia on the theme of "Julia and quantum," including quantum computing, condensed matter physics, quantum chemistry. The talks would be addressed to both current and future experts.

22:00 UTC

Poster Session + Appetizers

07/26/2023, 10:00 PM12:00 AM UTC
26-100

Come check out this years JuliaCon 2023 posters. Poster session will happen in Stata and there will be food around.

23:00 UTC

Julia productivity enhancement with Boilerplate.jl

07/26/2023, 11:00 PM11:03 PM UTC
32-G449 (Kiva)

Anybody who works with data is likely to face with challenges to understand the underlieing data. Many times we use boilerplate codes. Boilerplate.jl is here to rescue and also we collected many more useful code.

23:05 UTC

C/C++ fans

07/26/2023, 11:05 PM11:08 PM UTC
32-G449 (Kiva)

Julia is different from CPP for many reasons. Path of the process is the learning curve for many new academics and researchers joining the community in drove. There are many interesting obstacles and features that could bring Julia into a more mainstream choice for many academics.

Platinum sponsors

JuliaHub

Gold sponsors

ASML

Silver sponsors

Pumas AIQuEra Computing Inc.Relational AIJeffrey Sarnoff

Bronze sponsors

Jolin.ioBeacon BiosignalsMIT CSAILBoeing

Academic partners

NAWA

Local partners

Postmates

Fiscal Sponsor

NumFOCUS