ゆっくりコーディングする日曜日

7:00

おはようございます。本日は、来週の目標設定をして、それ以降はコードを書きたいと思います。

publish:知的生産の技術書072~073『勉強の哲学』『メイキング・オブ・勉強の哲学』 | シゴタノ!

来週の目標設定:

まずは、doneの処理。

* * *

今週はインクリメンタルサーチにかかりっきりでしたね。おかげでたいへん便利になりました。

* * *

続いて、3つのプロジェクトの振り返り&目標設定。

* * *

三つのプロジェクトの振り返り&目標設定(長いので略称が必要ですね)が終わりました。

今週から入れていた日付をリンク形式に変更しました。

Image from Gyazo

8:00

ブックカタリスト:

ごりゅごさんが音声ファイルをあげてくださったので、記事の下書きをしておきます。

* * *

火曜日の17時に配信されます。

Textbox:

まず、作業記録から過去日記を生成するアルゴリズムを詰めます。

基本的なコードは、すでに作業記録の処理のために書いているので、それに付与するだけです。

* * *

Image from Gyazo

日付の下の一行、この作業記録でいうと、一番最初の項目として書かれる行を残すかどうか。書いてあると、日記感がけっこう薄れて、作業記録感が出てくる。案外、それがよいのかもしれない。

これをどう扱うかで、処理がけっこう変わってくるので、ちょっと考えておきたいところ。

* * *

上記の一行は、ようするに「抱負」なわけで、たとえば結果としてぜんぜん違う一日になっていた可能性がある。これが日記的ではない要素だろう。

加えて、一言目はだいたい「おはようございます」なのだが、これもあまり日記的ではない。

過去形に変形する(変換する)、みたいな処理をイメージするとよいのか。

* * *

現状結論がでないので、入れることも抜くこともできるようにコードを書いて起きましょう。

* * *

だいたいできました。

publish:作業記録をコラム型日記に変換するPythonスクリプト - 倉下忠憲の発想工房

* * *

現状だと、同じプロジェクトが複数回に渡って実行されているときに、複数個のコラムができてしまうのと、中身が空っぽのコラムもできてしまう問題がありますが、大きな動きは実装できました。

ただ、上記は既存のコードの改良で済んだわけですが、「過去日記」用の変換はまったくまっさらなのでいろいろ考える必要があります。

やりたいことは、一日一日のページから要素を抽出した要素を作る、ということ。この検討が次の課題です。

あとで読む:因果にかんする懐疑を退けるカントの議論|山口尚|note

* * *

何かしらの過去の日付を選ぶアルゴリズム。

そうして選んだ日の日記から、要素を抽出するアルゴリズム。

とりあえず、後者を考えましょう。

14:00

Textbox:

どのようにして一日を抽出するのか。あるいは、一日を抽出するとはどのような行為か。

ルーチンのタスクは拾う必要がない。プロジェクトのタスクはどうか。何か特別なタスク、というマークを付けるか。

出費記録をこちらで拾うなら、全体の出費リストはどうか。

「アウトプット」と「出金リスト」は月一の更新でも大丈夫。この機会に、スクリプトで自動更新されているものも確認しよう。でないと、更新日順の有用性が落ちてしまう。

* * *

とりあえず、暫定的に処理を考える。

これまでと同じように、その日のファイルを読み込み、上から一行ずつ取り出していく。でもって、マッチングして必要なものをピックアップする、という流れ。

作業記録とは、書式が変わってくる部分もあるので、その辺には注意。逆に言えば、この日記は、実際に書くことをしないので、処理のための記法などを付け加えるのは特に問題ない。

* * *

作業記録では、処理するためにいくつかの記法が使われていた。が、日記では、それが消失して、ブロック単位で情報がまとめられている。

ということは、作業記録の方からデータを起こしたほうが速いのではないか、という気持ちになる。

いや、そこまで複雑な処理は必要ではないのかもしれない。何せ一日から重要なものを抽出すればいいだけだからだ。

個々の具体的な記述は必要ない。タスク、プロジェクト名、更新した記事などの項目があればいい。

箇条書きリストだけを拾う?

* * *

方針がだいたい固まりました。基本的に箇条書きの項目だけ拾います。

で、箇条書きの中でも、ルーチンタスクだけは無視します。で、無視するルーチンタスクは、プログラムにあらかじめ書いて起きます。これらは、プログラムで自動生成されるものなので、表記揺れの問題もないので、そのままでいいでしょう。

プロジェクト+タスク名、という書き方だけ拾うと、イベントごとなどのタスクが拾えないので、この形にしました。

箇条書きだけ拾う、という方針が固まると、いろいろ見えてきますね。

作業記録から日記へ意識に変換するときに、拾いたいものを箇条書きにしておけばいい、ということになります。

* * *

とりあえず、抽出の方のアルゴリズムはめどが立ちました。問題は、どういうアルゴリズムで、過去の日記を抽出するのか、という点。

まず思いつくのは、「去年の同じ日付」です。あとは一ヶ月前(30日前)とか、一週間前(7日前)とか。あとは、同じプロジェクトを含む日、とかも理論的にはあり得ますね。

どのタイミングでこのページが更新されるのかも考慮する必要があります。

ただ、現状日記に変換できているのは、二ページだけなので、なんとも言い難いところです。一応過去にさかのぼって日記変換すること自体は可能なので、一度やってみてもいいかもしれません。

* * *

あとは、すでに動いているスクリプトとの整合性ですね。月一でよいものは、月一の実行でまとめたいと思います。