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.
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.
EnsembleMCMC.jl
Gradient-free ensemble MCMC with stretch, differential-evolution, snooker, and Gaussian replacement moves.
ImportanceSamplers.jl
Plain, multiple, and adaptive importance sampling, threaded on CPU and with GPU paths.
fido2kpxc
A macOS menu-bar app that unlocks KeePassXC with a FIDO2 security key and a PIN.
fido2lock
A macOS menu-bar app that locks the screen when you remove your FIDO2 security key.
This site
Markdown in, website out.