メルマガを進める土曜日

モーニング・コーディング メルマガ(前半) メルマガ(後半) メルマガ「はじめに」 ライフハックCH+icon画像32px作成 結論を我慢する筋力:write セルフハンディキャップの自己成就:write 招待と越境 9:00 おはようございます。今日は、何をさておいてもメルマガを書いていきます。夕方頃までに終わるのが理想です。 モーニング・コーディング デイリーの処理について。 少し前に、一日の終わりに何かしらスクリプトを走らせて、その日の作業記録から必要な情報をピックアップして別ファイルに分けたらどうか、と考えていた。 で、最近書いていたのは、一日の最初にそれまでの作業記録すべてから情報を抽出して毎回ファイルを上書きすることである。なんら変化がないファイルも毎回操作しているので、非常に非効率である。が、処理はすぐに終わる。だいたい、一年分でも365ファイルであり、現代的なパソコンなら、人間に体感できるほどの時間はかからない。だったら、もうそれでいいのではないか。富豪的プログラミング。 この方法でやった場合、たとえば過去の日付のファイルを多数扱っても、スクリプトの処理はただ一度で済む、というメリットがある。それ以外は全体的に非効率なことをやっているが、とりあえずは気にしないでおこう。 push 富豪的プログラミングが当たり前になった世界で、突然SF的展開でリソースが貧困化し、昔のプログラミング技術が有り難がられる話。 作業記録から抜き出したいものは、個別にスクリプトを書いて、それを朝のダッシュボード作成前に走らせる、という形にする。 fragment:情報の流れの違い:デジタルノートテイキング 一つのライブラリにさまざまな情報を入れたときに、情報の種類によって、新規発生や参照頻度、編集頻度などが異なるのだが、しかしそれが一つのストリームにまとめられることによって、一番「早い」情報が目に入る領域を支配してしまう問題が起こる。 メルマガ(前半)を書きます: 二月は新テーマ「新しい/書くこと」としましょう。「new/write」でもいいです。 * * * 2時間ほどで、5000字書きました。ちょうど半分です。 13:00 メルマガ(後半)を書きます: * * * 1時間ほどで2500字書きました。あと、1/4ほどです。 あとで読む 「This War of Mine」のリードデザイナーが語る,ゲームでより良い物語を語る方法 - GamesIndustry.biz Japan Edition あとで読む KDPによる『村上春樹作品にでてくるスパゲッティの量が気になる』: 鷹の爪団の吉田くんはなぜいつもおこったような顔をしているのか あとで読む Evernoteを簡単に開いて編集するElectronアプリ - かわぽぬメモ! あとで読む 「楽しそうなところに加わりたくて」より - 23-seconds rambler

シゴタノ!を書く金曜日

大橋さんにDMの返信 モーニング・コーディング シゴタノ!ラジオの音声ファイルチェック シゴタノ!原稿書き ライフハッククラブハウスのタイトルロゴを作る NL+Re:構成 幸せについて:write ねじることについて:write 正解することは、おそらく快である:write 9:00 おはようございます。昨日は夕食後そのままバタバタしていて作業記録を締めないままで終わりました。逆に言うと、バタバタしていたのだなということが記録の欠如からわかります。 とりあえず、本日はシゴタノ!を書き、その後はNLを進めます。 push アナログの手帳に書き込む時間がないならば、たぶん急ぎすぎている。 Kindle日替わりセール: ブックカタリストで紹介した『功利主義入門』がセール対象。 Amazon.co.jp: 功利主義入門 ──はじめての倫理学 (ちくま新書) eBook: 児玉聡: Kindleストア モーニング・コーディング 今朝ダッシュボードを自動作成&表示されていたところ、27日のメモが一番上になっていて、更新されていないなと、コードをチェックしてみるもきちんと動いている。 で、もともとのテキストファイルを除くと、27日のしたに28日のメモが追加されている。これはつまり、grepの検索結果が、この順番に返ってきた、ということだ。 ファイル名順に素直に返ってくるはずだけども。 検索してみたところ、findの結果をパイプしてgrepしていて、findが名前順の結果を返していない、というのが原因っぽい。 shell — 表示された順序でgrepから結果を取得しますか? ということは、findの結果をsortに渡して、さらにそれをgrepすればいい。 1 grepcode = 'find /Users/Tadanori/Dropbox/logtext/2021 -type f | sort | xargs grep -E "\\* \\[ \\]"*' こういう感じかな。 * * * きちんとソートできたもよう。 10:00 シゴタノ!: 原稿を書きます。 book:read:start:『ひとはなぜ「認められたい」のか』 11:00 新ライフハックサイトの準備 課題点を拾い上げ、タスクリストを作り、実行に移していきます。 やはり、こういう局面では「タスク管理」の技法が活きてきます。

ブックカタリストな木曜日

NL+編集者さんにメール ブックカタリスト用のまとめ 13:30〜ブックカタリスト収録 NL+第四章のre:構成 イラストの練習 課題図書読書 教養を持つ人の心の狭さ:write PDCAがダメだという言説に対するなんとも言えない感覚:write 時間泥棒から時間キングへ:write 10:00 おはようございます。本日もポッドキャストの収録です。三日連続ですね。まあ、三つとも違う番組なので、同じことをやっている感じはないです。 とりあえず、今日は編集者さんに定期連絡をして遅れる旨を伝え、ポッドキャストの準備をして、あとはNL第四章のβ稿の準備にかかりましょう。 あと、R-styleかnoteも更新できればしたいところです。 モーニング・コーディング 以前作ったスクリプトを、朝の作業記録ファイル作成時に走らせるようにしてみましょう。 朝の作業記録ファイルは「juiz」のコマンドで作成され、それはエイリアスで短縮されたコマンド。 juizは、python wakeupday.pyを実行する。 よって、juizのコマンドを二行にするか、それともwakeupday.pyの中に、以前作ったスクリプトの実行を書き込むか、というところ。 もともと、wakeupday.pyでは、シェルスクリプトを走らせて、他のコードを実行しているので、そこに追加する形が楽。 * * * 組み込み自体は簡単にできたが、よくみたらリストが逆順になっていなかった。あれ? おかしいな。以前逆順表示するスクリプトを書いた気がするのだが……。まあいい。 これは、もともとのスクリプトをいじれば良さそう。 Pythonでリストや文字列を逆順に並べ替え(reverse, reversed) | note.nkmk.me Python, splitでカンマ区切り文字列を分割、空白を削除しリスト化 | note.nkmk.me * * * 単純にreverseしようと思ったら、「リストじゃないからダメ」と言われたので、文字列を改行文字でsplitとしてからreveseして、それをさらに文字列に戻す、という処理を行った。シェルの出力を受け取ったときにリストにしておけば、全体がもっとスムーズになりそうだが、とりあえずは気にしないでおく。 1 2 3 4 5 6 7 8 # 置換でファイル名を削除する todo = re.sub(r'/.*?\d{4}(\d{4})\.md:\* \[ \] ','* \\1 ',todo) # リストを逆順に todotemp = todo.split('\n') todotemp.reverse() todolist = "\n".join(todotemp) todolist = "todo\n" + todolist とりあえず、これで毎日ダッシュボードの中身が更新される。そして、未処理のタスクは新しいもの順に並ぶ。

新ポッドキャストな水曜日

NL+TCS 『Re:vision』+Chap05 15:00~新キャスト収録 イラストの練習 課題図書読書 デジタルで楽しく書く:write 「あえて難しい言葉を使ってみる」:write 9:00 おはようございます。連日になりますが、本日もポッドキャストの収録です。大橋さんと始める新番組の予定です。 あとで読む 新型コロナウイルスのFAQ横断検索サイトを「Gyazo」「Scrapbox」のNota社が立ち上げ - 窓の杜 - 緊急事態宣言下で知っておきたい記事 fragment:デジタルツール: デジタルツールにおいて、Aの形式でも持っておきたいし、Bの形式でも持っておきたい場合は、スクリプトを走らせるなどして、両方の形式のデータを作ればよい。 また、デジタルツールにおいて、Aのツールでも持っておきたいし、Bのツールでも持っておきたいというデータがあるならば、インポートによるデータの移行も可能だが、それよりも、まずAかBかのどちらかに入れてしまって、その後、手動でBにもコピーする、という作業を自分で行ったほうが良い。そこまで切実に両ツールでの保存を欲しているならば、という条件付きだが。 あとで読む 結城浩のメールマガジンVol.461感想 - issacのScrapbox fragment:新しい思想の一歩となるような大切な気づきに関するメモ: ソクラテスは、話し合うことを大切にした。 話し合うことは、一人ではできない。他者が必ず必要となる。 一方で、哲学の多くは、「ひとりで考える」ことが重視されてきた。ないしは、個の有り様がターゲットだった。あるいは急に大きくなって、社会や国家について論じていた。あるいは、「わたしとあなた」という形で、まず主体としての「私」があり、その対象物としての「あなた」がいる、という感じだった。主観至上主義。 はたしてこれはどこまで機能するだろうか。そうした思考に何かしらの限界があるならば、まさにそれは「ひとり」の限界なのかもしれない。 自由。 私たちは完全な自由を手にすることはできないし、手にするべきでもない(ホモ・デウス)。どこまで言っても、私が私である限りは、完全な自由に接することはない。どこかしら不自由さが残る。 その不自由さとは、つまり他者の存在だ。私が私であることと、そこに他者が消し切れずに入り込むことは同値である(西田哲学?)。 他者の哲学。他者からの哲学。 とりあえず、レヴィナスを読まないと。 あとで読む 自己もまた、このような他者もしくは世界なしには決して存在せず、これらからの抵抗を受けながら存在する | きょうのことば | 読むページ | 大谷大学 11:00 妻の昼食準備 push 『意志と創造の哲学 〜逸脱・誤配・越境〜』 12:00 NL: 引き続き、第四章を書き進めます。まずは、自分が書こうと思っていることを文章にしてみます。 14:00 au スマートパスプレミアム解約 iPhoneを機種変更したときに、「もしau スマートパスプレミアムにご加入いただければ機種代金安くなりますよ(すぐに解約してもらってもいいですし)」(括弧の中は私が勝手に読心しました)ということだったので契約したau スマートパスプレミアムを、無料期間中にさっさと解約します。

うちあわせCastな火曜日

モーニング・コーディング NL+第四章TCS 結城メルマガを読む 昨日のfragmentをScrapboxに 14:00~うちあわせCastの収録 『Re:vision』を書き進める 確定申告を進める MTGデイリーミッション 本をローソンに受け取りにいく イラストの練習 課題図書読書 9:00 おはようございます。本日はうちあわせCastの収録日です。あと妻の仕事がお休みなので、午後からはバタバタしているかもしれません。 とりあえず、午前中に進められるだけ原稿を進めておきましょう。 free-programming-books/free-programming-books-ja.md at master · EbookFoundation/free-programming-books · GitHub fragment:文芸的プログラミングとDo 文芸的プログラミング、という考え方がある。プログラムのソースとドキュメントを同一に記述するスタイルだ。 一方で、Doという考え方がある。Tak.氏によるタスク管理上の技法だ。これを同一平面に置くことはできないか。 一般的に、タスクはタスクリストとして記述され、それがなぜ起きたのかは記述されないか、別途異なるツールで記述される。しかし、それを一つにまとめても良いのではないか。 でもって、文芸的プログラミングと同じように、ソースを利用する場合は、それだけ抽出するようにタスクだけを抽出すれば、利用には支障がないのでは。 モーニング・コーディング 正規表現でテキストを整形できたので、そのファイルをダッシュボードに表示させてみます。 * * * わりと悲惨な結果になりました。 行頭が日付になっているので、リストに変換されません。ということは、置換を見直す必要がありますね。 * * * 良い感じに仕上がりました。 順番も逆順で表示されています(たぶん以前ダッシュボードスクリプトで設定した記憶が)。これで、作業ファイルに未チェックの項目が残っていると、ダッシュボードに表示されるようになります。 でもって、それはつまり、毎日ダッシュボードの表示が少しずつ変わっていくことも意味しています。 あとは、ダッシュボードを表示する前に一度このスクリプトを走らせるようにするだけですね。 あと、日付の情報が本当に必要なのかどうかがちょっと疑問になってきました。 NL: 第四章を続けます。 * * * 1時間ほど書いて、2300字のプラス。全体は1万1700字。なんとなく3万字くらいになりそうな予感だったのに、すでに書きたいことはだいたい書けた感が出てきました。たぶん忘れているものがたくさんあるのでしょう。 でも、すごく長くなりそうなところがコンパクトにまとまりつつあり、なんとなくそれほどのボリューム超過にはならないのではないか、という予想が立ってきました。 とりあえず、いったん書き出したカードを読み返してみるとしましょう。 10:00 メモの移動: 作業記録でfragmentとして書いたメモは、Scrapboxに移動したら、fragmentを消すことにする。それを移動完了の逆チェックマークとして扱う。 検索で引っかからなくすること、というチェックマーク。 あとで読む Google、脱「クッキー」加速 4月から広告主と試験運用: 日本経済新聞 push 「あとで読む」も、すべての作業記録から対象行を拾って、Webページ化しておくと良いかも。

原稿を書く月曜日

メルマガツイート うちあわせCastの確認 NL+第四章TCS モーニング・コーディング Clubhouseを調べる 『人文的、あまりに人文的』を探す→Amazonで注文 「あすけん」を調べる Honkure+『闇の自己啓発』 今週やることの確認 イラストの練習 複数のプロジェクトの進め方:write 『Re:vision』を続ける 確定申告の準備を進める 課題図書読書 本を複数人で読む楽しさ:write 行きすぎた自由の行き着く場所:write ブログを再定義する:write 9:00 おはようございます。本日は、特にイベントごとはないので、がっつり原稿に集中できそうです。 あと、メルマガ今週号配信されております。 シン・Evernoteの使い方 2021/メルマガにもテーマを設定する|倉下忠憲|note あとで読む やらなくてもいいリストのすすめ|MAYU.S|note モーニング・コーディング 置換処理を書きましょう。 * * * 1 todolist = re.sub(r'/.*?(\d{8})\.md:','\\1 ',todolist) 正規表現で置換します。 これで日付情報だけを残して、ファイル名を圧縮できました。 グループ名の指定で混乱したので、Scrapboxにまとめておきました。 Pythonのreでのグループ指定 - 倉下忠憲の発想工房 10:00 NL: どう考えても第四章はボリュームオーバーしそうですが、とりあえずは書きたいことを全部書いてみましょう。 * * * 2000字ほど書いて、全体は9000字まで。この章の要点が徐々に分かってきました。 が、書こうとしていることの1/3ほどしかまだ書けていません。バシバシ書き続けていきましょう。 11:00 妻の昼食準備など あとで読む 『暗殺教室』作者、5年ぶり新連載開始 “逃げ上手”の英雄描いた史実の逃亡譚 | ORICON NEWS あとで読む O’Reilly Japan - モノリスからマイクロサービスへ

ゆっくり読書する日曜日

メルマガ配信予約 slack巡回 シゴタノ!ツイート メールの返信 イラストの練習 課題図書読書 『闇の自己啓発』読書 『人文的、あまりに人文的』を探す→書店にない 原理的な規範の確立はどこまで有効か?:write プラットフォームとしてのGoogleにある再帰的な構造の問題:write 9:00 おはようございます。本日は午前中にメルマガを配信して、午後からは『闇の自己啓発』を読みたいと思います。 シゴタノ!日曜日分更新されております。 デジタルノートの三特性 | シゴタノ! メルマガ読み返し: まずは、読み返しからスタートします。 * * * 読み返しが終わりました。配信予約作業に移ります。 * * * 配信予約作業も終わりました。全体として1時間半くらいですね。 11:00 メールの返信 感想のメールに返信を書きます。 slackやdiscordのチャンネル感 「チャンネル」という言い方があまり好きではないけど、各ツールの説明にそう書いてあるのでそれに準じるとして、いったいどんなチャンネルを作ると、そのグループ内の話題が活性化するのかの勘所がまだいまいち掴めていません。 ライフハックの板があるとして、「ツール話」「本」「面白かった記事や動画」みたいな切り分けがいいのか、それともぜんぜん別の切り分けがよいのか。全般的な例を知らないので、そのパターンをアレンジすることも叶いません。 逆に言えば、いろいろな板に混ぜてもらうのがよいのかもしれません。 12:00 本が見つからない 『人文的、あまりに人文的』を買いたかったのですが近所の書店には見当たらず。 ただ、今は『闇の自己啓発』があるので、とりあえずこれを読み終えるまではネット書店での購入は保留にしておきましょう。できれば近所の書店で買いたいので。 13:00 book:read:GEB: p.90まで。 一方にいくだけならばそのシステムの把握は難しくない。行ったり来たりが起こるようになると、途端にそれが難しくなる。 あるものの底が行き止まりではなく、別の何かの始まりになっているとき、そのシステムの把握はひどく難しいものになる。 14:00 push モブ化するデータ あとで読む ナレッジ管理をObsidianに移行してみた push 箱としてのI。I am ……。 17:00 book:read:end:『闇の自己啓発』: 英語表記が、Dark Self-Enlightment Party なのがちょっと面白かったです。

メルマガを書く土曜日

モーニング・コーディング メルマガ(前半) メルマガ(後半) メルマガ「はじめに」 イラスト練習 課題図書読書 『闇の自己啓発』読書 9:00 おはようございます。今日は雨模様ですね。バババとメルマガを書きたいと思います。 モーニング・コーディング 昨日は、grepの結果をPythonで受け取れたので、その内容をテキストファイルに書き出します。 簡単に書けました。 結果です。 このままだとファイル名が邪魔なので、なんとかしましょう。grepのオプション指定で消せるかもしれませんし、単に正規表現で置換してもいいですね。 * * * オプション-hで、ファイル名を消せるよう。 ただ、ファイル名から、日付のデータだけ利用するのがいいかもしれませんね。 たとえば、こういう感じに表示させる、といったような。 メルマガ(前半)を書きます: * * * まずは2000字書きました。1/5達成。それにしても寒いですね。 11:00 妻の昼食準備など 12:00 メルマガ(前半)続けます: * * * 2時間ほど書いて、トータル8500字までいきました。書きすぎました。 わりと中途半端な分量なので、本号はこの一本で行きましょう。画像などを追加しておきます。 14:00 メルマガ「はじめに」を書きます: 素材集めとして、まず一週間のタイムラインを読み返し、必要なものはScrapboxにピックアップしていきます。最近、この作業が楽しみです。 あとで読む 楽しそうなところに加わりたくて – iPhoneと本と数学となんやかんやと * * * じっくり時間を使い、ツイートをピックし、Scrapboxに書き留め、必要に応じて文章を書き換えました。なんとなくこの過程が「思想を育てている」と思えるようになっています。 16:00 メルマガ「はじめに」を続けます: * * * ひいこら書いて、「はじめに」と「おわりに」も書き上げました。やはり午前中にがっと文字数を書くと、その後は短い文章でも結構気力を使いますね。MPはあるだなと実感されます。 20:00 嬉しい感想 メルマガを購読くださっている方から感想のメールを頂きました。こういうのはとても嬉しいです。嬉しいだけでなく、楽しさがあります。たぶん、その両方があるのが大切なのでしょう。 push 確定申告用の書類管理を再検討する 家事周りを片づけます 21:00 push 「最終的にこの戦いは敗北するだろう。それくらい私たちが抗おうとしている流れは巨大で強力である。でも、それで構わない。言ってみれば、抗うことその物に意味があるのだ。なにせ私たちが抗おうとしているのは、スムーズさであり、スマートさなのだから。滑らかにAからBへ接続すること。それを是とすること。いや、善とすること。その流れに私たちは抗おうとしている。だから、そこに僅かでも疑義を挟み込めるならば、十分な戦果と言える。まっすぐな線が、いくらかジグザグになるならば万万歳だ。そのような力学を欠いた、滑らかな世界ほど恐ろしいものはない。

シゴタノ!を書く金曜日

モーニング・コーディング シゴタノ! NL+第四章TCS 『Re:vision』chap05 コンビニBlog コロナ禍のコンビニ、戦略見直しへ…客単価6・4%増も売上高は初の4・5%減 : 経済 : ニュース : 読売新聞オンライン 『闇の自己啓発』を買いに行く 17:00~ブックカタリストの公開ツイート イラストの練習 課題図書読書 8:00 おはようございます。本日は、シゴタノ!の更新日です。午後からは妻の病院があるのでできるだけ午前中に原稿作業は進めてしまいましょう。 あと、今日こそは『闇の自己啓発』をゲットしたいところです。 あとで読む コロナ禍で参加者を3倍まで増やしたhontoのオンライン読書会「ペアドク」に潜入 (1/3) - ITmedia ビジネスオンライン モーニング・コーディング 昨日の続き。特定のフォルダの中のファイル一覧を取得し、そのファイルの中に特定の記述がある行があればそれをピックアップする、という流れ。 Pythonでファイル内の任意の文字列を含む行を抽出(grep的処理) | note.nkmk.me なんか、面倒そうだ。 python上で素直にgrepを実行して、その結果を受け取った方が早いのではないか疑惑。 * * * 秒でできた。 1 2 3 4 5 6 7 8 9 import subprocess from subprocess import PIPE # シェルでgrepを実行して、その結果を受けとる grepcode = 'find /Users/Tadanori/Dropbox/logtext/2021 -type f | xargs grep -E "\\* \\[ \\]"*' proc = subprocess.

今日もポッドキャストな木曜日

[-] 闇の自己啓発の発売日なので買いに行く NL+4章TCS 『Re:vision』の第五章を大胆に書き直す 14:00~BECKさんと番組 課題図書読書 イラスト練習 9:00 おはようございます。今日は、午後からベックさんとのポッドキャスト(&youtube live)を収録の予定です。 あと、『闇の自己啓発の発売日』ですね。 push シンEvernoteの使い方:メルマガ push 基礎の話が抜け落ちる:メルマガ push 『タスク管理の基礎』(小冊子)みたいな本を作ってみるのはどうか push 自分のポッドキャストの番組表を作っておく? モーニング・コーディング 朝一の作業記録の作成コマンドと共に、未チェックのタスクがgrepされること自体は良いのだけども、VS Codeのターミナルで動かしているので、どうしても「一覧」ができない。フォントサイズを小さくしてなお十行くらいしか表示されないので。 通常のターミナルでやればまた違った感触を受けるのだろうけども、いまのところそうしようという動機付けは特にない。 いや、作業記録はターミナル+Vim or Emacsでつけ、原稿執筆はVS Codeという使い分けは一応ありうるか。これは要検討。 ともかく、現状のままであれば、一覧したものが見えづらい。ということは、別の方法が良い。 一つは、ダッシュボードに表示させることで、これであれば既存のやり方に乗っけられる。もう一つは、VS Codeの検索を行うことで、この場合は、その操作さえ自動化できれば、表示の整形やらファイルへのリンクといったものは一切考えなくてよい。 おそらく、拡張機能を自作できれば実行はできるだろう。そうでない場合は、ショートカットキーで検索を発動させることくらいだろうか。この辺の微妙なアレンジがなかなか敷き居が高い。 とりあえず、ダッシュボードの方で考えてみる。 現状のダッシュボードは、テキストファイルの中身を読み込む形になっている。だとすれば、あるコマンドが実行されると、grepした中身をどこかのテキストファイルに保存し、それをそのままダッシュボードに表示する、ということになるだろう。 役割分担としては、「タスク用のテキストフィルを更新する」スクリプトと、そのスクリプトを実行するダッシュボード用のスクリプト、という感じだろうか。前者を単独で実行すれば、朝一でなくても使えることになる。 正直、grepの結果をテキストファイルを作って保存するというのは、二度手間感が半端無い。ターミナルの画面が大きければほぼ無用である。が、とりあえずそのことは無視して話を進めていこう。 まず目指すのは、Pythonで、特定の期間のファイルを走査し、チェックボックスが未の行を抽出することだ。おそらくファイルをwalkする的な奴を使うことになるだろう。 まずはスクリプト用のファイルだけ作っておく。 * * * todofileupdate.py というファイルを作った。続きは明日以降。 NL; 第四章の書き下ろしを続けます。 push 無言の星評価の話:メルマガ 一時間半ほどで、2000字とちょっと書きました。全体は4600字まで。 11:00 妻の昼食準備など 12:00 お昼はカレーうどん