"alchole"

2024-10-14

模様替えした。机を片付けてリビングを生成した。ソファと本棚、ベランダに続く窓で余白を三方から囲む間取り。寝室にはベッドと着替えに関するものがある。

机がないのはどうなのだろうと思ったが、ここ1年くらいは家でパソコンするときはノートパソコンだけで完結させることが増えたし、そもそも読書が中心なので机をヘビーユースしない。数学の本を読むみたいな読み方をしにくくなることと、在宅ワークしたくなったときに面倒そうなのがネックかな。リビングの空間がいい感じで嬉しい。

Goは静的解析のためのパッケージを標準で提供していて静的解析ツールを作ろうと思うとコンパイラが扱うデータ構造を割と見ることになる。 AST、その型、SSAが代表格だろう。型は単体でプログラムを表現するわけではなく、 ASTに対してつく(かもしれない)メタデータだと思えるかもしれないが、これらのデータ構造はGoコードのいろんな表現の中の一つだと思えそう。アセンブリ言語もその中の一つなのだろうけど、アーキテクチャに依存したりランタイムのあれこれが入ってきたりして抽象度以外の違いも入ってきそう。

静的にコードを解析すると一口で言っても解析の内容にはいろんな抽象度の違いがある。多分ぼくは型レベルの話までは適切な抽象度を選んで使えるのだけどSSAで表現するようなレベルだとまともに使えないと思う。使えるようになるにはどんな表現があって、どんな解釈をするのかとか他のレイヤとのどんな対応づけをするかを把握すると良いのだろう。

  • すべてのtodoアイテムにクリックでリンクコピーが可能なsvgをつけた。そのためにidを生成しているのだけど、コンテンツのハッシュ値を用いているのでテキストを加えたりするだけでアンカーが壊れる。直したい。

  • 衣類収納・衣替え
  • ゴミ袋 (> 17L)
  • 食材
    • 野菜
  • Real World HTTPをがッと読む やっぱり「ドメイン駆動設計をはじめよう」にする

  • 型システム
  • 静的解析
  • 意味論
  • ソフトウェア設計
  • 開発ツール

philosopy of software designとかに書かれてる。コンストラクタとかメソッドの定義とか引数の型とかでいい感じにできる。でもたまに辛いこともある。変更するのがだるいとか、そもそも人が管理しているやつで変更のためのコミュニケーションが面倒とか。あとは既存ユーザが多すぎて変更が大変とか、そこまで設計でカバーするのは大袈裟とかも入るかな。型パズルすれば間違えられないけど、定義をメンテナンスするのが辛くなるとか読みづらいとか。

そこで静的開発ツールを入れてしまう手がある。便利なツールがあるのはいいけど失敗すると辛いので、静的解析で(多少雑に)防ぐ方法。

TypeScriptなんかはそれをめっちゃ頑張った例だし、Goの未使用変数を許さないやつは頑張れば型システムでなんとかなるけど、そこじゃないでしょうということで静的解析ツールの領分になっていそう。型システムちゃんと作るのめんどいし。

上手な設計をする他にeffecttiveな使い方を促進する方法としての静的解析を推したい。

静的解析ツールというと何を思いつくだろうか。

学習による能力の獲得による喜びと課題解決に対する喜びでは、課題解決の方がでかいように感じる。それらは相入れない楽しみではなく課題を解決するために必要な学びをすることで、途中では学ぶ喜びを手に入れつつ、最終的には課題解決の喜びを得られる。さらに学ぶ途中では課題解決のために前進する喜びを追加で味わうことができる。

なお、それが本当に自分が学びたかったことだなのだろうか、みたいな悩みを抱くことはあるかもしれない。

2024-10-06

LLMはコンパイラとかみたいに説明とか分析を出力してくれるものではあるけど、 LLMはコンパイラよりも人間に近いものだと思っている。コンパイラみたいな決定的な出力をするツールに対して良い入力を与えてその出力をそのまま共有することには価値がたくさんあるけれど、 LLMから得られた出力をそのまま「LLMに聞いたらこう返してくれました!」っていうのは(少なくとも現代使えるLLMのレベルでは)意味が薄いと感じる。

人間に対して質問して、その回答をそのまま人に共有することにも、場合によって価値がたくさんあったり薄かったり感じることがそれぞれある。質問を回答してくれる人間に対して信頼というか専門家としての信頼というかがあったら、そのまま回答を知りたいと思うが、その辺のただの人とか単に知識がたくさんあるだけな人だと、 (アンケート回答のデータとかなら別だけど)意見や情報としては価値を見出しにくい。そんな感じに、ぼくはLLMを専門家だとはまだ思えていない。単に知識がたくさんあってそれっぽい文章を生成するだけの(論理的思考の欠けた)出力をするやつだと思う。

とはいえ知識や経験がたくさんあれば結構な量の論理的思考は不要だろうことは段々わかってきた。なんのために考え事が必要なんだろうね。そして論理的思考とは何なのだろう。

今週は疲れた。先週の金曜から毎日飲み会だとか人と会ったりだとかのイベントがあった。それぞれは楽しいのだけど全てに参加していると大変。昨日はずっと寝ていたし、今日は家事をしていた。本を読む気力もない。体としては寝ても良さそうなのだが頭は何かをしたがっているので文章を書いている。本を読みたい気持ちもあるが、落ち着いて考え事をしたい気持ちもある。今その本を本当に読みたいのだったか、とか。

わかったつもり 読解力がつかない本当の原因 (光文社新書) に本屋で出会って読んでいるのだが良い。わかるとか理解する、みたいなことは一体何なのかは高校生の頃からのぼくのテーマの一つなのだが、それを一段深めてくれている。

ぼくの中での「理解する」とは、説明をつけることとか腹落ちしていることであった。論理とかは客観的なアレとして社会的に認められていたり、自然科学は実際問題役に立っているので市民権を得ているが、そんなことは「理解している」とは関係ないと思っている。理解しているか否かは主観的な問題で、腹に落ちた感じがするなら自分はそれを理解していると思うし、自分が同意できる説明を他者がするなら他者はそれを理解しているように感じる。そういうものだと思っていたし、今も思っている。

この本の説明ではぼくの解釈と矛盾しない中で理解の程度を論じているように思う。文脈とそれに対する解釈を持っている人間は、文脈を新たに獲得し明らかにすることで対象の解釈をより鮮明にする、みたいな主張だと今のぼくは大体思っているはず。鮮明にするというか、よりわかるというか。

これまでのぼくの理解への価値観には抽象度の違いがなかった。抽象解釈をするときにどれだけfineに解釈するかの違いが認識する文脈の違いに依存することをこの本に解らさられた。

この前ご近所さんとお話した影響で今日は八百屋に行ってきた。はじめて行くタイプの八百屋で、なんとカゴとレジは存在しなくて、床に陳列されている野菜を見ながら店員さんに口頭で欲しい野菜をクエリするタイプの買い方だった。ちなみに野菜の品質はそんなに良くなかったので次は他のところかなと思っている。安くはあった。

結局人は自分と近しい考えを読んでそれを楽しいと思うのだな、みたいなことを恩師が言っていたのを思い出した。ぼくもそう思う。そういう答え合わせみたいな読書は楽しい。

読書に限らずおしゃべりとかでもなんやかんや同調とか、似たような哲学のもとでの「議論」みたいなことをするときが楽しそう。「あいつはやばいから!」と嬉しそうに友達を紹介する人は、大体その友達と大差ないとかだとか。議論をするときに背景に共通点を見出して群れるのもそういうことだと思う。良し悪しは知らない。

named-letです。

2024-07-06

先週くらいに調査をした上で今日材料と道具を買ってきて、加工のための準備をしている。誤差は出るものとして、それを許容できる加工方法を考えるのが楽しいしめんどい。

今日で材料調達までやった。近所にコーナンがあるのでそこで木材を買って、カットサービスで板を切り出してもらいつつ工具の貸し出しとバンを借りての運搬をした。コーナンの皆さんはプロフェッショナルな感じがして最高だった。どこからどこまでが責任範囲かを明確に意識してらしているし、彼らの範囲内であれば柔軟に対応してくれる。僕の範囲の話をふるとそれはあなたの決めの問題だと言ってくれて最高。それでいてドライな感じではなくてHRTな感じがしてすごい。今まですごいスーパーと見ていたのはもったいなかったなと思っている。コーナンの彼らは専門性と職責を理解して遂行するプロフェッショナルだと感じた。サービスカウンターの方と木材カットの対応をしてくれた方とお話ししたがみなさん本当にすごかった。

一度設計をしたのだがでかい板からの切り出しの寸法を計算したタイミングで捨ててしまったので設計を書き直す羽目になってしまった。とはいえそこはサクッと復旧できて、今はちまちま補助線を木材に引いている。飽きて試しにした穴を開けたりしているのだが、意外と良い工作精度が出ているので心配しすぎだったかもしれない。

ツイッタを徘徊していると一緒に仕事している強い人の悩みをうかがい知れて楽しい(ぼくが楽しむことを分かった上で知らせてくれているのだろう)。分かっていることではあるが、向こうも不安を抱えながら決断して僕たちに指針を示して進んでいるのだよなと確認をした。どこかで飲みに行きたい気持ちになった。大体納得の上で一緒に動いているが数くないぼくがいだているちょっとした不満(納得はしている)を共有したりしたいなと思っている。

プラットフォーマの良心

プラットフォーマとして、つまり場を提供してその場を幸せな環境として維持するものとしてリーダーシップを発揮することは綺麗なことだと思う。

gmailやyahoo mailがメール送信者のガイドラインを発表して、それを元に受信者・送信者双方にとっての利益を追求したことは記憶に新しい(少なくとも僕にとっては)。風当たりのあることだし、プラットフォーマにとって利益のあるものではない(よね多分)が、それを主導したメールのプラットフォーマたちは綺麗なことをやったと思う。

僕はビジネスとか損得勘定のことはわからないのだけど、あれは間違いなく正しいことだと思う。例えば、あの声明を立案して推進して実行したのが僕だとして(そんなことはまず無理だけど、その責任を僕が負ったとして)、仮にそれが原因で責任を追及され非難を浴びたら、その非難を挙げた人々を憐れむ自信がある。憧れてしまう。ああいうことができる力やセンス・良心をもったプラットフォーマになりたいと思う。自分の良心に従って人の幸せを実現した彼らを尊敬するし、そうなりたいと思う。

ぼくの母校である大和小学校の校歌は「強く、正しく、美しく」を掲げていた。今回掲げた、憧れるプラットフォーマは強さと正しさを持っていた。では美しさはどこにあるだろうか。

RFC8058には美しさを感じた。実際的かつシンプルで、僕の尊敬するエンジニアが美しいと言ってくれそうな哲学を持っているように感じた。ああいう美しさをお前も表現しろよな!というのを校歌は僕に要求しているのだろうか。

あと僕がGAFAに目指すなら絶対Googleに行きます。Googleは美しさと正しさを持っていると思う。ブランディングが大きいのだろうけど。

話が二転三転したけど、正しさや美しさを体現できるだけの強さを手に入れたいと思っています。また、その強さを手に入れる過程で追い求めていた正しさと美しさを忘れずに、むしろよりしっかりしたものにしたいと思う。