2年くらい続けているタスク管理&備忘録システムを紹介する。
タスクを管理するためのメソッドやツールは世の中にいろいろあるが、なかなか自分に合うものがなかった。
私がタスク管理ツールに望むものをざっと列挙してみる。
- タスクの入れ子構造を許してほしい
- TODOリストからやったことを抜き出して日報にしてほしい
- 作業ログや備忘録として、細かい粒度でやったこと・やっていることを書き込めるようにしたい
- こちらの記事のようなことを実現したい→ 第9回 ログのすすめ:継続は力なり―大器晩成エンジニアを目指して|gihyo.jp … 技術評論社
- データはローカルに保存したい
- 使い慣れたテキストエディタでガシガシ編集したい
これらの要望を叶えるために、自分流の方法を編み出し、簡易的なコマンドラインツールも作った。 その方法を実際の流れに沿って説明する。
最初に 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.txt
と j3todo.txt
の処理は手動でやるとしんどいので、Pythonスクリプトにした。そのスクリプトはGitHubに公開してある。
私の場合は ~/.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
プレーンテキストでタスク管理する試みは他にもいろいろある。見つけたものを簡単に紹介しておく。
- Todo.txt: Future-proof task tracking in a file you control
- タスク管理をメモ帳(テキストエディタ)でやると、モノグサでも続いて手軽だよ - のぼゆエンジニアリング
- [コラム] オリジナルのTODO.txtをどうやって作るか | RickyNews
- 1日に1ファイルを作成し、そこにスケジュールやTODO、メモを記入している