Subscribe:   RSS icon   twitter icon

Julia

This is a list of resources and articles about the Julia language.

News

18/1/2021 9:17 Julia Update: Adoption Keeps Climbing; Is It a Python Challenger?: “The rapid adoption of Julia, the open source, high level programing language with roots at MIT, shows no sign of slowing”
4/1/2021 9:59 Typed vs. Untyped Dict Performance in Julia: An interesting case study showing a massive speedup and reduction in memory allocation gained from a type declaration.
11/12/2020 9:15 DEC2D.jl: Discrete Exterior Calculus 2D
21/11/2020 9:09 PipelessPipes.jl - Even More Convenient Piping: “it allows to omit pipe operators, it implicitly assumes first argument piping if not otherwise stated explicitly, it allows for more helpful error highlighting and enables you to interject arbitrary statements into the pipeline for debugging.”
20/11/2020 8:11 Fuzzy completions: In Pluto, the computational notebook for Julia.
6/11/2020 13:28 NeuriViz (Part 1) - Performant Graphics for Neuroinformatics: “an open experiment”.
3/11/2020 10:00 An Introduction to Pluto: Pluto is a new computational notebook for the Julia programming language. My article about it appeared today in LWN. Please consider subscribing while you’re there, to help support future articles.
25/10/2020 9:52 Epidemiological Modeling With Structured Cospans: “This is a wonderful development! Micah Halter and Evan Patterson have taken my work on structured cospans with Kenny Courser and open Petri nets with Jade Master, together with Joachim Kock’s whole-grain Petri nets, and turned them into a practical software tool!”
20/10/2020 18:37 The Accelerating Adoption of Julia on Hacker News: My article has been on the front page of Hacker News most of today. If the subject interests you, you might want to take a look, as there are some really knowledgeable people commenting there.
20/10/2020 10:00 The accelerating adoption of Julia: My article about the programming language Julia appeared today in LWN. This is a free link for my readers. Please consider subscribing while you’re there, to support the publication of articles like this in the future.
17/10/2020 12:33 World Age in Julia: “Dynamic programming languages face semantic and performance challenges in the presence of features, such as eval, that can inject new code into a running program. The Julia programming language introduces the novel concept of world age to insulate optimized code from one of the most disruptive side-effects ofeval: changes to the definition of an existing function. This paper provides the first formal semantics of world age in a core calculus named Juliette, and shows how world age enables compiler optimizations, such as inlining, in the presence of eval.”
9/10/2020 20:03 The Unreasonable Effectiveness of the Julia Programming Language: My article about Julia and science in Ars Technica.
20/8/2020 12:56 The JuliaMono Typeface: some glyphs Today I learned that Julia has its own typeface. It has huge Unicode coverage, with 10,028 glyphs.
3/8/2020 13:44 Julia 1.5 Highlights: The new release of the most advanced language for scientific computing features significant improvements in convenience and performance.
23/7/2020 1:08 The Top Programming Languages: Julia is #19, breaking into the top 20 for the first time.
11/7/2020 1:58 Programming languages: Julia touts its speed edge over Python and R | ZDNet: Benchmarks suggest programming language Julia may be the best choice for big-data analysis using CSV format files.
10/6/2020 11:01 JuliaCon 2020 Goes Online: Register now, free of charge, to reserve your spot.
27/5/2020 0:26 Oceananigans.jl: oceananigans “Fast and friendly fluid dynamics on CPUs and GPUs”
19/5/2020 21:49 OSCAR Computer Algebra System: A symbolic mathematics library for Julia, in an early stage of development.
10/5/2020 10:05 Turing.jl: “Bayesian inference with probabilistic programming”—a Julia package written in Julia.
5/5/2020 12:41 Coming in Julia 1.5: Time Traveling (Linux) Bug Reporting: “If you can reproduce it on a linux machine and get us a trace from the rr tool https://rr-project.org/, we can probably get it fixed for you very rapidly. For the uninitiated, rr is a Linux debugging tool originally developed at Mozilla by Robert O’Callahan and others. It is a tool known as a ‘time traveling debugger’ or ‘reverse execution engine’.”
10/4/2020 18:15 Announcing Gnuplot v1.1.0 - A Julia interface to gnuplot: “the first production ready version of Gnuplot.jl, a package to drive an external gnuplot 16 process from Julia.”
9/8/2018 12:46 Julia 1.0 is here: Back in 2014 I thought that Julia might become the preferred language for numerically intensive computing. It’s already made impressive inroads in this area, and the arrival of v.1.0, with its promise of a long future of non-breaking language development, can only accelerate its adoption.
1/6/2018 14:46 Julia Keeps Getting Better: As release 1.0 of the numerical/scientific language Julia was approaching, here was one man’s list of favorite new features.
11/11/2015 12:51 Great News for the Julia Language: A $600,000 grant to help get to the 1.0 release.
15/9/2014 22:40 Vectorization with Julia: Detailed article on SIMD vectorization in Julia 0.3.
21/8/2014 20:06 Julia 0.3 Released: The latest release contains numerous performance, library, and REPL enhancements.
11/7/2014 16:34 Web development in Julia: A progress report.: First steps [2014].
7/7/2014 14:07 GraphLayout.jl: “Graph layout algorithms in pure Julia. Currently only has the spring-based method of Fruchterman and Reingold (1991), but more can and will be added.”
1/7/2014 10:06 JuliaCon Presentation Slides: The Julia language’s first conference has recently wound up and the PDFs of the slide decks are available here. Just click on the topic you want to see and then on the filename to download (from 2014).

Documentation and tutorials

Julia for Beginners: “A beginner-friendly guide to the Julia programming language. […] This book engages the reader with fun programming examples involving building and launching a rocket, implementing simple encryption algorithms used by Roman armies, and simulating a mechanical calculator.”
The Julia Package Manager: A brief introduction to packages, environments, and making your own package.
Functional One-Liners in Julia: A clear tutorial with illustrative examples.
How do Recipes actually work?: This is a great resource for quickly coming up to speed with plot recipes. It has useful examples and explains how things work under the hood.
Julia By Example: Learn basic Julia syntax by example, plus four plotting packages and a taste of DataFrames.
A quick introduction to data parallelism in Julia: “If you have a large collection of data and have to do similar computations on each element, data parallelism is an easy way to speedup computation using multiple CPUs […] A major hurdle for using data parallelism is that you need to unlearn some habits useful in sequential computation […] In particular, it is important to use libraries that help you describe what to compute rather than how to compute. Practically, it means to use generalized form of map and reduce operations and learn how to express your computation in terms of them. Luckily, if you already know how to write iterator comprehensions, there is not much more to learn for accessing a large class of data parallel computations.”
Six Months With Julia: Parse-time Transpilation in 80 Lines or Less: A case study in applying Julia’s string macros to allow it to read a different language.
Why I Wrote a Julia Programming Book: Julia as a general-purpose language, and as a good choice for teaching.
Ditch Excel and Use Julia Data Frames: A really useful tutorial showing how to use Julia to parse and analyse data from a CSV file.

Libraries

tullio: “Tullio is a very flexible einsum macro. It understands many array operations written in index notation”.
Javis.jl: Julia Animations and Visualizations: Animation library, still in early stages of development. An interesting feature is LaTeX support.
Revise.jl: Automatically update function definitions in a running Julia session: “Revise.jl allows you to modify code and use the changes without restarting Julia. With Revise, you can be in the middle of a session and then update packages, switch git branches, and/or edit the source code in the editor of your choice; any changes will typically be incorporated into the very next command you issue from the REPL. This can save you the overhead of restarting Julia, loading packages, and waiting for code to JIT-compile.”
Oceananigans.jl: oceananigans “Fast and friendly fluid dynamics on CPUs and GPUs”
Measurements.jl: “Error propagation calculator and library for physical measurements. It supports real and complex numbers with uncertainty, arbitrary precision calculations, operations with arrays, and numerical integration.”
DEC2D.jl: Discrete Exterior Calculus 2D
Announcing Gnuplot v1.1.0 - A Julia interface to gnuplot: “the first production ready version of Gnuplot.jl, a package to drive an external gnuplot 16 process from Julia.”
PipelessPipes.jl - Even More Convenient Piping: “it allows to omit pipe operators, it implicitly assumes first argument piping if not otherwise stated explicitly, it allows for more helpful error highlighting and enables you to interject arbitrary statements into the pipeline for debugging.”

Other

Julia 1.5 Highlights: The new release of the most advanced language for scientific computing features significant improvements in convenience and performance.
Javis.jl: Julia Animations and Visualizations: Animation library, still in early stages of development. An interesting feature is LaTeX support.
How do Recipes actually work?: This is a great resource for quickly coming up to speed with plot recipes. It has useful examples and explains how things work under the hood.
Julia: dynamism and performance reconciled by design: “Julia is a programming language for the scientific community that combines features of productivity languages, such as Python or MATLAB, with characteristics of performance-oriented languages, such as C++ or Fortran. […] This paper details the design choices made by the creators of Julia and reflects on the implications of those choices for performance and usability.”
A quick introduction to data parallelism in Julia: “If you have a large collection of data and have to do similar computations on each element, data parallelism is an easy way to speedup computation using multiple CPUs […] A major hurdle for using data parallelism is that you need to unlearn some habits useful in sequential computation […] In particular, it is important to use libraries that help you describe what to compute rather than how to compute. Practically, it means to use generalized form of map and reduce operations and learn how to express your computation in terms of them. Luckily, if you already know how to write iterator comprehensions, there is not much more to learn for accessing a large class of data parallel computations.”
DEC2D.jl: Discrete Exterior Calculus 2D
Julia for Beginners: “A beginner-friendly guide to the Julia programming language. […] This book engages the reader with fun programming examples involving building and launching a rocket, implementing simple encryption algorithms used by Roman armies, and simulating a mechanical calculator.”
An Introduction to Pluto: Pluto is a new computational notebook for the Julia programming language. My article about it appeared today in LWN. Please consider subscribing while you’re there, to help support future articles.
World Age in Julia: “Dynamic programming languages face semantic and performance challenges in the presence of features, such as eval, that can inject new code into a running program. The Julia programming language introduces the novel concept of world age to insulate optimized code from one of the most disruptive side-effects ofeval: changes to the definition of an existing function. This paper provides the first formal semantics of world age in a core calculus named Juliette, and shows how world age enables compiler optimizations, such as inlining, in the presence of eval.”
The Top Programming Languages: Julia is #19, breaking into the top 20 for the first time.
tullio: “Tullio is a very flexible einsum macro. It understands many array operations written in index notation”.
Revise.jl: Automatically update function definitions in a running Julia session: “Revise.jl allows you to modify code and use the changes without restarting Julia. With Revise, you can be in the middle of a session and then update packages, switch git branches, and/or edit the source code in the editor of your choice; any changes will typically be incorporated into the very next command you issue from the REPL. This can save you the overhead of restarting Julia, loading packages, and waiting for code to JIT-compile.”
Epidemiological Modeling With Structured Cospans: “This is a wonderful development! Micah Halter and Evan Patterson have taken my work on structured cospans with Kenny Courser and open Petri nets with Jade Master, together with Joachim Kock’s whole-grain Petri nets, and turned them into a practical software tool!”
Why I Wrote a Julia Programming Book: Julia as a general-purpose language, and as a good choice for teaching.
Unification in Julia: “Unification is a workhorse of symbolic computations.”
Matlab vs. Julia vs. Python: He came from Matlab but he has explored the wilderness. And he can write; not many articles about computer languages are pleasant to read.
The 6th annual JuliaCon 2019 (Baltimore): A collection of videos from the conference.
The Accelerating Adoption of Julia on Hacker News: My article has been on the front page of Hacker News most of today. If the subject interests you, you might want to take a look, as there are some really knowledgeable people commenting there.
The JuliaMono Typeface: some glyphs Today I learned that Julia has its own typeface. It has huge Unicode coverage, with 10,028 glyphs.
Forecasting the weather with neural ODEs: Using Julia to forecast the weather with machine learning techniques.
Julia Update: Adoption Keeps Climbing; Is It a Python Challenger?: “The rapid adoption of Julia, the open source, high level programing language with roots at MIT, shows no sign of slowing”
Physics-informed neural networks (PINNs) solver on Julia.: “My project aim was to design a general solver for different types of PDEs using a deep learning approach base on the Physics-informed neural networks(PINNs) algorithm as part of NeuralPDE library using the ModelingToolkit PDE interface for the automated solution.”
Measurements.jl: “Error propagation calculator and library for physical measurements. It supports real and complex numbers with uncertainty, arbitrary precision calculations, operations with arrays, and numerical integration.”
Oceananigans.jl: oceananigans “Fast and friendly fluid dynamics on CPUs and GPUs”
Typed vs. Untyped Dict Performance in Julia: An interesting case study showing a massive speedup and reduction in memory allocation gained from a type declaration.
PipelessPipes.jl - Even More Convenient Piping: “it allows to omit pipe operators, it implicitly assumes first argument piping if not otherwise stated explicitly, it allows for more helpful error highlighting and enables you to interject arbitrary statements into the pipeline for debugging.”
Announcing composable multi-threaded parallelism in Julia: New in v. 1.3: a very nice task parallelism interface.
The accelerating adoption of Julia: My article about the programming language Julia appeared today in LWN. This is a free link for my readers. Please consider subscribing while you’re there, to support the publication of articles like this in the future.
The Unreasonable Effectiveness of the Julia Programming Language: My article about Julia and science in Ars Technica.
The Julia Package Manager: A brief introduction to packages, environments, and making your own package.
An introduction to the Julia language, part 2: The second and final part of my article on Julia appeared today in LWN. Please consider subscribing to this fine publication while you’re there.
Fuzzy completions: In Pluto, the computational notebook for Julia.
Programming languages: Julia touts its speed edge over Python and R | ZDNet: Benchmarks suggest programming language Julia may be the best choice for big-data analysis using CSV format files.
The Unreasonable Effectiveness of Recipe Analogies: On an article about the programming language Julia.
Multiple Dispatch In Perl: A valuable explanation of the enhanced software extendability that multiple dispatch provides, using Perl as an example.
Announcing Gnuplot v1.1.0 - A Julia interface to gnuplot: “the first production ready version of Gnuplot.jl, a package to drive an external gnuplot 16 process from Julia.”
The best tool for CVs with publication lists.

Share with Facebook Share with Twitter Share with Reddit Share with StumbleUpon Share with Digg Share with Slashdot
▶ Comment
lee-phillips.org is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to amazon.com.
Quotilizer ... loading ...

Tenuously related: