/ concept-collection / dot-github
Sign in
concept-collection / dot-github
dot-github / profile / README.md
10.0 KBPreviewCodeBlameHistoryRaw

Concept Collection#

This is a collection of random small projects and demos, most of which can be run entirely in the web browser (client side). Many of them are centered around the numbl project.

MATLAB syntax in Jupyter, all in the browser#

Here's a proof of concept for running MATLAB syntax in Jupyter entirely client side (no kernel, no server). It uses numbl and JupyterLite.

Interactive MCMC samplers#

Here are a couple of demonstrations of MCMC samplers that you can watch run. They use numbl (MATLAB syntax in the browser) to do the sampling client-side in the browser. In the case of WALNUTS (the within-orbit adaptive leapfrog No-U-Turn Sampler), we use the exact MATLAB code that is a companion to the paper.

Embedding & hosting numbl projects#

Here are a couple of projects that let you embed or host your own numbl/MATLAB projects entirely client side.

VS Code–style IDEs#

Here are a couple of VS Code–style IDEs that run entirely in the browser: one for MATLAB syntax (via numbl), one for Stan.

surfacefun examples#

Surfacefun is a MATLAB package for computing with functions defined on surfaces and solving PDEs on them to high order. Here are some examples that run surfacefun via numbl in the browser.

chunkie examples#

Chunkie is a MATLAB package for solving boundary integral equations in two dimensions. Here are some examples that run chunkie via numbl in the browser.

Matrix multiplication benchmark#

Here's a benchmark of matrix-matrix multiply (GEMM) in the browser across several implementations: a plain JavaScript loop, WebGPU, hand-written C compiled to WASM (SIMD and threads), and a real BLAS (libFLAME) compiled to WASM, with a native reference for comparison.

Lazy reading of remote HDF5 files#

Here's a demo of reading large remote HDF5 files, such as NWB neurophysiology files, directly in the browser using HTTP range requests, with no full download and no backend. It shows the approach that neurosift uses to browse these files.

Scientific data compression#

Here are a few projects on compressing scientific data: a step-by-step visualizer for the Asymmetric Numeral Systems (ANS) entropy-coding algorithm, a framework for benchmarking compression algorithms on scientific data arrays, and compression benchmarks for electrophysiology recordings.

Other projects#

numbl platform: templates & tooling#

Utilities and starting points for building your own numbl projects.

Peer-to-peer shared state#

Geometry, meshing & PDE solvers#

Neurophysiology data & remote access#

Physics & quantum systems#

Image processing#

Number theory & visual math#

moveopenescclose