2025/02/27(木)emacs

書く分には色々試してもいいんだけど、読むときの方が手に馴染んだものがいい。というか emacs がいい。

emacs はファイラーでもある。dired とか sppedbar とかがなくても充分素早い操作ができる。それをマウスを使わずホームポジションだけで操作できる。

そのままファイルの内容をインクリメンタルサーチできる。正規表現サーチできる。ディレクトリのgrepは、なんかクセがある。でもシェルを起動してgrepはできる。

マルチウィンドウマルチフレームマルチバッファをスイスイ行き来できる。

こんなエディタ他に無いんだよな。GUIを容赦なく使いこなすあたり、Vimにはない特徴だと思う。

M-x 5 2 を打ちまくれ。

2025/01/19(日)おじさんがgoを学ぶ5 ChatGPT

ChatGPTいいですね。 goの「習得は優しいが使いこなすのは難しい」を解決するのに、

  • ストリーム型って持ち回っていいの?
  • このコードってベター?
    • 正解?じゃなく正解はないけどグラデーションがある質問にも回答をくれる

いちいち人に聞いたり調べたりしていたらきりがない質問も気兼ねなく聞ける。 RustやC#のように制限が強い言語もよいけど、goのようなゆるい言語をChatGPTで学ぶっていうのもよい。

2025/01/17(金)AIがプログラマを駆逐する

AIは既存のデータを大量に集めることで正解っぽいものを提示してる。プログラムなら github で公開されているコードから情報を集めたりしてる。

なので、プログラマがいない世界ではAIはプログラムを学べない。プログラマが書いたコードが大量に存在しないといけない。

本当にAIがプログラマの仕事を奪うにはAI最適化されたプログラム言語とか、制御構造はブラックボックスでいきなりアセンブラを吐くとかそんな世界なんじゃないかな。

って思いました。

2024/12/30(月)後出しジャンケンでDeepLearningを予測してたぜ

生物系の学部卒なので小脳の登上線維というものを知っていた。
たくさん試行してうまくいったものは良い試行として採用する、うまくいかなかったものは悪い試行として非採用にする、というDeepLearningがやっている事と似た仕組み。
人工知能ってこれを模したら割と根っこの部分から知能と言えるものを作れるんだろうな、とぼんやり思っていた。当時はそんなハードウェア性能はなかった。
これを数十万並列で動かしたらひらめきとか人格とかも持てるんじゃね?と思っている。

コンピュータの侵入防御システムはVDJジャンクションによる抗体の作成を模したら根っこから免疫と呼べるものを作れるんだろうな、と思っているけどデータ量と走査のための計算資源が今の時代でもとんでもないものになりそう。VDJジャンクションは抗体を乱数生成器でじゃんじゃん生成して自己免疫を起こすものを破棄する、という仕組みなので抗体の種類はめっちゃ大量にある。
そのうち作れるようになるかもしれないけど、作れたとしてもコストと重要性が釣り合わなそうな気がする。

2024/12/28(土)おじさんがGoを学ぶ4

一応ざっくりは終えた。

インフラ周りの小道具や宣言型のIaCが多かったのでちゃんと書いてみる経験になった。
テストコードや関数やクラス(?)の構成を考えるとか。

メモリ周りってCに比べてちゃんと考えてないんだけど、これはいいのか?
取り合えず大きなデータはコピーしたくないからポインタで持ち回っておくか、くらいで確保と開放とか気を使ってない。

あんまり気にしなくていのかな。ただ、GCに任せるからには参照しているポインタ変数の寿命は気にしないといけない。これはgoに限らずGCに全任せする言語全般の話か。


テストコードを分離してちゃんと書いたのはほぼ初めて。
外部連携こそテストしたいんだけど、それには連携側にDry-run機能がないとしんどい。
テストコードを書く書かないに限らず業務でも出てくる話。