This website requires JavaScript.
afd4688358
GPUs: fan speed in % per card (nvidia-smi fan.speed, hwmon pwm1); 0% shows
main
Mitchell-Johnson and Claude Opus 5.5
2026-11-14 17:09:10 -08:00
95bb026b7f
Docs: Ham Lab on core is lab.bigham.dev (was hamlab.bigham.dev)
Mitchell-Johnson and Claude Opus 5.5
2026-11-12 12:47:48 -08:00
a6d7ff436f
Drive tile counts each source device once (a bind mount doubled nexus's NVMe)
Mitchell-Johnson and Claude Opus 5.5
2026-11-11 00:06:33 -08:00
574d9855ce
GPU: a slow read is late, not stalled; a stall clears when the read returns
Mitchell-Johnson and Claude Opus 5.5
2026-11-10 18:42:13 -08:00
ad576d8c1a
Top: drop the GPU busy caption; keep only the stall warning
Mitchell-Johnson and Claude Opus 5.5
2026-11-10 15:55:57 -08:00
c40de5067b
Top: each CPU's threads are counted from 0 under it on a two-socket machine
Mitchell-Johnson and Claude
2026-11-10 12:19:49 -08:00
0e57419d8b
Top: the second of two identical GPUs draws its busy graph
Mitchell-Johnson and Claude Opus 5.5
2026-11-10 00:40:56 -08:00
f1c66ce886
Top: the second CPU's core temperatures on a two-socket machine
Mitchell-Johnson and Claude Opus 5.5
2026-11-10 00:22:05 -08:00
a516cf4cad
Top: a two-socket machine shows only its two CPUs, no combined row or wattage
Mitchell-Johnson and Claude Opus 5.5
2026-11-10 00:09:09 -08:00
e9a87af5e8
Top: each CPU's own wattage on a two-socket machine, its threads folded under it
Mitchell-Johnson and Claude Opus 5.5
2026-11-10 00:07:24 -08:00
1e2dcacb2c
Two-socket machines: Hardware and Top show each CPU, not one with every core
Mitchell-Johnson and Claude Opus 5.5
2026-11-10 00:04:47 -08:00
4b238ea93e
Remove the KVM tab: proxy, routes, config and state fields, UI
Mitchell-Johnson and Claude Opus 5.5
2026-11-09 23:52:38 -08:00
5edad2de6a
Files viewer: previous/next — buttons, ← →, swipe on pictures; steps through media when media is open; audio autoplays
Mitchell-Johnson and Claude Opus 5.5
2026-10-26 01:27:26 -07:00
829617c932
ZFS tab: landing tier checks — stale files, verify passes against the mover's ledger, verify schedules
Mitchell-Johnson and Claude Opus 5.5
2026-10-25 23:16:55 -07:00
f518df239f
SENSORS: the ZFS write path's sensors
Mitchell-Johnson and Claude Opus 5.5
2026-10-25 22:41:23 -07:00
41cb734f7f
ZFS tab: show a mover's rsync limit only when there is one, in the units rsync means (60M = 60 MiB/s)
Mitchell-Johnson and Claude Opus 5.5
2026-10-25 22:39:33 -07:00
0698f07415
ZFS tab: the write path's details one per row, wrapping instead of cut off
Mitchell-Johnson and Claude Opus 5.5
2026-10-25 22:37:22 -07:00
b2528afe2a
ZFS tab: snapshot schedules full width too — every box on the tab spans the page
Mitchell-Johnson and Claude Opus 5.5
2026-10-25 22:34:55 -07:00
50768e2d94
ZFS tab: pools, caching tiers and writes full width; write and drain rates measured between real updates
Mitchell-Johnson and Claude Opus 5.5
2026-10-25 22:34:11 -07:00
86cfcd2bad
ZFS tab: Writes — the RAM write buffer, each pool's write rate, and a landing tier with its mover
Mitchell-Johnson and Claude Opus 5.5
2026-10-25 22:28:40 -07:00
1a9b31ea0a
PLAN: handle fuse.mergerfs (grid's landing pool) in Storage
Mitchell-Johnson and Claude Opus 5.5
2026-10-25 21:01:59 -07:00
695e4c4f57
e2e-player: the volume slider is only there wider than a phone
Mitchell-Johnson and Claude Opus 5.5
2026-10-25 15:49:00 -07:00
432ddc0df4
files: the player's volume — mute, a level slider, remembered (as Ham Share's)
Mitchell-Johnson and Claude Opus 5.5
2026-10-25 15:43:05 -07:00
1c5cd2b0de
No theme touches playback, any theme; the header clears the iOS status-bar blur
Mitchell-Johnson and Claude Opus 5.5
2026-10-24 00:05:04 -07:00
01e0da9022
files: no theme touches playback — Retro's scanlines off while a video is open, plain font
Mitchell-Johnson and Claude Opus 5.5
2026-10-24 00:02:15 -07:00
dbf89cd5e2
files: on a phone the player's time sits above the seek bar
Mitchell-Johnson and Claude Opus 5.5
2026-10-23 23:52:35 -07:00
033343793f
files: the player's −5 s and +5 s buttons, as Ham Share's
Mitchell-Johnson and Claude Opus 5.5
2026-10-23 23:48:37 -07:00
f2997a04c8
Settings, PLAN: video previews follow the Transcode device
Mitchell-Johnson and Claude Opus 5.5
2026-10-23 16:09:28 -07:00
fac8a3a180
files: the previews button says where video previews are made
Mitchell-Johnson and Claude Opus 5.5
2026-10-23 16:08:45 -07:00
d5c16540a1
files: video previews are made on the Transcode device too
Mitchell-Johnson and Claude Opus 5.5
2026-10-23 16:07:00 -07:00
1464e1f7a0
files: seek bar — the ball goes where the seek went and waits there; the seek is on release
Mitchell-Johnson and Claude Opus 5.5
2026-10-23 15:11:31 -07:00
d1b3ef7efd
PLAN: the Ham Share player and the Transcode device setting; e2e-player.mjs
Mitchell-Johnson and Claude Opus 5.5
2026-10-23 15:00:32 -07:00
8c69826547
files: the player turns a phone's picture upright on the GPU, and shows HLG as it is
Mitchell-Johnson and Claude Opus 5.5
2026-10-23 14:56:16 -07:00
fc4126a0ed
files: Ham Share's player — Auto quality, any by hand, or the file; 360 view; Transcode device setting
Mitchell-Johnson and Claude Opus 5.5
2026-10-23 14:52:35 -07:00
f5f1cd79ba
Top: curves and canvases update before paint, in the numbers' frame
Mitchell-Johnson and Claude Opus 5.5
2026-10-23 01:16:28 -07:00
70bebcb18b
Top: one beat — graphs, numbers and the process table change on the same tick
Mitchell-Johnson and Claude Opus 5.5
2026-10-23 01:13:19 -07:00
8fc71496f0
metrics: NVIDIA GPUs via nvidia-smi — device busy, VRAM, clocks, temp, power and the pmon process table
Mitchell-Johnson and Claude Fable 5.1
2026-10-23 00:29:46 -07:00
450a9d3327
files: seek anywhere in a re-encode; it restarts from there
Mitchell-Johnson and Claude Opus 5.5
2026-10-20 13:08:52 -07:00
ff1373e838
docker: an update clears "update available" without a page reload
Mitchell-Johnson and Claude Opus 5.5
2026-10-17 12:45:47 -07:00
d70ddb6d67
Cut virtualization from the app: out of scope
Mitchell-Johnson and Claude Opus 5.5
2026-10-15 00:47:48 -07:00
a2674bea6a
thumbs: a GPU-access run already in flight refuses a second (409)
virtualization
Mitchell-Johnson and Claude Fable 5.1
2026-10-13 18:00:39 -07:00
134bbc991e
PLAN.md: the whole-console sweep
Mitchell-Johnson and Claude Fable 5.1
2026-10-13 17:56:16 -07:00
285278abdb
A sweep of the whole console: status codes, a data race, atomic writes, dead code
Mitchell-Johnson and Claude Fable 5.1
2026-10-13 17:52:18 -07:00
05161bf7ef
PLAN.md: the Files edge sweep
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 20:32:34 -07:00
1038c010fa
Files: a sweep of the edges
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 20:31:10 -07:00
d200e5dc2e
PLAN.md: re-encoding for the browser, on the machine's GPU
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 17:46:35 -07:00
f3c547adfa
Files: re-encode a video the browser can't play, on the machine's own GPU, and play that
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 17:42:25 -07:00
aa4ae57c22
gofmt after the rename
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 16:54:52 -07:00
af189b1fa1
internal/thumbs is internal/media, with Inspect: what a file holds, from ffprobe
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 16:54:15 -07:00
beec9269fe
PLAN.md: video and audio playback in the Files viewer, as the file is
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 16:43:03 -07:00
d7f56ee0b3
Files: a seek costs nothing; the backend reopens only when a read wants somewhere else
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 16:41:54 -07:00
a9bcb88212
Files: play video and audio in the viewer, as the file is; reads answer Range requests
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 16:40:42 -07:00
c24f6f5cde
Files: a move of something that isn't there is a 404, not a task that fails on arrival
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 16:30:04 -07:00
b6d72cce9f
PLAN.md: Move… is a folder picker; moves across filesystems copy then remove
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 16:29:27 -07:00
fb3b8e4b4c
Files: Move… opens a folder picker, and a move across filesystems copies then removes
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 16:27:55 -07:00
e5d3fb2afd
PLAN.md: previews are cached in thumbs.db
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 16:05:17 -07:00
e198471f8c
Files previews: the cache is one database file, <data dir>/thumbs.db
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 16:04:12 -07:00
51c718e8e3
PLAN.md: previews on the Files tab, shipped as v0.1.0-200
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 15:25:55 -07:00
f8c9479e93
Files: previews — a toggle that shows a thumbnail per image and video, made by ffmpeg on the machine's GPU where it has one, cached under the data dir
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 15:20:27 -07:00
e7034cd478
VIRTUALIZATION.md: grid's Incus removed for a fresh start; status
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 15:02:52 -07:00
e068fbdb2f
PLAN.md: copyparty retired ahead of the Files gaps; they stay as Files polish
Mitchell-Johnson and Claude Opus 5.5
2026-10-11 14:54:27 -07:00
faf444d8ce
VIRTUALIZATION.md: storage decision revised — a Disk location picker, plain files on grid's root disk
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 14:36:06 -07:00
ae72e45bf5
Virtualization: a disk-location picker on both create forms, locations by place, add or remove a location
Mitchell-Johnson and Claude Fable 5.1
2026-10-11 14:33:10 -07:00
a9b4d7969e
PLAN.md: CPU power on the Processes tab, shipped as v0.1.0-194
Mitchell-Johnson and Claude Opus 5.5
2026-10-11 00:00:05 -07:00
bfedf622be
Processes: CPU power beside the clock, from the packages' energy counters
Mitchell-Johnson and Claude Opus 5.5
2026-10-10 23:58:35 -07:00
d5680e8e41
VGA console: stop importing spice-html5's demo stylesheet, which restyled every button
Mitchell-Johnson and Claude Opus 5.5
2026-10-10 15:19:20 -07:00
ea84ee40c7
PLAN.md: the 2375 item deployed as v0.1.0-191 and checked on every machine
Mitchell-Johnson and Claude Opus 5.5
2026-10-10 15:00:19 -07:00
24a9979432
Docker updates: a machine without Docker answers empty, not 500
Mitchell-Johnson and Claude Opus 5.5
2026-10-10 14:58:13 -07:00
c27d9f0ada
Stacks: one machine, one set of files; default home is <data dir>/stacks
Mitchell-Johnson and Claude Opus 5.5
2026-10-10 14:53:10 -07:00
a0ce3e5eb9
VIRTUALIZATION.md: phase 2 deployed as v0.1.0-188 and verified live; what is left
Mitchell-Johnson and Claude Fable 5.1
2026-10-09 22:34:05 -07:00
80a5b4b464
VGA console: one console operation per VM, a data websocket per SPICE channel
Mitchell-Johnson and Claude Fable 5.1
2026-10-09 22:32:08 -07:00
a5ebfdc9ce
VGA console: agree to spice-html5's binary subprotocol; label layout and two labels in the detail pane
Mitchell-Johnson and Claude Fable 5.1
2026-10-09 22:28:00 -07:00
43ebacdd92
Virtualization phase 2: ISOs, New VM from ISO, the VGA console in the browser, nightly exports, mounts, instance sensors
Mitchell-Johnson and Claude Fable 5.1
2026-10-09 22:21:57 -07:00
66498a58c5
VIRTUALIZATION.md: phase 1 deployed as v0.1.0-184, Install verified live on grid
Mitchell-Johnson and Claude Fable 5.1
2026-10-09 15:31:06 -07:00
b790b0c31c
virt: the description is an instance field, not a config key — set it with a PATCH
Mitchell-Johnson and Claude Fable 5.1
2026-10-09 15:30:10 -07:00
38675ce9af
Portability audit: every lab-specific design choice, listed for generalisation
Mitchell-Johnson and Claude Fable 5.1
2026-10-09 15:29:12 -07:00
dfe2ca359a
incus: syntax-check the generated install script for each machine shape; refusals; create args
Mitchell-Johnson and Claude Fable 5.1
2026-10-09 14:16:05 -07:00
289aa4aee3
VIRTUALIZATION.md: phase 1 built as v0.1.0-180, awaiting deploy
Mitchell-Johnson and Claude Fable 5.1
2026-10-09 14:13:54 -07:00
240129c83f
Virtualization tab, phase 1: Incus per machine — detect, install, instances, consoles, snapshots, images
Mitchell-Johnson and Claude Fable 5.1
2026-10-09 14:09:56 -07:00
af53b45b67
Virtualization plan: every artefact under Ham Lab's data directory, one virt/ tree per machine
Mitchell-Johnson and Claude Fable 5.1
2026-10-09 13:48:31 -07:00
e772f7fae2
Virtualization plan: a Library for ISOs and images; VGA console moves to phase 2 with it
Mitchell-Johnson and Claude Fable 5.1
2026-10-09 13:36:27 -07:00
0fa6ab98e2
Virtualization plan: capability-gated per machine, never policy-gated; Install or report
Mitchell-Johnson and Claude Fable 5.1
2026-10-09 12:56:18 -07:00
16e85e1e42
Virtualization tab: scoping plan — Incus on grid, what is and isn't feasible
Mitchell-Johnson and Claude Fable 5.1
2026-10-09 12:11:33 -07:00
1fbf345166
BUGS: bug bash 6 and its quality-of-life builds deployed as v0.1.0-174
Mitchell-Johnson and Claude Opus 5.5
2026-10-08 15:11:29 -07:00
07645089d7
Version builds from the base tag, not from a published release's tag
Mitchell-Johnson and Claude Opus 5.5
2026-10-08 15:06:48 -07:00
7d0b87bc45
A GPU with nothing measurable is one line, not half the Processes page
Mitchell-Johnson and Claude Opus 5.5
2026-10-07 19:31:25 -07:00
f3ca3d8f73
Idle sessions sign themselves out; a KVM's login is remembered; the compose editor knows YAML
Mitchell-Johnson and Claude Fable 5.1
2026-10-06 01:20:27 -07:00
faaa6aaf9d
The phone's ZFS table headers no longer collide; the bash notes that deploy is still owed
Mitchell-Johnson and Claude Fable 5.1
2026-10-03 11:34:31 -07:00
e0e2562f0a
Bug bash 6: the phone fits ZFS, Usage and journal lines; a snapshot's default name is local time; twelve smaller faults
Mitchell-Johnson and Claude Fable 5.1
2026-10-03 11:28:44 -07:00
3a58e265c6
A GPU is named from an embedded PCI ID table, the same on every machine
Mitchell-Johnson and Claude Fable 5.1
2026-10-02 23:48:05 -07:00
b5cecce435
Never read sysfs through Go's poller, and a GPU that stops answering is skipped
Mitchell-Johnson and Claude Fable 5.1
2026-10-02 23:41:22 -07:00
a8f4655c83
A graph's canvas is out of flow, so a box can never grow itself without end
Mitchell-Johnson and Claude Fable 5.1
2026-10-02 22:54:49 -07:00
7e070bd524
The gpu box's layout rules, which the first commit lost
Mitchell-Johnson and Claude Fable 5.1
2026-10-02 22:53:50 -07:00
b44faf3ac9
The ZFS tab shows the ARC, and names every caching tier a pool has or lacks
Mitchell-Johnson and Claude Fable 5.1
2026-10-02 18:30:02 -07:00
db40220365
GPU boxes on the Processes tab: busy, engines, temps, and who has the card open
Mitchell-Johnson and Claude Fable 5.1
2026-10-02 18:18:02 -07:00
0e82719070
plan: the VPN tab edits devices, and what that cost in care
Mitchell-Johnson and Claude Opus 5
2026-09-27 23:22:13 -07:00
8fb21ee95e
Create, rename and remove the devices that dial in
Mitchell-Johnson and Claude Opus 5
2026-09-27 23:20:41 -07:00
32fdbf169a
Fix the blank VPN tab, and stop one page taking the console with it
Mitchell-Johnson and Claude Opus 5
2026-09-27 22:18:59 -07:00
acb83d3a4a
A peer that never connected has no timestamp, and names are readable
Mitchell-Johnson and Claude Opus 5
2026-09-27 22:01:13 -07:00
6f634bbe11
A VPN tab: the tunnels, and who is on them
Mitchell-Johnson and Claude Opus 5
2026-09-27 21:59:30 -07:00