Software

Selected open-source projects. Most of my software is developed in the open on GitHub.

Screenshot of Numbl

Numbl

Open-source MATLAB-compatible computing environment that runs .m files in the browser and on the command line; early stage (with Dan Fortunato).

Screenshot of mip

mip

Package manager for MATLAB and numbl: dependencies, precompiled MEX binaries, and path management; early stage (with Dan Fortunato).

Screenshot of Neurosift

Neurosift

Browser-based visualization of NWB (Neurodata Without Borders) files and interactive exploration of the DANDI Archive, EMBER Archive, and OpenNeuro (with the CatalystNeuro team).

Screenshot of Figpack

Figpack

Python package for interactive scientific visualizations as self-contained HTML bundles: portable, reproducible, and suitable for long-term archiving.

Screenshot of Stan Playground

Stan Playground

Browser-based editor and runtime for Stan models: edit, compile, run, and analyze results with no local installation (with Brian Ward and Jeff Soules).

Screenshot of DANDI AI Notebooks

DANDI AI Notebooks

AI-powered chat assistant and automated notebook generator for exploring neurophysiology datasets in the DANDI Archive (with Ben Dichter, Ryan Ly, and Oliver Ruebel).

Screenshot of Isosplit

Isosplit

Non-parametric clustering with no adjustable parameters, based on Hartigan's dip statistic and isotonic regression.

Screenshot of LINDI

LINDI

Cloud-friendly file format and Python library for NWB data, compatible with HDF5 and Zarr and designed for linking to remote datasets (with the NWB team).

Screenshot of simple_ans

simple_ans

Simple, efficient lossless compression of integer datasets via Asymmetric Numeral Systems.

Screenshot of Neurosift chat

Neurosift chat

Experimental AI chat assistant for exploring the DANDI Archive and OpenNeuro.

Screenshot of Spurious Discovery Tests

Spurious Discovery Tests

Synthetic experiments probing whether large language models avoid false discoveries when analyzing datasets with no underlying signal.

Screenshot of minicline

minicline

Command-line and Python interface for software engineering tasks with large language models.

Screenshot of MCMC Monitor

MCMC Monitor

Real-time tracking and diagnostic visualization of Stan MCMC runs in the browser (with Jeff Soules).

Screenshot of nbfiddle

nbfiddle

Web-based Jupyter notebook interface using browser storage, designed for self-contained analysis notebooks with remote data sources.

Screenshot of SpikeInterface

SpikeInterface

Unified Python framework for spike sorting and electrophysiology analysis; part of the original team.

Screenshot of FINUFFT

FINUFFT

Fast, parallel library for the nonuniform fast Fourier transform on CPU and GPU; co-developed the original version with Alex Barnett.

Screenshot of Remfile

Remfile

File-like object for reading remote files over HTTP, optimized for h5py.

Also: the Concept Collection, a set of small proof-of-principle examples and interactive demos, many runnable directly in the browser.

Older projects

  • Figurl — shareable interactive figures; replaced by figpack
  • Kachery — content-addressed storage for sharing scientific data; replaced by figpack
  • SortingView — interactive spike-sorting visualizations; replaced by figpack
  • MountainSort 4 — replaced by MountainSort 5
  • SequenceTree — visual MRI pulse sequence programming