statusThe CPU and every core, memory, disks, network, temperature, video cards.
Local and account-free. No account, no sign-up: whatever you type into the tools stays in this browser's localStorage and never reaches a server.
Our own counter records page opens and finishes: the address leaves, plus one tenth-of-the-text figure. No cookies, no outside trackers, your IP is not stored, Do Not Track is honoured. How to check that
The portal's own repository is not published, so we do not call it open source. What is open:
The portal lives on donations, paid consultations and requested write-ups, and on Workbench sales.
There are no plans to make the courses paid.
Deployment of 16 September 2026, snapshot 95043e5
What has changed on the portal since your last visit. The full list of deployments is in the “What has changed” section on the About page.
Where the disk space went and how the machine feels. Cleaning goes by plan: to the trash or for good, never unasked.
◇ digitdisk walking /home/user Digitable 10:25:51
⠧ WALKING 11 s
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
entries 48,128 files 37,904 · dirs 10,153 · links 71
size 1.5 GiB
rate 4,095 entries/s · 131.6 MiB/s
now at /home/user/.npm/_cacache/content-v2/sha512/c5/5a depth 6
entries/s ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▃▄▄▄▄▄▃▃▃▄▄▄▆▇▆█▇▇▆▆▆▅ peak 7,451/s
WHAT FILLS IT PRELIMINARY
1. ███████████████████████───── 81.6% project/ 1.2 GiB 31,859 ent.
2. █████─────────────────────── 18.0% .npm/ 278.2 MiB 16,257 ent.
3. ──────────────────────────── 0.4% Downloads/ 6.4 MiB 7 ent.
4. ──────────────────────────── 0.0% .cache/ 0 B 0 ent.
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
WALK 48,128 entries · 1.5 GiB ↑ ↓ scroll · l lang · q stop the walk
◇ digitdisk walked /home/user Digitable 10:27:27
TOTAL TREE LARGEST REMOVABLE CLASSES SKIPPED PLACES JOURNAL
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
CLEANING PLAN
nothing marked — the plan covers the whole walked tree
to be moved 474 files, 50.9 MiB
no space is freed: the move is a rename, the bytes stay on the disk.
only `digitdisk purge <trash> --confirm N` frees them.
by class:
Cache 471 files 3.1 MiB
Build 3 files 47.8 MiB
trash: /home/user/.digitdisk-trash
the first of the list:
47.8 MiB Build /home/user/project/node_modules/hugo-bin/vendor/hugo
332.6 KiB Cache …d1a47b1b1/node_modules/mdn-data/css/properties.json
197.9 KiB Cache …3e2bd1a47b1b1/node_modules/css-tree/dist/csstree.js
197.8 KiB Cache …d1a47b1b1/node_modules/css-tree/dist/csstree.esm.js
187.5 KiB Cache …modules/csstree-validator/dist/csstree-validator.js
187.4 KiB Cache …les/csstree-validator/dist/csstree-validator.esm.js
…and 468 more
number of files: ▏
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
DONE 104,219 entries · 6.5 GiB lines 1–27 of 28 Esc cancel, q quit
◇ digitdisk walked /home/user Digitable 10:28:57
TOTAL TREE LARGEST REMOVABLE CLASSES SKIPPED PLACES JOURNAL
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
ERASE FOR GOOD
erase for good 474 files, 50.9 MiB
50.9 MiB will be freed — really freed, this time
there will be no trash: the files leave the disk and nothing can bring them back.
directories marked: 1
what will vanish:
47.8 MiB Build /home/user/project/node_modules/hugo-bin/vendor/hugo
332.6 KiB Cache …d1a47b1b1/node_modules/mdn-data/css/properties.json
197.9 KiB Cache …3e2bd1a47b1b1/node_modules/css-tree/dist/csstree.js
197.8 KiB Cache …d1a47b1b1/node_modules/css-tree/dist/csstree.esm.js
187.5 KiB Cache …modules/csstree-validator/dist/csstree-validator.js
187.4 KiB Cache …les/csstree-validator/dist/csstree-validator.esm.js
177.6 KiB Cache …2e3e2bd1a47b1b1/node_modules/mdn-data/l10n/css.json
…and 467 more
number of files: ▏
type the number of files (474) and Enter to erase for good; Ctrl-U clears, Esc cancels
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
DONE 104,219 entries · 6.5 GiB Esc cancel, q quit
◇ digitdisk demo · Ubuntu 26.04 LTS · 7.0.0-29-generic Digitable 10:29:10
COMMANDS ‹ LOAD › 4/11
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
load avg 22.52 / 22.61 / 22.04 (1/5/15 min)
cores 256
runnable 21 of 7835
CPU busy ██───────────────────────────── 7.5% (sampled 200 ms)
history ····························▁▁▁
by core measured 256 of 256 (window 200 ms)
spread min 0.0% · median 0.0% · max 100.0% (core 2)
loaded 13 cores of 256 are busy more than half the time
CORE MAP
0–95 ▁▁█▁▃▁▁▂▁▁▁▁▁▁█▁▁▂▁▁▃▁▁▁▁▁▁▃▁▁▁█▁▁▁▁▁▁▁▂▁▁▁▂█▁▁▁▁▁▁▁▁█▁▁▁▁▁▁▁▁▁▁▁█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█▁▁▁▁▁▁▁▁▁▁
96–191 ▁▁▁▁█▁▁▁▁▁▁▁▁▁▁▁▁▁▁█▂▁▂▁▁█▁▁▁▁▇▁▁▁▁▁▁▁▁▁▁▂▁▁▁▁▁▁▁▁▁▁▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▁▁▁▁▁▁▁▁▁▁▁▄▁▁
192–255 ▁▁▁▁▁▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▁▁▁▁▁▁▁▁▁
a cell is a core: ▁ idle, █ fully busy
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
LIVE sampled 1 s ago · took 267 ms · every 2 s lines 1–17 of 25 ← → · p · r · l lang · 1 COMMANDS · q quit
Taken 2026-09-03, digitdisk 0.8.0, sha256 0c9e5d2122f9, through a pseudo-terminal. Characters, columns and colour come from the run, the typeface is added. Under /home/user lie real directories of this machine. the full status --json, 37989 bytes
The disk is full and you need to know where it went. du and ncdu will tell
you, and then you remove things by hand. A cleaner removes them for you — off a
list of well-known paths; that list is its permission to delete, and you take it
on trust.
digitdisk grants no permission by list. The verdict comes from a core in flang, and «Removable» is a verdict it cannot pass on anything but caches, logs and build output: a postcondition of the function, not a line of description.
One postcondition is not enough, and the tool’s own tree says so: while the
signs were looked up as a substring of the path it held, and the tool was wrong
four times on a live machine — on pip’s files under a build directory, on a
container image layer with a cache component, on .logseq settings, on a
letter under a tmp directory. “We remove only caches” is true; “what is
marked a cache is a cache” does not follow. Now the path is cut into components
and two postconditions hold the rest: what is addressed by its content is never
removed, and without a sign in a component the class is decided by size alone.
The directory of known places knows 102 of them, each with a link to the documentation where the owner of that directory calls it a cache himself. It grants no permission to delete: it names a class, the core judges. The protection list can subtract and cannot add.
Since 0.8.0 the walking screen has Backspace: it erases for good, past the trash. That opens no second road to deletion — the plan is built by the same core and by the same verdict; one thing is new: nothing brings it back. So the question names the number of files first.
statusThe CPU and every core, memory, disks, network, temperature, video cards.
analyze <path>A walk over the tree. The screen is not a report: you walk it, mark and clean there.
clean <path>The plan: what, how much and by which rule. Without --apply nothing is opened for writing.
restore <trash>Puts a trash back by its journal. No flag needed: flags guard destruction.
purge <trash>The one irreversible action. It demands --confirm N: as many files as the trash holds.
places102 known places, and which of them are here.
history <path>How past cleanups under this root ended.
run <command>Runs someone else's command and shows its cost: CPU time, peak memory over the process tree, video memory.