These are the projects I'm currently most proud of and excited about:

I've authored a course on Julia Programming for Machine Learning at TU Berlin.

An common interface to most automatic differentiation backends in the Julia ecosystem.
Work with Guillaume Dalle.

Fast operator-overloading Jacobian and Hessian sparsity detection.

Blog posts on best practices for Julia development. Goes into detail on how to write, debug, profile, optimize and share code in form of a Julia package.
Work with Guillaume Dalle and Jacobus Smit.

Probably the world's most sophisticated dithering software. 30 dithering algorithms that can be applied in black & white, per color channel or using arbitrary color palettes. Includes automatic color palette generation and Unicode outputs.

Explainable AI

The Julia-XAI organization hosts Explainable AI methods written in Julia, with a focus on post-hoc, local input-space explanations of black-box models. In simpler terms, methods that try to answer the question "Which part of the input is responsible for the model's output?".

Collection of Explainable AI methods in Julia. Classical Gradient-based methods, input augmentations and GradCAM.

Layerwise Relevance Propagation and Concept Relevance Propagation for use with Flux.jl. Includes state of the art rules for Vision Transformers.

Core package defining the interface of the Julia-XAI ecosystem.

Heatmaps for vision models. For use with or without Julia-XAI methods.

Heatmaps for language models. For use with or without Julia-XAI methods.

Other packages

Julia macros to surf the web, browse code, and file issues from the comfort of your REPL.

Julia reimplementation of Total Variation Regularized Numerical Differentiation.

Color quantization algorithms for automatic color palette generation.

Scrape BoardGameGeek.com, the IMDB of board games. I originally wrote this package for a data analysis blog post that never happened.

Convert Jupyter notebooks to Pluto notebooks. Initially written for the JuML course.

Data loader for the ImageNet 2012 Classification Dataset.

Julia Testsets with points. Written to grade homework for the JuML course.

Collaborations & Maintenance

Explainable AI methods in TensorFlow / Keras.

Obfuscate your Julia code by replacing it with emoji. Includes some horrible (great) puns.
Work with Théo Galy-Fajou.

Visualize arrays in the REPL using braille or block unicode symbols. Real fast and dependency free.


My old NixOS configuration using Sway. Currently being migrated to macOS.

Code under MIT license, text CC BY-SA 4.0, Adrian Hill.
Built with ♥, Franklin.jl and Julia using Open Color.
Last modified on May 28, 2024.