The blocks marked Run on this page can run in your browser: the first one downloads and starts a small machine, with no network. That needs JavaScript. Without it you read the output saved with the document.

No network

Getting started#

This page runs in a Debian-based Linux machine with Python 3.12. Press Run on each block below, top to bottom.

A shell block#

Ask the machine what it is.

sh#whoami
uname -a
echo
cat /etc/os-release

The output appears under the block. The kernel line is the Linux kernel running inside WebAssembly, and os-release describes the image the page asked for.

A Python block#

python#first
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
total = sum(numbers)
print("numbers:", numbers)
print("total:", total)
Saved outputRan 2026-10-14
numbers: [3, 1, 4, 1, 5, 9, 2, 6]
total: 31

A second Python block that reuses the first#

Blocks of one language on a page share a session, so the variables from the block above are still defined.

python#second
print("largest:", max(numbers))
print("mean:", total / len(numbers))
Saved outputRan 2026-10-14
largest: 9
mean: 3.875

If you run this block before the one above it, Python reports that numbers is not defined. Run the first block, then try again.

What next#