Mike Bostock
banner
ocks.org
Mike Bostock
@ocks.org
Visualization toolmaker. Founder of Observable. Creator of D3. Former NYT Graphics. Pronounced BOSS-tock.
Observable Plot has crossed 100,000 weekly downloads (and very close to 5,000⭐️s)! observablehq.observablehq.cloud/oss-analytic...
September 16, 2025 at 3:16 PM
If we keep adding languages, we’re gonna need a bigger cell menu…
September 16, 2025 at 5:10 AM
Observable Notebook Kit & Desktop 1.4 now support TypeScript cells, along with TypeScript for Node.js data loader cells. (Just type stripping, but greatly helps interoperability.)
September 16, 2025 at 5:05 AM
A small but significantly useful victory: I got file association working with Observable Desktop.
September 11, 2025 at 12:16 AM
Observable Notebook Kit and Desktop 1.3.0 are out, featuring data loader cells. You can now (finally!!) write Python and Node.js in notebooks. 🐍 observablehq.com/notebook-kit...
September 10, 2025 at 3:21 AM
Observable Notebook Kit and Desktop 1.2.0 add Google BigQuery and Databricks database connectors! observablehq.com/notebook-kit...
August 29, 2025 at 4:09 PM
A little demo of reactive SQL in Observable Notebooks 2.0, first using (native) DuckDB to bake data from a remote source, followed by DuckDB-Wasm to create and query reactive views in the client. Should be released this week!
August 19, 2025 at 11:43 AM
You can import a viewof in a vanilla JavaScript cell like this:

import {figure, viewof$rotation} from "observable:@rreusser/drawing-3d-objects-with-svg";

I can look into the ojs syntax error, but definitely recommend adopting vanilla JavaScript wherever possible! Thanks for the write-up.
August 3, 2025 at 8:03 PM
Thanks for sharing, Nicolas! One tip, if you like you can use static imports in (vanilla) JavaScript cells now:

import * as geoviz from "npm:geoviz";
July 31, 2025 at 6:26 PM
I got a proof-of-concept self-hosted jsr: imports working, so we should be able to land this soon too! github.com/observablehq...
March 2, 2024 at 6:41 PM