たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

曖昧さと向き合い続ける

曖昧さを解消する
曖昧さを消してもなんか不安、な場合、「なんか不安」が曖昧
失敗への恐怖なのか、心理的安全性の欠如なのか、明確にして客体化する

不安を行動(行動しないという行動)に直結させない
感情はガソリンにする

忙しい感

やることがたくさん!心が重たい!
-> 行動できなくなる (== 心の重たさが行動へ直結してしまっている)
重たい、これを解消したい!をガソリンとして使う.

しないことを選び、それを遂行する努力をする

しないこと

皿洗いは心を無にして行えるため、発想の種となる可能性を秘めている.
一方で、皿洗いを実行する時間や皿洗いを貯めてしまった場合の心理的負荷を考えると、皿洗いをしないことが有益と考えることもできる
良い・悪いではなく、決断してどちらかをとる.
皿洗いをしないという選択をしたら、それを遂行する努力、例えば食洗器の導入と運用をおこなう。
時間は無限に足りない。やることが発生した端から実行していくと、人生は終わってしまう。

不満・言うだけ

人類は完全足りえないので、不満に感じうる事象は尽きない。無限に存在する。
感じうる事象と感じる事象をどう制御するか、発生した不満にどう対処するかが重要。

不満を何かに転換する (行動 e.g. 対象への提案。不満と感じなくする何か。不満源からの回避)
言うと解消するのか?→一般には解消しない気がする(あとでまた思い出してイライラするだけ)

不満をため込んでも外には伝わらない(人類はエスパーじゃない)

人類は完全足りえないので、やらない理由を無限にあげられる(スキルが足りない、管轄範囲外、etcetcetcetcetc...)
そしてやらない理由一つ一つには妥当性がある場合もおおい ref

不満の処理フロー
* 対処したいと思うか + Yes: 即メモし、きちんと対処して不満を取り去る + No: 完全に忘却する、不満として扱わない

www.makopresident.com

人は完全たりえない、だから

私は現段階では完全ではない、ゆえに完全たりえない

Q: 完全だと目される人間がいま完成したとして、その人を批判する方法を考えよ
A: 完全ではなかったころの振る舞いを批判する
例: Twitterの過去ログを漁って、いま聖人扱いされている人を批判する

つまり、最初から完全でない限り、完全たりえない
貴方はいま完全ですか? そうでないなら、貴方は完全たりえない存在です。

人は、完全たりえない。

完全でない限り、いくらでも批判されうる。
そのことを理解せねばならない。

成長の余地がある = 完璧ではない

RUST/LLVM/WASM入門

WebAssemblyがずっと気になる、しかしC言語は書きたくない。お?それ以外の方法があるって…?で調べた記事。

概要

高速かつ安全な低級言語Rustは中間表現LLVM IRにコンパイルされる。
LLVM IRはWebAssembly (WASM) へ変換でき (つなわちWASM backendをもち)、Rust2LLVM2WASMが実現できる。

Rustのコンパイル

Rust言語自体は各自ググってくれ。
Rustのコンパイルは次の過程を経る。

Rust -> HIR -> MIR -> LLVM IR
High-level overview of the compiler source - Guide to Rustc Development

All of the previous chapters deal with rustc's frontend.

rustc uses LLVM for code generation. ref

rustc's backend is LLVM

Code Generation - Guide to Rustc Development

The end result of all this is (at long last) something executable (e.g. an ELF object or wasm).

LLVM

frontend - 共通IR optimization - Backend 型のコンパイラsuite
共通IRはLLVM IRという。

www.aosabook.org

LLVM Projectというコンパイラ・ツールチェーン

  • LLVM Core: middle optimizer + backend
  • Clang: C/C++/Obj-Cのfrontend & 関連ツール?

...ほかにもいくつものsub projectがある

eternal projectが山のようにLLVM frontendとしてコンパイラを用意している。しゅごい
上記の通り、RustもLLVMコンパイラに組み込んでいる言語