Projects

FlatPPL

A probabilistic programming language for physics models. A FlatPPL program describes a model as a DAG and leaves the analysis to a host language.

It is in early development, with a browser playground, an alpha Python interface that compiles queries to JAX, and a VS Code extension. We are looking for collaborators. See the FlatPPL website and organisation, or email me or Oliver Schulz.

BAT.jl

The Bayesian Analysis Toolkit in Julia: sampling, integration, and parameter inference for physics models.

JuliaBayes

JuliaBayes brings together Bayesian software in Julia, with shared maintenance and collaboration across research groups and probabilistic programming languages. It is home to EnsembleMCMC.jl, alongside packages such as FlexiChains.jl. Join us in #bayes on Julia Slack if you would like to get involved.

PureRNGs.jl

Counter-based random numbers with explicit state, on CPU and GPU. Each draw returns the next generator and leaves the original unchanged.

Source · Documentation

Tandem

A pseudorandom number generator that is fast on CPUs and GPUs alike. One specification gives the same bit-exact stream in eighteen ports, from Julia, C, and Rust to CUDA and WebGPU.

Website · Source · Julia package

LinearTrees.jl

Decision trees with linear models along their paths, and gradient-boosted ensembles of them. For data with both smooth trends and abrupt changes. Also includes continuous multivariate regression trees with Student-t predictive uncertainty.

Source · Documentation

EnsembleMCMC.jl

Gradient-free ensemble MCMC with stretch, differential-evolution, snooker, and Gaussian replacement moves.

Source · Documentation

ImportanceSamplers.jl

Plain, multiple, and adaptive importance sampling, threaded on CPU and with GPU paths.

Source · Documentation

fido2kpxc

A macOS menu-bar app that unlocks KeePassXC with a FIDO2 security key and a PIN.

Source · Website

fido2lock

A macOS menu-bar app that locks the screen when you remove your FIDO2 security key.

Source · Website

This site

Markdown in, website out.