『Spherize』を書く火曜日

『Spherize』を書く 『僕らの生存戦略』を1000字進める(TCS) 8:00 おはようございます。本日は『Spherize』を書き、ひさびさに『僕らの生存戦略』に着手したいと思います。 さて、うまく書けるかどうか。 モーニング・コーディング モジュールの作成の続きから。適切なモジュールの関数設計のフレームワークがまったくわからないので、一番小さい単位で求めているファイルをパスを返す関数を書いてみた。 1 2 3 4 5 6 7 8 def printToday(): print('today is ' + td.strftime("%Y-%m-%d%A")) def getInFilePath(): return ty + '/' + tday + '.md' def getOutFilePath(): return "/Users/Tadanori/Dropbox/dailylog/content/posts/" + ty + "/" + tm + "/" + tday + ".md" これで、機能はまったく変わっていないけれども、ファイルのパスを変更したくなったら、この関数を変更するだけで、すべてのコードに影響を与えられる。 あと、現状切実な問題は、上のようにコードを挿入するときにHugo用のショートコードでサンドイッチしているのだけど、それを覚えていないので毎回昨日の作業記録からコピペしている点。単語登録してもいいけど、変換してみたい。 開始と終了のショートコードを、自分でも覚えられる程度の短さにしておいて、それを変換して利用する。 9:00 『Spherize』を書きます * * * 一時間くらいで書けました。一応中盤の佳境です。 第九回:膜と現象としての自己|倉下忠憲|note WorkFlowyの検索 当たり前だけども、WorkFlowyでは検索はできるけども、正規表現での検索はできない(当たり前なのか?)。 ということは、たとえば「2020/11/9 hogehoge」みたいな記述が一杯あるときに、日付がある行だけを抽出ということができない。そのかわりに、#Schedule のようなハッシュタグを入れておけば抽出できる。 この二つが同じことをしていることを理解しておくことは大切だろう。 作業記録について: 朝一にやりたいこと。「一週間のルーチン業務」と「直近スケジュール」と「抱えているプロジェクト」を一覧したい。

臨時うちあわせCastを収録する月曜日

うちあわせCastの収録 今日からのプロジェクトの進め方を検討 9:00 おはようございます。今日は、プロジェクトの進め方の整理と、臨時のうちあわせCastの収録を行う予定です。 モーニング・コーディング 日付文字列を作成する共有関数(モジュールと呼びましょう)の続き。 地域情報を設定して、mondayではなく月曜日と表示されるように。 1 2 3 4 5 6 7 8 import datetime import locale locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8') td = datetime.date.today() def printToday(): print('today is ' + td.strftime("%Y-%m-%d%A")) あとは、この関数の利用方法を検討すること。生成される日付がどのように利用されているのかを分析すればよいでしょう。 今後のやることの方向性 日付モジュールの作成 変換機能の強化(たとえば共有には移さない記法を設定する) 朝一のダッシュボード表示(たとえば一週間の予定) あとで読む ハーンスタイン&マレイ『ベルカーブ:アメリカ生活における知能と階級構造』(1994) - 山形浩生の「経済のトリセツ」 再燃するZINE:ネット時代に花開くコミュニケーション・カルチャーの真髄 | FUZE fragment:一年間に1000冊も本を読む 一年間に1000冊も本を読んでいるというひとは、もちろんほとんどの本を「まともに」は読んでいません。 一方で、そうやって「まともに」読まなくても、何かの経験を得ている、ということもまた確かです。 作業記録: 最近は、VS Codeを二つ開いている。一つは、この作業記録を書き込む用のworkspaceで、もう一つは着手するプロジェクト用のworkspace。後者のworkspaceを適宜切り替えながら、作業を進めている。 一つにしないのは、プロジェクトの作業をしているときでも、作業記録にメモしたいことが発生するから。 では、ターミナルから、この作業記録に記録できるようになったらどうなるだろうか。 基本的に新規メモは、下に下にと追記していくのだから、コーディング的には難しくない。ターミナルでinputを要求して、受け取ったものを、今日の日付からファイル名を作成して、そこに追記すればいい。 ただし、inputでは単行しか受け取れない。作業記録用のメモは一行で終わることもあるけど、そうでないこともある。 複数行を受け取るには、繰り返し処理だが、最初から回数はわかっていない。 python — ユーザーから複数行の入力を取得する方法 1 2 while input() !

メルマガを仕上げてゆっくりする日曜日

メルマガ読み返し メルマガ配信予約 What’s this? 9:00 おはようございます。本日は午前中にメルマガを仕上げ、午後からは書店に出かけるか、あるいは家にこもって読書をしたいところです。 あと、zennを少し試すかもしれません。 Zenn CLIをインストールする GitHubリポジトリでZennのコンテンツを管理する MEMO:プログラミングとライティング MEMO:デジタルでいかに考えるのか 作業記録のアイデア hey juizコマンドから、たとえば何かしらのWebページを開く、という手はある。 あとで読む 高速道路からの風景 nonoc「mement」 nonocのアニメ『Re:ゼロから始める異世界生活』の2期ED「mement」という曲がむちゃくちゃMYTH & ROIDの曲調に似ているなと思ったら、作曲がTom-H@ckさん(MYTH & ROIDの作曲の人)だった。 曲を買いました 『Broken Sky』(富田美憂) 10:00 メルマガ読み返しを進めます * * * 終わりました。配信予約作業を進めます。 * * * 終わりました。 メルマガのmakeコマンドの編集 現状以下のようにimportにテキストファイルを指定しているけども、すべてテキストフィルであることが前提なので、拡張子の入力を省きたい。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 def fetchFile(filepath): filepath = filepath + '.txt' with open(filepath) as f: l = f.

メルマガ書く土曜日

メルマガ前半 メルマガ後半 メルマガはじめに 9:00 モーニング・コーディング 昨日書いたファイル(モジュール)を読み込むように。 1 2 3 import getTodayFilePath getTodayFilePath.printToday() importでは、拡張子は不要なのでファイル名だけ。で、ファイル名(モジュール名)を指定して関数を呼び出す。 うまく行きました。 あとは、関数の方の中身をバージョンアップするだけです。 作業記録 ためしに本日からトップに3タスクを表示するようにしました。続けるかどうかはわかりません。 NL push » ノート術の生成 push » 情報を孤立させない。経験を知識を。 setnumber: Twitterの普及と震災、Uber EatsやZoomの普及とコロナ。 setnumber: 計画がうまく立てられないというのも、計画力うんぬんというより、思考技術なのだろう。 あとで読む: Non-Stop Writing🖋|うまっち|note noteをやめようと思います。|Tamaka Ogawa|note 「赤福」東京駅で限定販売 「買うためだけに行く価値あり」など反響 - ライブドアニュース fragment: 身もふたもないこと。 noteをやめようと思います。|Tamaka Ogawa|note ストレートに物事が言われない時代? 要検討。 10:00 メルマガ前半書きます * * * 1時間半ほどで、2700字を書きました。一つ目の連載はこれでOKです。次に行きましょう。 12:00 * * * 1時間半ほどで、2100字ほど書きました。全体は4800字くらいです。これでメルマガの「前半」はクリアです。後半を続けます。 13:00 メルマガ後半を書きます * * * 1時間半ほどで、3200字ほど書きました。全体は約8000字です。あと一踏ん張りですね。

シゴタノを書く金曜日

9:00 おはようございます。本日は雨ですね。 昨日は結構がんばりましたので、今日は比較的ゆっくりめで進めたいところです。 金曜日なのでシゴタノを書き、昨日いろいろとやったので状況整理をしておきたいです。 あと、明日粗大ごみの日なので、出すのを忘れないようにしないと。 モーニング・コーディング 原本ファイルの新規作成時、その日の概要だけでなく、しゃーぷ×2個を置いておくことにした。 で、そのファイルを開いたときに、カーソルを先頭にしておきたい。 1 vscode = 'Code -g ' + fpath + ':3:3' あと、昨日ファイルのネーミングを変えたときに、やはり二つのファイルを変更したので、共通の関数にしておいた方が良さそう。 Python で別ファイルに書いた関数を呼び出す方法 - Python の関数 - Python の基本 - Python 入門 別ファイルを作り、そこで関数を定義して、呼び出す方でそのファイルをインポートして、関数はファイル名(モジュール名)付きで使用する、という感じか。 とりあえず、小さく実装してみる。ファイルを作るところから。 さて、名前は何だろうか。この関数は何をするか。今日の日付から、使用するファイル名(パス)を作成する。 関数としては、呼び出すとファイル名が返ってくる、というところか。 getTodayFilePath.py とでもしておこう。関数は 1 2 def getToday(): print('today is ' + td.strftime("%Y-%m-%d%A")) とだけ書いておく。原本ファイルと共有ファイルはパスが違うので、配列で返して[0]と[1]で使い分けるか、原本ファイル用のパスを返す関数と、共有ファイル用のパスを関数を別に定義していもいい。 とりあえずは、ここまでにしておく。 あと、hey juizコマンドで、原本ファイルだけでなく、デイリータスクリストの初期状態(init)も作れるといいな。最近、これを書き始めてから、WorkFlowyでデイリータスクリストを作成するのが若干面倒になっている。一緒にできればヨロシイ。 ただし、WorkFlowyはAPIが無いので、Pythonでブラウザを操作するようなことをするか、いっそデイリータスクリストもテキストファイルに以降するか、だ。これは大きなプロジェクトになりそうな予感。 setnumber コーディングとライティングの名付け コードのファイルないしは関数名をつけることと、文章のタイトルないし見出しをつけることの相似。 10:00 シゴタノ!を書きます Obsidianではなく、『独学大全』についてです。 週一の確認 Obsidianは日常遣いしていないので、毎週一回シゴタノ!を更新するタイミングでアップデートを確認する、という流れになっている。まるで週次レビューのようだ。 setnumber chaotic-lifeと防波堤としての秩序 11:00 setbumber VR世界にこんまり流は必要か。

SF小説を仕上げる木曜日

8:00 おはようございます。 今日はSF小説の締め切りで、企画案の送信予定日で、うちあわせCastとオンラインでの取材がある日です。 い、いそがしい……。 とりあえず、取材用に答えをいくつか整理しておきましょう。 あとは、SF原稿と企画案の提出のどちらを先にするかでタスクの枠組みは変わってきます。 タスク管理についての質問のメモ Scrapbox(プライベート)に、いただいた予定の質問に対する答えを列挙しておきます。 このメモの通りに答えるかどうかはわかりませんが、自分の思考の整理にはぴったりです。 * * * ちなみに、1〜3の質問項目をいただいているのですが、だいたいその質問の前提となっているフレームワークを壊すような答えが得意です。自慢でもなんでもありませんが。 あとで読む Early Work アウトライナーとプログラミング(デイブ・ワイナー) - Word Piece 書評 超訳ライフ・シフト―100年時代の人生戦略 書評 自閉症は津軽弁を話さない リターンズ Started a web and voice conversation with Andrew Shell about ideas for rethinking blogs and feeds. I found, as others ha… A Great-Grandfather’s 1953 Marquette Diary 読んだ本の内容は忘れてもいい!「知の達人」が語る最強の読書術 | だから、この本。 | ダイヤモンド・オンライン セブンイレブンが初のベンチャー投資、グルメ投稿サイトの「SARAH」に出資 _小売・物流業界 ニュースサイト【ダイヤモンド・チェーンストアオンライン】 作業記録のエラー また共有用のサイトで新しい作業記録のページが表示されません。ということは、昨日のエラーは、タイトルを"“で囲っていなかったのが原因ではなかった? 一度テスト用のファイルを作り、それをpushしてみる。そちらではまったく問題なし。 そのファイルの名前を、2020-10-22.mdとする。すると表示されなくなった。? 少しずつ試してみよう。

SFを書き直す水曜

10:00 おはようございます。本日は妻の出勤時間が早まっていたので、バタバタしておりました。 とりあえず、SF小説の書き直しを進めながら、明日の取材の準備と、『独学大全』の読書を進めたいところです。 fragment:思考強度 イヌ息子さんはTwitterを使っています 「この間ウォーキングを研究してる信州大学の教授がラジオに出て、「1日一万歩歩くのを一年つづけてもらう研究をしたところ、運動の強度が低すぎて健康にも生活習慣病にも特に効果がないことがわかりました」と言っててちょっと驚いた まさか全く効果がないとは… 心拍数が上がらないと意味ないらしい」 / Twitter 「考える」という行為にも同様のことが起こるのではないか。あるいは、行為(挑戦)にも。 fragment:洗車マネジメント たとえば、洗車のように毎日やるわけでもないし、明確な締め切りがあるわけでもないが、一定のスパンで実行したいような行動があるとする。 そういうときに、表組みを作っておくと便利。 いくつかそういう洗濯項目を並べておいて、最後に実行した日付を書く。で、その表を見て、「あっ、もう前の洗車から一ヶ月以上経っちゃってるな。そろそろ洗うか」という注意が促される。 で、仮に日記を書いている場合は、まず日記に「今日は洗車をした」胸を記し、その後清掃表組みにその事実を記載することになる。 では、それをこの作業記録で行えばどうなるか。 たとえば、Done:hoge のような形で書いて置けば、それが日付と共にファイルに保存されて、Juizにlsコマンドを投げると、前回に清掃を行ったものがリストで標準出力されるような、そんなイメージ。 一応、ここまでのアルゴリズムくらいなら、自分で書けそうな気はする。 ちなみに、Notionを使う手もある。 そろそろやりましょうと教えてくれる、Notionの「おそうじカウントダウン」 あとで読む アナログゲームとデジタルゲームは何が違うのか|jun1s|note とある漫画雑誌が、一年かけて表紙に仕込んだ伏線がめちゃくちゃすごかった。(※百合姫)|みかみ てれん|note 『ツイッター哲学——別のしかたで』予約開始|千葉雅也|note Gatsby.js, TailwindCSS, Netlifyでフリー素材サイト作ってみた 目的別で選ぶ書評サイト20選 | 文学ナビ ディスカヴァー・トゥエンティワンが新レーベル「ディスカヴァーebook選書」を立ち上げます。世の中の未電子化作品を電子化して読者のみなさまにお届けします。|株式会社ディスカヴァー・トゥエンティワンのプレスリリース 星5レビューの集め方 同じ著者の本に、大量の星5に限ったレビューがついていたら、つまり本A、本B、本Cのどれにも大量の星5が集まっていたら、「ああ、そういういことね」と察することができる。 しかし、それは同じ著者の本だからすぐにわかる(Amazonのメリットだ)のであって、そうでない場合はわかりにくい。 で、あるグループを作って、そのグループ内で本を出した人の本を褒めようという雰囲気がある場合、Amazon内ではそのグループは可視化できないわけで、上と同じ「ああ、そういうことね」という察しはかなり難しくなる。それこそ、そのグループに入らないと確証は得られないだろう。 でもって、そういうレビューはあくまで「雰囲気」で促されているだけであり、レビューの依頼ではないのだから、真っ黒な規約違反というわけではないだろう。せいぜい黒寄りのグレーというだけだ。実に巧妙である。 しかしまあ、そのジャンルの平均的な販売数、レビューの数、評価の偏りなどを総合すると、なんとなく怪しいなというのは直感的に感じられる。似たジャンルの、同じ程度売れている本が、カスタマーレビューレビュー2個なのに、その本はカスタマーレビューが8つ付いていて、しかもすべて星5個だというとならば、「ああ、そういうことね」と推測することができる。 本を売ることとPVを集めること 本を売ることは、本を売ることではない。 というのは別に禅問答ではなくて、少なくとも僕は一冊の本だけを売り込もうとはしていない。言い換えれば、その本が売れさえすれば、あとはどうなっても構わないとは考えていない。 だから、販売促進の方法や本の内容を売れることに最特化した形にはしていない。本を面白いと思ってもらえ、この著者の本なら他にも読んでみたいと思ってもらえるように努めている。 で、この構図は、サイトを魅力的に思ってもらうことと、単にPVを集めることの関係性にも似ている気がする。 SOを書き直します 今日もまずは、冒頭から読み返します。 * * * 以上のように、すごくメモで脱線したので、ひとまずはchap01の読み返しだけ。少し整いました。 NL push » カンニングペーパーの逆説 push » ネタ帳の効用 push » ノート術の生成(ジェネレート) 記録がないと、いつ自分がそれを始めたのか、どんな結果を望んで始めたのかもわからなくなる。それは何が喪失するのだろうか。「見当識」に似た言葉? 11:00 モーニング・コーディング 朝一、hey juizと呼びかけて、「今日はどんな一日にしますか」と尋ねられて、それに答えたあとに、何かプリントされるといいかもしれない。

SF小説を仕上げる火曜日

9:00 おはようございます。 本日は、SFの書き直しを進めつつ、『Spherize』の更新をします。 あとで読む ベンチャーとAmazonが正面対決 「聴く読書」が熱い:日経クロストレンド 時代を紡ぐ新鋭編集者 | バズはMP、HPは増えない 「少年ジャンプ+」編集者・林士平インタビュー Vo.2(KAI-YOU Premium) fzf(fuzzy finder)の便利な使い方をREADME, Wikiを読んで学ぶ - もた日記 NL push » 思考が狭いとは、どういう状況か? push » ノートが使えるとはどういう状況か? push » 人が注意を向けられる対象は限られているから、自分の行動の全体像が俯瞰できていないことが多い。 push » 比較、分析、解析 number Napkin letter fragment:自分のことしか考えない人 思考が狭まっている状況ではある。 そこで結城浩さんの読者のことを考える、という箴言がどう絡んでくるか。 自分のことしか考えないのは、たぶんつらいこと。 10:00 SO まず、ざっと読み返して、簡単に補強できるところを直します。 とにかく、細かいところにこだわらないことを指針とします。粗めのサンドペーパーを掛ける感覚です。 * * * とりあえず、04の最後まで、4000字分くらい読み直し&書き直しました。 あまり細部にはこだわらず、表現的におかしいところを直しました。 引き続き残り4000字も進めましょう。 いったん一回目の読み返しを進めてしまうか、間に『Spherize』を書くか、ちょっと迷うところですね。 11:00 いったん散歩しましょう 体を動かします。 12:00 妻の昼食準備 13:00 車屋さんへGo 妻と出かけると、予定以外のことでだいたい時間がかかります。諸行無常です。 15:00 本&ポッドキャスト 読んだ本をちゃんとアウトプットする方法を考える by ごりゅごcast • A podcast on Anchor

SF小説を書き進める月曜日

8:00 おはようございます 締め切りが近づいておりますので、本日はSF小説を2ブロックほど進めたいと思います。あとは、Substackの配信ですが、これは「できたら」でいいでしょうか。 提出する企画案もそろそろまとめておきたいところです。 モーニング・コーディング 原本ファイルの冒頭に日付を入れるようにしました。具体的には以下の変更。 「SF小説を書き進める月曜日」 「2020-10-19:SF小説を書き進める月曜日」 コードはこんな感じ。 1 2 tbody = '''{0}:{1} '''.format(td.strftime("%Y-%m-%d"),ds) あと、原本ファイルをVS Codeで開いたときに、カーソルを2行目に移動するようにしました。 1 vscode = 'Code -g ' + fpath + ':2' これでぐっと快適です。 どうせ毎回書くのだから、時間を記述した見出しを入れてもいいですが、その辺は自分で書き込むことに意義があるような気もします。 これで、原本ファイルの作成まわりはだいたい整いましたね。次は原本ファイルから共有ページの変換まわりのいろいろです。 Hugoで記事が表示されない 今日の作業記録をアップして、さてWebブラウザでチェックしようかと思ったら、なぜか記事が表示されない。 GitHubにはプッシュできているし、Netliftyもエラー無く走っている。 いろいろ試した結果、メタ情報のtitle:~がtitle:“~"になっていなかったのが失敗の模様。 結構時間を食われましたが、とりあえず解決したのでよしとしましょう。 あとで読む 【第2回】アウトライナーに向いた人|Tak. (Word Piece)|note 書店巡りの「御書印」 本と書店、そして人生結ぶ印に:朝日新聞デジタル 9:00 SOを進めます ブロック06から。 * * * 1600字ほど書きました。 トータルで7000字ほど。 ほぼ中核部分にさしかかりました。あとは、ここから終わりに向かって進んでいくだけです。 10:00 NL 自由になるためのノート ノートが続かないのは当たり前 考えるための静かな場所を持つ デジタルノートの未来 「自分」ということについて。そして、現代の情報環境について。 iTunesストアで曲を買いました 『群青』(YOASOBI) 『Break』(Uru) 『Howling』(ASCA) 『廻廻奇譚』(Eve) 『アカシア』(BUMP OF CHICKEN) 『エメラルド』(back number) 『炎』(LiSA) 『Memento』(nonoc) 『unknown』(ReoNa) 『over and over』(井口裕香) 『キミのとなりで』(鬼頭明里) 11:00 妻の昼食準備など 12:00 正解信仰 「正解」は、それが作られる環境の中での一番最適な選択に過ぎない。その環境を一歩でも出れば、「正解」は有用性を失う。

メルマガを仕上げてゆっくりする日曜日

9:00 おはようございます。本日は日曜日なので、メルマガを午前中に仕上げて、午後からは読書or映画鑑賞したいと思います。「ファイトクラブ」を観たいのですが、さてさて。 あと、昨日一文字も進めなかったので、SFも一日分の進捗は出しておきたいところです。 モーニング・ライティング 昨日、hey juizコマンド一発で、環境設定もいじれるようになったので、その続きから。 まず、「メルマガを仕上げてゆっくりする日曜日」みたいなものを原本ファイルにも入力するようにしました。ついでに日付も入れたいですね。 また、原本ファイルを作成したら、そのファイルをVS Codeで開くようにしました。 1 2 3 vscode = 'Code ' + fpath proc = subprocess.run(vscode, shell=True, stdout=PIPE, stderr=PIPE, text=True) 直接Pythonで開くのではなく、シェルスクリプトを走らせています。 ただ、現状だと、一行目に「メルマガを仕上げてゆっくりする日曜日」みたいなものが入っていて、その行にカーソルがあるので、それを替えたいところ。 VS Codeのコマンドラインオプション:起動編:Visual Studio Code TIPS - @IT これでいけるはず。 あと、これまでは.txtで保存して、VS Codeのモードをマークダウンにして使っていましたが、それも面倒なので、原本ファイルも.mdファイルにしました。 やはり見出し行は色が変わって欲しいので。 TODO:原本ファイルの先頭に日付をいれる TODO:原本ファイルをVS Codeで開くときに最終行からにする マガジン追加忘れをどう防ぐか 昨日購読者さんに指摘されて、noteのメルマガがマガジン登録されていなかったことに気がつきました。以前にもやったミスです。 最近メルマガ周りの作業がどんどん自動化しているので、逆にミスに気がつかなくなっている傾向があるかもしれません。よろしくない。 こういうのはチェックリストを作って、ミスを防ぐのが常套手段ですが、では、どこにどのようにチェックリストを作ろうかと考えていたところ、ピンときました。 メルマガを配信する前は、makeコマンドを走らせてepubファイルを必ず作成する。だとしたら、そのコマンドでチェックリストを作成(ないしは表示)すればいいのではないか? 案1: あらかじめチェックリスト用のテキストファイルを作っておき、それをVS Codeで表示する 案2: あらかじめチェックリスト用のテキストファイルを作っておき、その中身を新しいタブに読み込む (保存されていないテキストファイルをヘルプ項目的に開くことができれば、emacsのバッファ的に使えるのだが、それは可能だろうか) 案3: チェックリストの中身をターミナルに出力する。この場合、確認(チェックマーク)をつけていくことはできない。 一番シンプルなのは、案1。 メルマガの原本ファイルに、チェックリスト項目を追記してしまう、という手もある。 やや思案。 デイリータスクリストを、WorkFlowyではなく、テキストファイルで作っているならば、メルマガのmakeコマンドと共に、チェックリスト項目をデイリーにつっこむ、ということができそう。 そのやり方なら、無理にテンプレートに入れておかなくてもよい。 でもって、メルマガ以外にも応用は広がるが、さて。 とりあえず、メルマガのフォルダに以下のファイルを作成した。 というか、現状原本ファイルの冒頭部分は共有ページには反映されないのだから、その範囲を拡大するとどうなる? 確認しておくべきTodoを、原本ファイルの冒頭に追記する? いや、作業記録はどんどん下に進んでいくので、冒頭は確認されない可能性が高い。 だったら、下に追記すればいいのでは? メルマガでmakeをすれば、チェックリスト項目が、作業記録の末尾に追記される、という形。たとえば、今なら、