残りの人生のためのプログラミング 第-0回


今日が人生最後の日だとしたら

"If today were the last day of my life, would I want to do what I am about to do today?"-Steve Jobs

スティーブ・ジョブズが大学の卒業祝賀スピーチで述べた言葉です.素敵ですよね.今年で彼の死からちょうど10年ですし,これを胸に生きてみるのもいいかもしれません...

残り21915日

まあ,そんなこと急に言われたって無理.今日が人生最後って,そんな気しないし.
一応,人生の残り日数でも計算してみましょう.
日本人の平均寿命(男性)は81歳です.自分が今21歳なので人生残り60年,日になおすと...

lastday.py
import datetime

today = datetime.date.today()
rip = datetime.date(year=2081, month=6, day=1)
print(abs(rip - today).days)
21915 days, 0:00:00

21915日
長いのか短いのかよくわかりませんね.

メメント・モリって奴

自発的に意識できないなら強制的にさせればいい.
ってことで,せっかくだしジョブズの忘れ形見を有効活用しましょうか.

iPhone(Andoroidでも可)とLINE,LINE Notifyを利用します.

mementomori.py
import requests
import datetime

class Routine:
    def __init__(self, name, once_every_N_days):
        self.name = name
        self.once_every_N_days = once_every_N_days
        self.content = "{}のは残りの人生{}日で後{}回.\n".format(name, days_to_die, days_to_die//once_every_N_days)
        routines.append(self)


if __name__ == '__main__':
    today = datetime.date.today()
    rip = datetime.date(year=2081, month=6, day=1)
    days_to_die = abs(rip - today).days

    routines = []
    call_mother = Routine("母と電話する", 30)
    meet_grampa = Routine("祖父に会う", 180)
    eat = Routine("飯を食う", 1/3)

    send = "\n"
    for s in routines:
        send += s.content

    send += "MEMENTO MORI"
    send_dict = {'message': send}

    TOKEN = 'hoge'
    url = 'https://notify-api.line.me/api/notify'
    TOKEN_dict = {'Authorization': 'Bearer ' + TOKEN}

    requests.post(url, headers=TOKEN_dict, data=send_dict)

これをタスクスケジューラー等で登録すればひとまず完成.

次回 第21914回は...

上記のプログラムをもうちょっと有意義なものに変えていきます.タスクの登録・通知を実装しようかな.ゆくゆくはタスク管理ができるようになると嬉しいですね.

ちなみに今日はLINE Notifyの設定とか使い方で一日潰れましたが,特に後悔はしてません.あと21915日もあるし.