Condense the project index: merge related categories, shorten descriptions
1 changed file+19−52
profile/README.mdmodified+19−52View file
@@ -2,51 +2,32 @@
22
33 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](https://numbl.org).
44
5-## MATLAB syntax in Jupyter, all in the browser
5+## Interactive numerical methods
66
7-Here's a proof of concept for running MATLAB syntax in Jupyter entirely client side (no kernel, no server). It uses numbl and JupyterLite.
7+Methods from the numerical literature that you can watch run and adjust, computed client side by numbl (MATLAB syntax in the browser).
88
9-- **[jupyterlite-numbl-kernel](https://github.com/concept-collection/jupyterlite-numbl-kernel)** · [live](https://concept-collection.github.io/jupyterlite-numbl-kernel/)
9+- **[hitandrun-interactive](https://github.com/concept-collection/hitandrun-interactive)** · [live](https://concept-collection.github.io/hitandrun-interactive/#figure/sampler) · the hit-and-run MCMC sampler
10+- **[walnuts-interactive](https://github.com/concept-collection/walnuts-interactive)** · [live](https://concept-collection.github.io/walnuts-interactive/#figure/sampler) · the WALNUTS sampler, running the paper's own companion MATLAB code
11+- **[barycentric-rational](https://github.com/concept-collection/barycentric-rational)** · [live](https://concept-collection.github.io/barycentric-rational/) · Floater-Hormann rational interpolation, pole-free on any nodes; the method is a MATLAB script you edit in the page
1012
11-## Interactive MCMC samplers
13+## numbl tooling: Jupyter, embedding, IDEs
1214
13-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.
15+Ways to write, run, and share MATLAB-syntax code in the browser, all client side (plus a Stan variant of the IDE).
1416
15-- **[hitandrun-interactive](https://github.com/concept-collection/hitandrun-interactive)** · [live](https://concept-collection.github.io/hitandrun-interactive/#figure/sampler)
16-- **[walnuts-interactive](https://github.com/concept-collection/walnuts-interactive)** · [live](https://concept-collection.github.io/walnuts-interactive/#figure/sampler)
17+- **[jupyterlite-numbl-kernel](https://github.com/concept-collection/jupyterlite-numbl-kernel)** · [live](https://concept-collection.github.io/jupyterlite-numbl-kernel/) · MATLAB syntax in Jupyter, no kernel server
18+- **[numbl-embed-example](https://github.com/concept-collection/numbl-embed-example)** · [live](https://concept-collection.github.io/numbl-embed-example/) · embed numbl in your own page
19+- **[numbl-project-example](https://github.com/concept-collection/numbl-project-example)** · [live](https://concept-collection.github.io/numbl-project-example/) · host a numbl project as a static site
20+- **[numbl-web-ide](https://github.com/concept-collection/numbl-web-ide)** · [live](https://concept-collection.github.io/numbl-web-ide/) · a VS Code–style IDE for MATLAB syntax
21+- **[stan-web-ide](https://github.com/concept-collection/stan-web-ide)** · [live](https://concept-collection.github.io/stan-web-ide/) · the same IDE for Stan
22+- **[numbl-figure-viewer](https://github.com/concept-collection/numbl-figure-viewer)** · [live](https://concept-collection.github.io/numbl-figure-viewer/) · open a figure exported from numbl, underlying data included
1723
18-## Barycentric rational interpolation
24+## surfacefun & chunkie examples
1925
20-An interactive companion to Floater and Hormann's family of rational interpolants, which have no poles anywhere on the real line and reach approximation order *h*<sup>*d*+1</sup> however the interpolation points are distributed. The method is a MATLAB-syntax script you edit in the page; swap in weights that do not alternate in sign and watch the poles appear.
21-
22-- **[barycentric-rational](https://github.com/concept-collection/barycentric-rational)** · [live](https://concept-collection.github.io/barycentric-rational/)
23-
24-## Embedding & hosting numbl projects
25-
26-Here are a couple of projects that let you embed or host your own numbl/MATLAB projects entirely client side.
27-
28-- **[numbl-embed-example](https://github.com/concept-collection/numbl-embed-example)** · [live](https://concept-collection.github.io/numbl-embed-example/)
29-- **[numbl-project-example](https://github.com/concept-collection/numbl-project-example)** · [live](https://concept-collection.github.io/numbl-project-example/)
30-
31-## VS Code–style IDEs
32-
33-Here are a couple of VS Code–style IDEs that run entirely in the browser: one for MATLAB syntax (via numbl), one for Stan.
34-
35-- **[numbl-web-ide](https://github.com/concept-collection/numbl-web-ide)** · [live](https://concept-collection.github.io/numbl-web-ide/)
36-- **[stan-web-ide](https://github.com/concept-collection/stan-web-ide)** · [live](https://concept-collection.github.io/stan-web-ide/)
37-
38-## surfacefun examples
39-
40-[Surfacefun](https://surfacefun.readthedocs.io/en/latest/) 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.
26+[Surfacefun](https://surfacefun.readthedocs.io/en/latest/) (functions and PDEs on surfaces) and [chunkie](https://chunkie.readthedocs.io/en/latest/) (boundary integral equations in 2D) are MATLAB packages; these examples run them in the browser via numbl.
4127
4228 - **[numbl-surfacefun-intro](https://github.com/concept-collection/numbl-surfacefun-intro)** · [live](https://concept-collection.github.io/numbl-surfacefun-intro/)
4329 - **[surfacefun-interactive](https://github.com/concept-collection/surfacefun-interactive)** · [live](https://concept-collection.github.io/surfacefun-interactive/)
4430 - **[mesh-pde-solver](https://github.com/concept-collection/mesh-pde-solver)** · [live](https://concept-collection.github.io/mesh-pde-solver/)
45-
46-## chunkie examples
47-
48-[Chunkie](https://chunkie.readthedocs.io/en/latest/) is a MATLAB package for solving boundary integral equations in two dimensions. Here are some examples that run chunkie via numbl in the browser.
49-
5031 - **[numbl-chunkie](https://github.com/concept-collection/numbl-chunkie)** · [live](https://concept-collection.github.io/numbl-chunkie/)
5132
5233 ## MRI pulse sequences
@@ -65,17 +46,12 @@ Here are spherical harmonic transforms reimplemented from scratch as WebGPU comp
6546 - **[turing-surface](https://github.com/concept-collection/turing-surface)** · [live](https://concept-collection.github.io/turing-surface/)
6647 - **[turing-surface-cache](https://github.com/concept-collection/turing-surface-cache)** · [live](https://concept-collection.github.io/turing-surface-cache/)
6748
68-## MATLAB scripts on WebGPU
69-
70-A sandbox that compiles MATLAB-syntax scripts to fused WebGPU compute kernels and times them with the script's own `tic`/`toc` — paste the same script into real MATLAB to compare. Built on numbl's compiler front end.
71-
72-- **[math-webgpu-sandbox](https://github.com/concept-collection/math-webgpu-sandbox)** · [live](https://concept-collection.github.io/math-webgpu-sandbox/)
49+## Browser compute benchmarks
7350
74-## Matrix multiplication benchmark
51+How fast the browser can crunch numbers.
7552
76-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.
77-
78-- **[matmul-bench](https://github.com/concept-collection/matmul-bench)** · [live](https://concept-collection.github.io/matmul-bench/)
53+- **[math-webgpu-sandbox](https://github.com/concept-collection/math-webgpu-sandbox)** · [live](https://concept-collection.github.io/math-webgpu-sandbox/) · MATLAB-syntax scripts compiled to fused WebGPU kernels, timed with the script's own `tic`/`toc`; paste the same script into real MATLAB to compare
54+- **[matmul-bench](https://github.com/concept-collection/matmul-bench)** · [live](https://concept-collection.github.io/matmul-bench/) · GEMM in plain JavaScript, WebGPU, SIMD and threaded WASM, and a WASM BLAS, with a native reference
7955
8056 ## Lazy reading of remote HDF5 files
8157
@@ -100,15 +76,6 @@ Here's a dictation notepad that transcribes as you speak and never sends your au
10076
10177 ## Other projects
10278
103-### numbl platform: templates & tooling
104-
105-Utilities and starting points for building your own
106-[numbl](https://numbl.org) projects.
107-
108-- **[numbl-figure-viewer](https://github.com/concept-collection/numbl-figure-viewer)**
109- ([live](https://concept-collection.github.io/numbl-figure-viewer/)).
110- Open and explore a figure exported from numbl, including its underlying data.
111-
11279 ### Peer-to-peer shared state
11380
11481 - **[commonroom](https://github.com/concept-collection/commonroom)**