/ concept-collection / dot-github
concept-collection / dot-github
dot-github / profile / README.md
15.3 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.

Interactive numerical methods#

Methods from the numerical literature that you can watch run and adjust, computed client side by numbl (MATLAB syntax in the browser).

numbl tooling: Jupyter, embedding, IDEs#

Ways to write, run, and share MATLAB-syntax code in the browser, all client side (plus a Stan variant of the IDE).

surfacefun & chunkie examples#

Surfacefun (functions and PDEs on surfaces) and chunkie (boundary integral equations in 2D) are MATLAB packages; these examples run them in the browser via numbl.

MRI pulse sequences#

Pulseq is an open framework for defining MRI pulse sequences. Here you can write pulseq sequences in MATLAB syntax and run them in the browser via numbl to generate a .seq file, upload and interactively explore an existing one, or simulate one on a digital phantom to see the raw k-space it acquires.

Spherical harmonics on the GPU#

Here are spherical harmonic transforms reimplemented from scratch as WebGPU compute shaders, modeled on SHTNS, together with a live reaction-diffusion solver built on them: Turing patterns forming on a sphere, with diffusion handled implicitly in spectral space where the Laplace-Beltrami operator is diagonal. turing-surface extends the solver from the round sphere to closed surfaces given by spherical-harmonic embeddings, and turing-surface-cache narrows it to a discrete menu of parameter choices whose solutions at a chosen end time are shared between all visitors through a cloud cache.

Browser compute benchmarks#

How fast the browser can crunch numbers.

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, an interactive study of how compressible quantized noisy time series are, a framework for benchmarking compression algorithms on scientific data arrays, and compression benchmarks for electrophysiology recordings.

Speech to text in the browser#

Here's a dictation notepad that transcribes as you speak and never sends your audio anywhere: Whisper and Moonshine run locally via transformers.js, on WebGPU where it's available. The transcript accumulates into a document you can edit and copy.

Other projects#

Documents#

Peer-to-peer shared state#

Geometry, meshing & PDE solvers#

Neurophysiology data & remote access#

Physics & quantum systems#

Image processing#

Number theory & visual math#