about
Built by one person, measured on one Mac.
I'm Lay Sheth, a solo developer in India. I write plottypus in Rust on ratatui and test it on a MacBook Pro with an M5 Pro. This page says how, and what that means for the numbers you see.
why
The 0 W bug
On macOS 27 the PMGR energy counters that monitors use for CPU power publish in batches 2–108 s apart, and sometimes not for tens of minutes. Tools that turn each interval's change into watts started printing 0.00 W for a CPU running flat out. plottypus reads the SMC power rails on the M5 Pro instead, and on other chips shows the last published value with its age, or — once it is more than 10 s old.
That is the idea behind the whole app, in one bug: show the number the Mac actually reports, say how old it is, and print — when there is none. The full story, with the captures, is in the macOS 27 post.
verification
How the numbers are checked
1,649
tests across four crates, 0 failing on 24 September 2026
3,626
SMC keys read on the M5 Pro, 285 of them temperatures
0
redraws while idle; one frame per sample otherwise
Golden screens
Tests paint the whole app from fixed fixtures for the whole Mac family: fanless Airs, desktops without a battery, and M1 to M5, including Pro, Max and Ultra. Any change that moves a visible cell fails them.
Measurements carry a date
Every measured figure is recorded with its machine, macOS version, date and source, and the site prints from that one list. Self-cost comes from perf-smoke.py: 3 fresh processes, 5 s warm-up, 20 s window each, median; CPU from proc_pid_rusage.
One Mac, said plainly
plottypus has run on real hardware on one Mac: a MacBook Pro with an M5 Pro (Mac17,8): 6 Super + 12 Performance cores, 20-core GPU, 24 GB, on macOS 27.0. Other chips run from per-chip tables pinned by fixture tests. If yours is different, the output of
plottypus doctorby email is the most useful report you can send.
privacy
Privacy
colophon
Colophon
- App
- Rust, ratatui; one arm64 binary, about 2.2 MB
- Site
- Astro, static HTML; a few lines of script for copy buttons and the frame player
- Type
- JetBrains Mono and IBM Plex Sans, plus a braille font drawn for this site
- Frames
- Captured from the 1.0.0 binary and set as text, not images
- Colours
- The app's own palette; colour marks data, never decoration
contact
Contact
Bug reports, a Mac I haven't tested, or a number you think is wrong. Writing about plottypus? The press kit has the facts and the images.