Valanza – my Unix way for weight tracking and anlysis
by lallero317 on 1/29/2026, 3:08:11 PM
https://github.com/paolomarrone/valanza
Comments
by: criticas
Nice idea, but "small composable programs" includes R scripts? That's great if you're already using R, a bit much to install if you're not.<p>You could simplify things by cribbing from the Hacker's Diet (<a href="https://www.fourmilab.ch/hackdiet/" rel="nofollow">https://www.fourmilab.ch/hackdiet/</a>) and using an exponentially weighted moving average as your filter. 10% of today's weight + 90% yesterday's EWMA. That's almost a one-liner in awk or perl, or a simple function in bash.<p>Copilot suggests: awk 'BEGIN{alpha=0.1} NF>=2 { date=$1; w=$2; if (NR==1) ewma=w; else ewma=alpha*w + (1-alpha)*ewma; printf "%s\t%g\t%.6f\n", date, w, ewma }' input.txt
2/2/2026, 5:58:16 PM
by: MisterTea
A friend did similar using rc on Plan 9: <a href="https://shithub.us/rodri/rcfitness/HEAD/info.html" rel="nofollow">https://shithub.us/rodri/rcfitness/HEAD/info.html</a>
2/2/2026, 6:09:00 PM
by: erikgahner
Great stuff! You can make minor adjustments to the R-script so you do not need to rely on {dplyr} and {tidyr}. For example, use merge() instead of left_join() and use the base pipe, |>, instead of the magrittr pipe, %>%.
2/2/2026, 6:02:14 PM
by: hilti
Love your approach: small, composable programs working together through pipes!
2/2/2026, 4:55:46 PM