j3iiifn’s blog

ネットワーク、インフラ、プログラミングについての備忘録

テキストファイルで タスク管理 兼 備忘録 を実現する

2年くらい続けているタスク管理&備忘録システムを紹介する。

タスクを管理するためのメソッドやツールは世の中にいろいろあるが、なかなか自分に合うものがなかった。

私がタスク管理ツールに望むものをざっと列挙してみる。

これらの要望を叶えるために、自分流の方法を編み出し、簡易的なコマンドラインツールも作った。 その方法を実際の流れに沿って説明する。

最初に j3todo.txt にやることを書き出す。この時点では粒度が大きくても構わないし、漏れがあってもいい。

- ubuntuのtracerouteパッケージが2つある。どちらを選べばいいか調べる。
    - inetutils-traceroute をインストールしてみる
    - tracroute をインストールしてみる
    - ブログにまとめる
- curlが失敗する問題のトラブルシューティング
    - ブログにまとめる

タスクが完了したら、行頭の - (半角ハイフン) を x (小文字のエックス) に書き換える。

- ubuntuのtracerouteパッケージが2つある。どちらを選べばいいか調べる。
    x inetutils-traceroute をインストールしてみる
    x tracroute をインストールしてみる
    - ブログにまとめる
- curlが失敗する問題のトラブルシューティング
    - ブログにまとめる

タスクを進めるうちに、あれもやろうこれもやろうと思いつくタスクがあるかもしれない。そのようなタスクも、思いついたら j3todo.txt に追記していく。

- ubuntuのtracerouteパッケージが2つある。どちらを選べばいいか調べる。
    x inetutils-traceroute をインストールしてみる
    x tracroute をインストールしてみる
    - 違いをググる
    - ブログにまとめる
- curlが失敗する問題のトラブルシューティング
    - ブログにまとめる

読んだ記事のURLやメモの保管場所も書き込んでいく。

- ubuntuのtracerouteパッケージが2つある。どちらを選べばいいか調べる。
    x inetutils-traceroute をインストールしてみる
    x tracroute をインストールしてみる
    x 違いをググる
        x [debian - What are the differences between iputils-ping and inetutils-ping? - Unix & Linux Stack Exchange](hxxps://unix.stackexchange.com/questions/400351/what-are-the-differences-between-iputils-ping-and-inetutils-ping)
    x メモ /path/to/traceroute_vs_inetutils-traceroute.txt
    - ブログにまとめる
- curlが失敗する問題のトラブルシューティング
    - ブログにまとめる

そして、1日の終わりに x マークがついたタスクを report.txt に移動する。すると report.txt が日報になる。

report.txt

# 2019-05-01 (Wed)
- ubuntuのtracerouteパッケージが2つある。どちらを選べばいいか調べる。
    x inetutils-traceroute をインストールしてみる
    x tracroute をインストールしてみる
    x 違いをググる
        x [debian - What are the differences between iputils-ping and inetutils-ping? - Unix & Linux Stack Exchange](hxxps://unix.stackexchange.com/questions/400351/what-are-the-differences-between-iputils-ping-and-inetutils-ping)
    x メモ /path/to/traceroute_vs_inetutils-traceroute.txt

j3todo.txt には未完了のタスクが残る。

- ubuntuのtracerouteパッケージが2つある。どちらを選べばいいか調べる。
    - ブログにまとめる
- curlが失敗する問題のトラブルシューティング
    - ブログにまとめる

以上が1日の流れである。

最後の report.txtj3todo.txt の処理は手動でやるとしんどいので、Pythonスクリプトにした。そのスクリプトGitHubに公開してある。

github.com

私の場合は ~/.bashrc に次のようなエイリアスを登録して、 j3todo と打つだけでいいようにしている。これならファイルパスを覚えなくていいし、ターミナルに打つ文字数も少なくて済む。

alias j3todo='/path/to/daily_report.sh /path/to/j3todo.txt /path/to/report.txt'

この方法を2年間実践してきたが、1年前に何をしていたか大体わかる程度の粒度で日報が残るので、「あのとき見た記事をまた見たい」とか「あのときどうやってやったのか思い出せない」とかいうシチュエーションで結構役に立つ。

ただ、良いことばかりでもなくて、j3todo.txt にやりたかったけどやれていないことが山のように残っていて見通しが悪かったり、逐一 j3todo.txt に書き残す時間がなかったり、この管理自体が面倒になったりと、運用方法に改善の余地があるのも事実である。

Related Work

プレーンテキストでタスク管理する試みは他にもいろいろある。見つけたものを簡単に紹介しておく。