2018-07-10(火) [長年日記]
■ 一日おきに薬を飲む
先週末の通院で、調子がいいから薬の服用頻度を減らそうということになり「一日おきに飲んでください」といって処方をされたわけだが、既視感があるなーと思って検索したらなんと12年前の自分の日記である。日記は続けるもんだねぇ。
あのときは誤差を承知で1年の経過日数を2で割った余りによって飲んだり飲まなかったするというアルゴリズムだったが、ツッコミでこれは一種のflip-flop回路であるという指摘があったので、今回はそういう方向で実装した。あるファイルがないときは作成して通知、あるときは削除だけすることで、これを毎朝cronで走らせれば1日おきに通知がくる:
#!/bin/sh mkdir -p $HOME/var/flipflop; cd $HOME/var/flipflop test -f medicine && rm medicine && exit echo "DO NOT TAKE A MEDICINE TODAY!" | pushme "flip-flop notify" pill touch medicine
pushmeコマンドは自分のSlackへ通知してくれる自作コマンドで、実行するとこんな感じの通知がくる*1:
ステートレスな前回の実装に対して今回のはステートフルだし、一長一短があるなーという感じだが、まぁ好みの問題だな。
*1 いかにもな感じのアイコンを探すのが今回もっとも時間をかけた部分です。
1970-01-01 00:00:00 UTCからの経過秒数を86400で割って、2で割った余りを使えば誤差はうるう秒程度に!! (クソリプ)
そのクソリプは想定内です!w