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機能がないとしんどい。
テストコードを書く書かないに限らず業務でも出てくる話。

2024/12/24(火)インターナショナルスパムメール

AWSで管理しているドメインの管理者宛てメールをSES receivingでS3に溜めている。届いた通知は受け取れるんだけど中身は見えない。

golangの試作でこれをSlackに投げるプログラムを書いてみた。転送するだけの方が簡単な上に読みやすい形でSlackも処理してくれるんだけど、Slackの無料プランだと個人のDMには表示できるけどチャンネルでは使えない。net/mailで中身をバラしてそれっぽくSlackのBlockKitで組み立ててみた。

税金の還付を受けられますよ、というオランダのメールがほとんどだった。どこの国にもある詐欺なんだなあ。