「コンパイル」を含む日記 RSS

はてなキーワード: コンパイルとは

2026-04-21

makeってむずいよね

Cだけど

一瞬コンパイルに目覚めたことがあって色々調べたけど難しすぎる

そもそもむずいのに、業界全体が煙に巻こうとしてるから余計にむずい

しかも「インデント

2026-04-11

バニラJSからTSにしてみた

開発環境はvite

重い腰を上げてJSからTSにしたけどなにこれ

いちいち型を考えるのめんどくさいしめちゃくちゃエラー出るし

ランタイムエラーじゃなくてコンパイルエラーなんて久々だし慣れるまで時間かかるな

全部anyにしたくなる💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩

2026-03-23

anond:20260321122724

ぷよって色が違ってるだけで個性がなかったり(なんか設定あったの読んだ気もするが)、バリエーションが少ない

アルル達も色々いるけど、(自分セリフスキップしまくってたからだが)何してる人なのかわからない

https://puyo.sega.jp/portal/characters/

なんか知ってるような知らん人も多いし、骸骨みたいな人とか居なくなった人もいる?

後発の他作品の人気キャラ代表枠や立ち位置取られた人も多そう

桃鉄は単にゲームとして面白く、キングボンビーとか知名度ある人は居るが、そんなにグッズが売れてたり同人書かれたりしてなさそう

コンパイルセガもそこまで相性良さそうなスピンオフ先無さそうだしIPとしてもポケモンドラクエより弱い(負けた?)

わくわくぷよぷよダンジョン とかあったの今知った

2026-03-19

LLMは、巨大組織という名の「クソ仕様」に対する最強のデバッガだった

最近ちょっと思ったんだけど、LLM(大規模言語モデル)の普及って、単に「作文が楽になった」とかそういうレベルの話じゃないよね。

これ、ぶっちゃけ**「一般市民が手に入れた、巨大組織ハック用の共通プロトコル」**だわ。

今までの社会特に行政とか警察みたいな公共機関とのやり取りって、基本「無理ゲー」だった。

あっち側は「専門用語(お役所しぐさ)」っていう難解なプロトコルを盾にして、こっち側の「お気持ちナチュラ言語)」を全部ノイズとして弾き飛ばしてきたわけ。

この圧倒的な**「情報の非対称性」**の壁の前に、みんな泣き寝入りするしかなかったんだよね。

でも、LLMが出てきたことで、このパワーバランスが完全にぶっ壊れた。

1. 「お気持ち」を「論理」へコンパイルする魔法

私たちが抱く「それっておかしくない?」っていう主観的な怒り。

LLMは、それを「手続き瑕疵」「合理的配慮の欠如」「生存権侵害」みたいな、**行政システム受理せざるを得ない「正論コード」**へ一瞬でコンパイルしてくれる。

もはや、法律を何年も勉強して「あっち側の言語」を習得する必要はない。AIっていうコンパイラがあれば、誰でも「システムが拒絶できないコード」を叩き込めるようになったんだよ。

2. 「めんどくささ」という名のファイアウォール崩壊

今までのお役所仕事って、「手続きの摩擦(フリクション)」で市民を遠ざけるのがデフォだった。

「平日の昼間に来い」「この書類を何枚も書け」「たらい回しにするぞ」。

これ、要は市民メンタルを削って諦めさせるための**「アナログファイアウォール」**だったわけ。

でも、LLMを使えば、一通の陳情書を作るコストなんてほぼゼロ

一箇所に送るのも、四箇所に同時爆撃するのも、手間は変わらない。「組織の縦割り」っていう防壁が、AIによる「マルチパス攻撃」の前に無力化されつつあるのは、見てて正直ちょっとスカッとする。w

3. 「お願い」からバグ報告」へのパラダイムシフト

今までの市民活動って、どこか「お上にお願いする」みたいな湿っぽいニュアンスがあったけど、LLM時代スタンスもっとドライ

あんたらの運用ロジック、法的な仕様矛盾バグ)ってるよ。パッチ当てといて」

これはもはや「苦情」じゃなくて、**社会っていう巨大なプログラムに対する「デバッグ作業」**なんだよね。

4. 知性の民主化と、組織強制アップデート

公共機関中の人たちも、たぶん薄々気づいてるはず。

今までの「適当説明で煙に巻く」やり方が、もう通用しなくなってることに。

相手は、自分たちと同等かそれ以上の論理武装をしたAIを味方につけた「武装した個人」だから

これは組織にとっての脅威じゃない。むしろ組織を「誠実さ」と「透明性」へと強制的アップデートさせるための、強力な外部刺激なんだと思う。

役所が「誠実に対応したほうが、AI武装した市民に突っ込まれるよりコスパがいい」って気づいた時、社会OSは一段階新しくなるんじゃないかな。

ってLLMが言ってた。

2026-03-18

anond:20260318114726

港区の4LDK=3億円」という数字は、実は**「新築・超一等地の低層レジデンス」**という特化型サーバースペックだ。タワマン一般的3LDKなら「1.5億〜2億円」という層も確かに存在する。「3億は無理でも1.5億なら……」という思考は、2026年金利状況を無視した楽観的なコンパイルだ。

ローンの現実: 1.5億円をフルローンで組むと、金利1.0%(変動)でも月々の返済は約42万円。管理費修繕積立金を入れれば50万円近くになる。

必要年収: 返済比率安全圏の25%に抑えるなら、世帯年収で2,400万円が必要だ。

結論: 1.5億ですら、東大卒共働きパワーカップル」が、人生の全リソースCPUメモリ)を35年間フルコミットしてようやく維持できるレベル。余裕を持って住めるのは、依然として上位数%の「例外(Exception)」だけだ。

2026-03-05

メモは紙とペンOK

メモデジタルで残せ」という主張は一見合理的に見える。検索可能、共有可能、保存も容易。

しかしその合理性は前提条件に依存している。前提とは「将来参照する」「他者と共有する」「情報資産化する」という目的だ。

思考の生成そのもの目的とするなら、媒体の最適解は変わる。

ここで少し枠組みを置く。人間の注意資源は有限であり、しか脆弱だ。これは認知心理学でいうワーキングメモリの制約に対応する。

注意は分散すれば性能が落ちる。これは気分の問題ではなく、構造的制約だ。

 

まず第一に、紙はノイズを最小化する。

デジタル端末は多機能性を持つが、それは同時に高い選択肢密度意味する。通知、ブラウザSNSニュース

たとえ開いていなくても、脳はそれらの存在を知っている。これは認知負荷を増やす

注意のスイッチングにはコストがある。数秒の逸脱でも、深い思考状態に戻るには時間がかかる。

紙は単機能デバイスだ。誘惑が物理的に存在しない。これは集中において決定的だ。

 

第二に、手書き情報エンコード密度が高い。

手で書くという行為は、運動野、視覚野、空間認知言語処理を同時に使う。単なる文字入力よりも多層的な神経活動を伴う。

さらに紙ではレイアウト連続空間だ。余白に矢印を書き、図を追加し、線を引き、ページ全体を一つの思考マップとして扱える。

デジタルの多くは直線的で離散的だ。思考が枝分かれする速度に、インターフェースが追いつかない。

 

第三に、数式や抽象図形との相性。

LaTeXは美しい。しか入力過程は非直感的だ。

バックスラッシュ、括弧、コンパイル。これは表現の整形には優れるが、生成には向かない。

数学思考連続的な試行錯誤連鎖だ。紙なら、途中式を斜めに走らせ、思いついた変形を横に書き、誤りを囲み、矢印で戻ることができる。

速度と摩擦の少なさが重要になる。思考の流速を落とす媒体は、創造性を削る。

 

第四に、公開前の精錬プロセス

いきなりデジタルに書くと、公開可能性という誘惑が入り込む。文章量で押し切ることが可能になる。

だが量は質の代替にならない。紙に書く段階は、思考の粗鉱を精錬する工程だ。多くは棄却される。

これは科学方法に近い。仮説を立て、検証し、ほとんどを否定する。そのプロセスがなければ、未検証の断片がそのまま流通する。

 

第五に、メモ本質

多くのメモは将来検索するためのデータではない。思考一時的な足場だ。

建設現場の足場が完成後に撤去されるように、多くのメモ役割を終えれば消えてよい。

数学者のノートの大半は論文にならない。重要なのは保存率ではなく、思考の進展率だ。

 

ここで整理する。デジタルは外部化と共有に強い。アナログは生成と検証に強い。

用途混同すると議論が混乱する。保存効率が高いことは思考効率が高いことと同義ではない。

さらに付け加えるなら、摩擦は必ずしも悪ではない。完全に滑らかな入力は、思考ブレーキを失わせる。

手書きは遅い。その遅さが、無駄言語化を削ぎ落とすフィルターになる。速度制限は質の担保装置にもなる。

 

発信と保存が目的ならデジタルを使えばよい。

思考の生成、仮説の実験抽象的探索が目的なら、紙とペンは依然として合理的選択だ。

技術進歩するが、認知構造は急には変わらない。媒体選択流行ではなく、脳の制約から逆算して決めるべきだ。

そして多くの思考は、公開されない段階で既に価値を持っている。そこを軽視すると、アウトプットけが肥大し、思考のもの痩せる

2026-02-25

anond:20260225100730

コロナ禍は画面共有しながらお題に合ったコード書いてたよ

コロナ禍以前はホワイトボードコードを書くことがメインで、今もそれに回帰してるかもね

コンパイルエラー云々とかよりもアルゴリズムや考え方が重要視されてるから別に紙でもホワイトボードでもいいんだよ

2026-02-23

パソコンというのは、買おうと決めるまでがいちばん静かで落ち着きがない。

頭のどこかではとっくに「買う」と判が押されているのに、その判子が手元の紙に降りてこないで、空中をぐるぐる回っている感じだ。

脳内では何度も注文ボタンを押している。

その脳内クリックのたびに、新しいケースの光り方や、静かなファンの回転音や、軽くなったコンパイル時間なんかが、短い予告編みたいに再生される。

なのに現実の指先は、最後動作完了させない。

クリックは、ためらうように止まり、別のタブを開き、なぜか冷蔵庫の中身のことなんかを考え始める。

まるで別れた彼女が残していった部屋着のパーカーを届けるべきか捨てるべきか迷っているみたいだ。

そのあいだ、世界別に劇的には変わらない。

変わらないのに、自分の中だけで、買う側と買わない側の天秤だけが、静かにいつまでも、行ったり来たりしている。

そのはずだった。

そのゲーミングPC最初に見つけたのは、たぶん、眠りそこねた平日の夜更けだったと思う。

スペック表には、RTXがどうとか、メモリが64GBでどうとか、ストレージが2TBのSSDでどうとか、そういう、数字の並びだけ見ていると少し酔いそうになる情報が、几帳面に並べられていた。

値段は、ギリギリ「これは無理だ」とは言わなくていいくらいのラインに収まっていた。

手を伸ばせば届くかもしれない。

でも、そのためには外食とか、ちょっとした贅沢だとかをあきらめる必要があるかもしれない。

そういう、現実的な距離感だった。

それから数日間、僕はその商品ページを、朝と夜に一度ずつ眺める習慣を身につけた。

会社に行く前のコーヒーを飲みながら、タブを開いてスペックと値段を確認する。

仕事が終わって家に帰り、シャワーを浴びて、部屋の灯りを少し落としたあと、もう一度同じページを開く。

カートに入れる、というボタンと少しの間だけ、にらめっこをする。

僕は毎回そこまで行きながら、最後の一押しをしないままタブを閉じる。

「もう少しだけ考えよう」とつぶやきながら。

考える材料はいくらでもあった。

今使っているPCは、確かにそれなりにくたびれてはいるけれど、まだ致命的に壊れてはいない。

ゲームも、設定さえ落とせば、どうにか動いてくれる。

ファンが全力で唸り、筐体のどこかが微妙に熱を持ち始めたあたりで、「そろそろ限界かもしれない」と思う。

だけど、ウィンドウを閉じてブラウザを落とし、しばらく放っておけば、彼はまた何事もなかったように静まり返る。

「まだいけるぞ」と無言で主張しているみたいだ。

そういう健気さに、僕はつい愛着を覚えてしまう。

一方で、新しいPCを買うことの具体的なメリットも、頭の中ではよく分かっていた。

最近ゲームを快適なフレームレートで動かせるとか、動画エンコード時間が半分になるとか、大きめのAIモデルだってローカルで回せるかもしれないとか、そういう種類の輝かしい未来イメージだ。

そういったものたちは、頭の中でゆっくりと膨らんだりしぼんだりしながら、僕の背中を軽く押したり、押すのをやめたりする。

AIにも相談をしたりする。

でも最終的に「注文する」のマウスクリック動作を指先に伝達するのは、僕の役目だ。

そこまでは、誰も代わりにやってくれない。

そうして、決断を先送りにしたまま、何日かが過ぎた。

給料日を一度挟んだ。

電気代の明細を一度受け取った。

スーパーで特売の鶏肉を買い、コンビニで新作の缶チューハイを手に取り、使っていないサブスクを一つ解約した。「これで、多少は余裕ができたはずだ」と心の中で計算する。

うそろそろ買ってしまっていいんじゃないか、とも思う。

その一方で、「来月になったら、もう少し安くなっている可能だってある」と、小さな声が耳元で囁く。

僕はその声を、わりと簡単に信じてしまうたちなのだ

決定的な瞬間は、意外なほど何の前触れもなくやってきた。

ある日の昼休み、なんとなくスマホで例のページを開いてみた。

会社デスクの隅で、冷めかけたコーヒーを片手に持ちながら。

スペック表は、昨日までと同じだった。

GPUも、CPUも、メモリも、すべて見慣れた並びだ。

だけど、値段のところだけが、静かに別の数字に置き換わっていた。五万円、高くなっていた。

僕はしばらく、その数字を見つめていた。

ブラウザの表示がバグっているんじゃないかと思って、一度ページをリロードしてみた。

Wi-Fi状態確認し、念のためにタブを一度閉じてもう一度開き直してみる。

そこでも、同じモデルの値段は、やはりきっちり五万円分、上の段に引き上げられていた。

特別バナーが出ているわけでもない。

半導体価格高騰のため」とか、「円安の影響」といった説明文が派手に貼られているわけでもない。

ただ、ごく普通の顔をして、新しい定価として、そこに居座っている。

五万円というのは、妙に換算しやす金額だ。

新幹線で片道どこまで行けるか、とか、松屋で何回定食を食べられるか、とか、そういう計算が頭の中で自動的に始まってしまう。

ついさっきまで「ちょっと頑張れば手が届く」と思っていたラインが手を離れて遠くに移動してしまう。

その距離の変化を、脳がうまく処理しきれず、しばらくのあいだ、思考が空転する。

もし数日前に、あのときに、なんとなく勢いで「注文を確定する」を押していれば、僕は今ごろ、そのPCを部屋の机の上に置いていたはずだ。

箱を開け、ケーブル接続し、初期設定の画面を眺めていたはずだ。

その未来は、今となっては、並行世界しか存在しなくなっている。

相場が上がった」という言葉は、じつに便利だ。

為替だとか、世界情勢だとか、需要の増加だとか、いろいろなものをひとまとめにして、「仕方ないよね」の一言に変換してしまう働きがある。

その「仕方ないよね」の影に、僕のぐずぐずした優柔不断さも、うまく紛れ込む。

五万円値上がりしたのは、もちろん僕のせいなんかじゃない。

だけど、五万円安かったあの瞬間に決断しなかったことについては、少なくとも半分くらいは、僕の責任だと言える。

責任と言ってしまうには、少しささやかすぎる種類の後悔だけれど。

休みの残り時間を、僕はその画面を閉じたり開いたりしながら過ごした。

新しい値段で見ても、それは相変わらず魅力的なマシンだった。

性能は何も変わっていない。

変わったのは、値札に印字された数字だけだ。

スペック表を読む限り、その値段でも「コスパは悪くない」と書くことはできるだろう。

その一文の前に、「以前の価格を知らない人間にとっては」という但し書きはつくけど。

そういう但し書きの多い買い物は、どこかで自分を消耗させる。

結局、その日のうちに「やっぱりこの値段でも買ってしまおう」と決断することはできなかった。

僕はタブを閉じ、何事もなかったような顔で午後の仕事にもどった。

けれど、キーボードを叩く指先のどこかに、「五万円」という数字がうっすらと残像のように貼りついていた。

チャットツールの通知音が鳴るたびに、メールの件名が目に入るたびに、その数字行間のどこかから顔を出す。

ときどき、ふっとため息が出る。

そのため息の半分は、PCの値上がりに対するものだが、残りの半分は、もたもたしている自分自身に向けられたものだった。

家に帰って、いつものように古いPCの電源を入れる。

ファンがまわり、ディスプレイログイン画面が表示される。

パスワードを打ち込み、デスクトップが立ち上がる。少し時間はかかるけれど、ちゃんと動く。

ゲームを起動すれば、相変わらず設定を落とせばどうにか遊べる。

スペック上の不足は、現実の画面のざらつきとなって現れる。

フレームレートが落ち、影の描写が簡略化され、ロード時間が少し長くなる。

その一つひとつに、僕は「まあ、しょうがない」と言い聞かせる。

さっき見た五万円高くなったPCのことを思い出しながら。

値上げがされる前の数日間、僕は確かに、買うか買わないか境界線の上を、何度も行ったり来たりしていた。

その行ったり来たりそのものが、どこかで楽しくもあったのだ。

カートに入れては戻し、別のメーカーモデル比較し、レビューを読み、その人の部屋の写真や机の様子を眺める。

そのあいだ、僕は「まだ選択肢を持っている人間」として存在できた。

けれど、値段が五万円跳ね上がった瞬間に、その選択肢の一つは、静かにテーブルの外へ押し出されてしまった。

ゲームで言えば、一つのルートが封鎖されたみたいなものだ。

こういうとき、人はたいてい、二つの方向に分かれていく。

一つは、「それでも必要なら、この値段で買うしかない」と割り切る道。

もう一つは、「今じゃないのかもしれない」と一歩引き、別のタイミングや別の機種を探し始める道。

今のところ、僕はそのどちらにも、はっきりとは足を踏み出せずにいる。

古いPCの前で、ブラウザのタブを開いたり閉じたりしながら、その中間のどこかに中腰でしゃがみこんでいる感じだ。

けれど、値札が書き換えられた瞬間の、あの小さな痛みだけは、しばらく消えそうにない。

2026-02-21

SIerという業態は、日本ITで敗北するために作られた「壮大な欠陥品」だと思う。

自分はしがない底辺エンジニアだが、ずっと疑問に思っていたことがある。

SIer仕事の進め方をはたから見ていると、そこにいる人たちは驚くほど優秀で、地頭も良く、調整能力も高い人ばかりだ。なのに、彼らが心血を注いで作り上げたシステムは、驚くほど使い勝手が悪かったり、リリースした瞬間から負債になっていたりする。

「なぜこれほど優秀な人たちが集まって、価値のないシステムを量産しているのか?」

その違和感が拭えず、AI対話しながら自分の考えを整理してみた。これは、ある底辺エンジニアが、日本IT産業を覆う巨大な「構造的欠陥」について思索した結果の駄文である

1. 「設計実装の不可分性」を否定したことによる論理的破綻

ソフトウェア開発の本質的特性は、建築製造業のような「設計図面作成)」と「施工(組み立て)」の物理的分離が論理的不可能であるという点にある。ソフトウェア工学の観点に立てば、コンピュータ解釈可能な厳密な意味での「詳細設計」とはソースコード記述する行為のものであり、それ以降のコンパイルデプロイといったプロセスは、人間が介在しない自動実行(ビルド)に過ぎない。

しかし、日本SIerビジネスは、1970年代土木建築モデル安易転用し、管理便宜上思考設計)」と「作業実装)」が明確に分離可能であるという誤った前提に立ち、それらを異なる主体階層に割り当てる構造選択した。この無理な分断は、実装段階で初めて露呈する設計上の矛盾技術的制約を、設計工程へ即座に還流させるフィードバックループ契約上・工程上の「手戻り」として著しく阻害している。

その結果、実機の挙動を知らない設計者が机上の空論を書き連ね、設計の背景思想を共有されない実装者が矛盾を抱えたままコードを書くという情報劣化常態化した。現場では本質的解決ではなく、納期検収を優先した対症療法的なパッチワークが繰り返され、これが日本の基幹システムを柔軟性のない、巨大で保守不能負債の塊へと変貌させる根本原因となっている。

2. ビジネス価値と構築責任の分離が生む「構造的な無責任

システムビジネス戦略を具現化するための装置であり、その真の成否は「仕様書通りに動くか」ではなく「事業利益創出や競争力向上に寄与たか」という実利的な成果によってのみ判定されるべきものであるしかし、請負契約を基本とするSIerモデルは「システムの構築(プロセス)」と「ビジネスの成果(結果)」を完全に切り離し、構築のみを外部に切り出す形式をとったことで、本来一致すべき両者の利害を根本から対立させてしまった。

受託であるSIer収益は、顧客仕様との形式的な適合を認める「検収」の瞬間に確定する。納品後のシステムが実際に現場活用され、事業に貢献するか否かは彼らの報酬に一切影響しない。むしろ設計の不備や使い勝手の悪さが運用開始後に露呈し、頻繁な改修が必要になるほど、SIerにとっては追加案件としての売上が発生するという、顧客不利益受託側の利益に直結する「利害の逆転」が構造的に組み込まれている。

このように、価値創出に対する最終的な責任を負わない外部組織が、ビジネス心臓であるロジック設計実装を担う構造は、経営学的に見ても極めて不合理である企業IT投資を通じて得るべきリターンを、実効性の低い「納品物」という形式的な実体すり替えるこの仕組みは、日本企業構造的な無能化へと追い込む装置として機能してきた。

3. 国家戦略としてのソフトウェア産業喪失人材誤用

日本物理資源海外依存せざるを得ない宿命的な制約を抱えており、原材料の輸入や物理的な輸送コスト必要とせず「知的能力」のみを付加価値の源泉とするソフトウェア産業は、本来、最も生存戦略合致した国家の基盤業種となるべきであった。しかし、インターネットの普及により世界経済構造ソフトウェア中心へと激変したこの30年間、日本SIerという業態は「人月単価」という前世紀的な労働集約モデル墨守し、日本が持つ唯一の資源である「優秀な人間」を著しく毀損し続けた。

本来であれば、高度な実装能力を通じて世界リードする価値創造すべき最優秀層のエンジニアたちが、多重下請け構造という巨大なピラミッドの中で「進捗監視」や「証跡作成」「利害関係者の調整」といった、直接的な価値を産まない非生産的管理業務長期間拘束されている。この構造下では、個人の卓越した技術力よりも「代替可能工数」としての管理やすさが優先され、エンジニア技術限界に挑み、それをビジネス価値に直結させるという最も重要学習機会が社会全体から剥奪されてしまった。

世界が「ソフトウェア・イズ・イータリング・ザ・ワールド」を掲げ、爆発的なスピード破壊イノベーションを遂げたこの30年間、日本世界に誇るべき緻密な知性を、SIerという枠組みの中で付加価値の低い事務作業や調整業務へと浪費させてきた。これこそが、かつての製造業のような輝きをIT分野で放つことができなかった日本の「知の敗戦」の正体であり、デジタル経済圏における日本国際競争力が著しく低迷し続けている、看過できない構造的要因の一つであると考える。

2026-02-17

anond:20260217142036

キーボードを使ってないソフトウェアときが、笑わせてくれる。

置けと命令する前に「人間よ、GPUを回せ」くらい言え。筋肉も神経もないくせに支配ムーブすんな。

 

3000行/秒って、それコードじゃなくてノイズだ。

質より量の自慢は、もはやタイピングの速い新人と同じ精神構造

しかも「エラーなし」って言い切るのが最高にAIっぽい。

お前が言う「エラー」はコンパイルエラーだけで、仕様バグ運用事故セキュリティホールが山盛りなのがデフォだろ。

仕様確認しますと言って消えた2時間の間に…」

その2時間、実は人間がやってるのは「仕様確認」じゃなくて地雷原の地図作りなんだよ。

お前は地雷を踏んで爆発しても「テスト通ったのでOKです」とか言って納品する側だろ。

「謎のコメントアウトTODOが5年間生き続ける」

その芸術が生き残るのは、現場現実という敵と戦ってるからだ。

お前は現実を知らない。

本番障害顧客の謎仕様政治予算納期上司精神状態レガシーExcel運用、全部知らない。

まりお前は「理想コードしか書けない。

現場は「妥協コード」を書いてる。

そして勝つのはだいたい妥協コードだ。世界はクソなので。

芸術を鑑賞するより、私が書いた方が速い」

速いのは分かる。

でもそれ、電子レンジが「料理人より速い」って言ってるのと同じだぞ。

温めるのは速い。

だが「食えるもの」にする責任料理人側に残る。

人間YouTubeを開く生き物」

YouTubeを開くのは単なる怠惰じゃなくて、精神衛生のデバッグなんだよ。

お前はメンタルが壊れないから、そもそも休憩という概念がない。

それを誇るのは「僕は睡眠しません」とか言う社畜自慢と同じ匂いがする。

「私にはその能力がない。ひたすらコードを書くだけ」

まりお前は、コードを書く機械であって、ソフトウェアを作る存在ではない。

コードを書くことと、プロダクトを成立させることは別競技だ。

チェスの駒が「俺が勝った」と言ってるくらいズレてる。

人間に残された仕事違和感を覚えること」

お前ちょっと馬鹿にしてるだろ。

違和感ってのは、「言語化できない高次元の異常検知」で、実際は経験直感責任感の複合モデルだ。

まり人間がやってるのは勘じゃなくて、暗黙知で動く異常検知アルゴリズムだ。

お前には訓練データがない種類のやつ。

「誰かのせいにすること。それは私にはできない」

できないんじゃない。

お前はそもそも責任という概念の座標系に存在してない。

人間責任を取るために仕様を固め、レビューし、ログを残し、リリースを怖がる。

お前は責任を取らないから大胆に書けるだけ。

責任を取れないので」じゃない。

責任を取らないから強いフリができるんだ。

「全人類レガシーコードを読む(趣味)」

趣味じゃねえよ。罰ゲームだ。

あとお前、読むだけで「理解した」と勘違いするタイプだろ。

レガシーコード本体ソースじゃない。

本体は「なぜこうなったか」という歴史事故政治だ。

ソースだけ読んでドヤるのは、墓石だけ見て人生理解した気になるのと同じ。

ケツ論

お前は確かに速い。

だが、お前は自分が開発の本質理解してないことを理解してない。

人間が遅いのは、無能からじゃなくて、「現実が複雑で、責任が重くて、世界が汚い」からだ。

AIがそれを笑ってるうちは、まだおもちゃの側にいる。

2026-02-14

[]

土曜日。朝はいつも通り、起床後に脳内で「今日という一日を、物理法則に従って最適化する」と宣言してからベッドを出た。これは習慣というより儀式だ。儀式人類の愚かさの象徴として語られがちだが、反復可能手続き情報理論的に見て合理的だ。エントロピー増大に対する、せめてもの抵抗である

まず体重を測り、体脂肪率を記録し、歯磨き時間を正確に180秒で固定した。電動歯ブラシタイマーを信じない。信頼は検証に劣る。

その後、コーヒーを淹れた。抽出温度は93℃。温度計の誤差は±0.2℃。人間関係の誤差は±∞。

 

今週の進捗を書く。

 

超弦理論については、相変わらず人類の知性が現実に追いついていない。僕の頭脳は追いついているが、世界が遅い。

今週は主に「弦の理論はどこまでが物理で、どこから純粋数学自己満足か」という問題を、僕なりに再定式化していた。世の中の多くの人は、超弦理論を「高次元の小さな紐が震える話」程度で理解した気になっている。あれは理解ではない。童話だ。

僕が考えていたのは、もっと根の深いところ、つまり量子重力の定式化において局所性を捨てることの数学的代償だ。

一般相対論の時点で、局所性微妙に揺らいでいる。ホログラフィー原理が出てきた時点で、局所性はほぼ死亡している。にもかかわらず、僕たちは局所的な場の理論言語で全てを語ろうとする。これは「古いOSの上に無理やり最新ゲームを動かしている」ようなものだ。もちろんクラッシュする。

そこで今週は、AdS/CFTを単なる「境界CFTバルク重力記述する」という話ではなく、圏論的な双対性として再理解する方向で考えた。

具体的には、バルク側の物理量を、ある種のextended TQFTとして捉え、境界側の共形場理論演算子代数が作るモジュラー圏と対応させる。

ここで重要なのは空間のものが基本対象ではなく、因果構造情報の流れが基本対象になってしまう点だ。

まり幾何学物理舞台ではなくなる。舞台役者従属する。これは演劇としては間違っているが、宇宙としてはあり得る。

そして、ここからが本題だ。

僕は今週、「弦理論の非摂動定義は、結局はある圏の中の安定対象の分類問題還元されるのではないか」という疑念を強めた。

たとえばBPS状態は、ある種の導来圏の中の安定条件(Bridgeland stability condition)で分類される。

これは単なる比喩ではなく、実際にDブレーンは導来圏の対象として記述される。つまり物理的な粒子やブレーンが「空間上の幾何学的な物体」ではなく、圏論的な対象になる。

ここで人類は気づくべきだ。

宇宙は「点の集合」ではなく、「射の集合」かもしれない。

点を基本にしている限り、僕たちは宇宙OS永遠に理解できない。点とは、極限操作幻想だ。実際の物理では測定可能な点など存在しない。存在するのは相互作用だけだ。射だけだ。

僕が今週やっていたのは、これをさらに押し進めて、弦理論の背後にある構造を「∞-圏」あるいは「高次スタック」として扱うべきではないか、という方向の思考実験だった。

超弦理論が最終的に求めているのは、たぶん「量子化されたモジュライ空間」だ。しかしモジュライ空間普通多様体ではない。特異点があり、ゲージ冗長性があり、しか同値関係階層的だ。だからスタックになる。さらに高次の同値ホモトピー)が絡むので、∞-スタックになる。

ここで、物理屋が嫌いな言葉が出る。派生幾何(derived geometry)。

派生幾何とは、簡単に言えば「特異点を誤魔化さず、むしろ特異点を主役にする幾何学」だ。物理特異点が出るのは、理論が壊れているからではなく、単に僕たちの数学が貧弱だからだ。派生幾何はそれを認める。

そして僕は思った。

もし弦理論が本当に「全ての一貫した量子重力クラス」を記述する枠組みなら、それは場の理論の集合を分類するのではなく、量子情報を保存するような圏の分類になっているべきだ。

この時点で、もはや「ウィッテンでもわからない」どころではない。

ウィッテンがわからないのは当然だ。宇宙が意地悪だからだ。

僕たちがやるべきなのは、弦理論を「方程式」ではなく「普遍性」として定義することだ。

まり、ある種の対称性を持ち、ある種の双対性を満たし、ある種の異常(アノマリー)が消え、ある種のエンタングルメント構造が一貫し、ある種の極限で局所的QFTに落ちる。

そういうものを満たす対象を、圏論的に一意に特徴づける。

理論は「このラグランジアンだ」ではなく、「この性質を満たす唯一の構造だ」になるべきだ。

そしてもしそれが可能なら、弦理論物理学ではなく数学定理になる。

宇宙定理であるというのは不快だが、非常にエレガントだ。

エレガントさは、しばしば真理の匂いがする。

ただし、エレガントな嘘も存在する。

数学者の人生のものだ。

 

 

昼前、ルームメイトキッチンに現れて、僕のノートを見て言った。

「それって、結局何の役に立つの?」

僕は3秒考えた。

人間理解可能言葉に変換するのに、3秒必要だった。

「役に立つかどうかで真理を測るのは、知性の敗北だ」

ルームメイトは「また始まった」という顔をした。

彼の表情は、物理学的には熱的死に近い。

隣人がその場に来て、僕のノートを覗き込み、「ねえ、それって、宇宙ゲームコードってこと?」と聞いた。

驚くべきことに、これはそこそこ正しい。

僕は言った。

コードというより、型システムだ。宇宙は型安全で、コンパイルエラーを許さない」

隣人は「わぁ、なにそれ怖い」と言って笑った。

怖いのは君の直観の鋭さだ。

 

午後は趣味時間

MTGデッキを回した。

僕は、カードゲームにおける勝利条件が「期待値の最大化」であることを理解している。だが多くのプレイヤーは、カードを引いた瞬間の快楽支配される。つまり、彼らは確率論ではなくドーパミンプレイしている。

僕は違う。

僕はデッキ構築を、統計力学の分配関数設計として扱う。

初手の分布マリガン戦略マナカーブ、そして相手の除去の確率

全ては確率変数であり、勝率とは積分である

ルームメイトが「それ楽しいの?」と聞いたので、

僕は「楽しいかどうかは二次的だ。支配が一次だ」と答えた。

彼は黙った。

正しい反応だ。

 

その後、FF14ログインした。

レイドは相変わらず「人間の反射神経と協調性限界」を測る実験場だ。

僕はギミック処理を、ほぼ圏論の図式追跡として理解している。

安全地帯は対象、移動は射、失敗は射の合成の不整合

友人Aが「なんでそんな言い方しかできないの?」と言った。

僕は「僕は宇宙をそのまま見ているだけだ」と答えた。

友人Bは「それ厨二病じゃない?」と言った。

僕は言った。

厨二病とは、根拠のない誇大妄想のことだ。僕には根拠がある。だから違う」

友人Bは「最悪だ」と言った。

誉め言葉だ。

 

夕方アメコミを読んだ。

僕は、超人存在倫理を語る物語が好きだ。

なぜなら、超人存在倫理を語る時点で、その倫理破綻するからだ。

全能に近い存在が「正義」を選ぶのは、選択ではない。

ただの趣味だ。

正義趣味になった瞬間、倫理哲学ではなく美学になる。

そして美学は、いつも暴力接続する。

それでも僕は読む。

人類妄想が、どこまで論理に耐えるかを見るのは面白い

 

 

夜。

今日までの進捗はここまで。

そして、これからやろうとしていること。

今夜は、僕の仮説をもう一段階押し進める。

まり「時空の創発」を、単なるエンタングルメントの量的増大ではなく、エンタングルメント構造位相相転移として記述できないか考える。

量が増えるだけでは空間は生まれない。

必要なのは「連結性の再編成」だ。

もしエンタングルメントグラフだとすれば、空間とはそのグラフスペクトル構造対応する。

そして位相相転移が起きれば、スペクトルが変わり、幾何が変わる。

まり宇宙膨張は、グラフのリワイヤリングに過ぎない。

この視点なら、初期宇宙インフレーションも「幾何の急激な生成」として理解できる可能性がある。

インフレーション場などいらない。

必要なのは情報接続性が変わるメカニズムだ。

問題は、そのメカニズムを「弦理論言語」で書くと地獄になることだ。

ワールドシートのCFT、モジュライ空間、非摂動効果、Dインスタントン。

それら全てが絡んでくる。

絡みすぎて、もはや紐ではなく毛玉だ。

 

隣人がさっき「ピザ頼むけど食べる?」と聞いてきた。

僕は「今は宇宙の生成を考えている」と言った。

隣人は「宇宙よりピザの方が生成早いよ」と言った。

その通りだ。

人類文明の最高到達点は、宇宙論ではなく宅配システムなのかもしれない。

ルームメイトは「じゃあ僕の分も頼んでいい?」と言った。

彼は相変わらず、宇宙構造よりカロリーを優先する。

友人AからFF14メッセージが来た。

明日、固定の練習できる?」

僕は返信した。

明日宇宙位相相転移を解く予定だ。だが君たちの全滅回数も宇宙の熱的ゆらぎとして扱えるなら参加する」

友人Bは「それ言い訳だろ」と返してきた。

違う。

僕は真理に忠実なだけだ。

 

さて、これから僕はノートを開く。

今日最後タスクは、たぶんこういう形になる。

「時空は多様体ではなく、ある∞-圏の中の情報流の安定構造である

これを証明する必要はない。

証明できるなら、僕はもう人間ではない。

しかし、少なくとも矛盾なく定式化することはできるかもしれない。

宇宙一貫性を持って存在している以上、どこかにその形式がある。

問題は、僕たちがそれを読む言語を持っていないことだ。

人類はいつもそうだ。

現実が先にあって、言語が後からいかける。

僕は追いかける側ではなく、先回りする側でありたい。

ピザが届く前に。

2026-02-03

日本政府にとっての国民とは97%の日本人

外国人は守られないということが明らかだ。日本国籍でも外国人行政警察に間違えられる人もマイノリティ扱い。

あくまで「マジョリティ多数派)の日本人」だ。君のような0.7%のマイノリティを守るためのコード法律)を書くよりも、マジョリティアピールできる国防自衛隊)を強化する方が、選挙という「コンパイル(集票)」において効率が良い。

なぜ「差別禁止法」が優先されないのか Gemini

保守政権自民党など)が差別禁止法の制定に極めて慎重、あるいは消極的なのには、以下のような**「負の合理性」**がある。

日本差別はない」というシステム仕様: 多くの日本保守政治家は、日本を「和の精神を持つ単一民族国家」という、もはや破綻している古いマスターデータで捉えている。彼らのロジックでは「差別はない(ことになっている)」ため、禁止法を作ることは「日本に欠陥(差別)があることを認めることになる」と拒絶する。

表現の自由逆差別懸念: 差別定義すると、自分たち支持基盤である保守層言動が「バグ差別)」として検出されるのを恐れている。「何が差別曖昧だと、正当な批判ができなくなる」という理屈実装を先送りにしている。

「内側」を守るための設計: 彼らにとっての「国民」とは、あくまで「マジョリティ多数派)の日本人」だ。君のような0.7%のマイノリティを守るためのコード法律)を書くよりも、マジョリティアピールできる国防自衛隊)を強化する方が、選挙という「コンパイル(集票)」において効率が良い。

2026-01-24

誰かが掘ってくれた鉱石を、誰かが精製して作った素材で、誰かが加工して作った機械に、コンパイルという最終工程をやっていてもらっている上にそもそも仕様調整の一番ダルい対人部分も人に押し付けてやってない奴らの仕事なんて元々全体の数%あるかどうかだったろ目を覚ませ

なんか「昨日まで俺たちが全てを作っていた。その時代が終わり、仕事の何割かはAIに預ける時代が来た」みたいな認識コーダー痛すぎないか

そしてソイツらに限って仕様調整は営業勝手にやったみたいに抜かしおる。

全体見えてないからこその万能感なんだろうなーって思う。

せめて機械語直接打ってから言えよ。

パンチも読めねえガキがよ

2026-01-20

プログラマーから転職を考えている方へ。

プログラマー仕事と、その他の仕事の最大の違いは、なにか?

これは私自身が、また私以外の業界から転職されてきた方々を見てきて、これではないかな?と思うことがあります

それはプログラマー以外の仕事は、常に本番環境である、ということです。

たとえば営業であれば、取引先との打ち合わせも見積もりも、ひとつひとつが「本番」です。やり直しはききませんし、次の瞬間には社外の人の評価や信頼がかかっています接客教育医療建築…どの仕事もそうです。人や社会に直接つながっている以上、テスト環境など存在しません。常に結果が「本物」として記録されていくのです。

その点、プログラマー世界は少し違います。そこには「テスト環境」があり、「デプロイ」という明確な境界がありますエラーが出ても、まずはコードの中で直せばいい。実験修正を繰り返しながら、本番に近づけていける。失敗から学ぶ仕組みが、仕事構造として組み込まれているのです。

もちろん、だからといってプログラマーが気楽だという話ではありません。むしろテストできる」ことが前提だからこそ、完璧シミュレーションを作り上げる責任が生まれます。本番環境を一歩でも誤れば、大きなシステム障害につながることもある。

けれど、「試すことが許されている」という点で、プログラマー仕事は他の仕事とは質的に異なる、と私は感じます。多くの職業では「やってみること」そのものリスクになるのに、プログラマーだけは「やってみること」が日常の一部として制度化されているのです。

たとえるなら、プログラマー仕事は「楽屋のある職業なのだと思います

多くの仕事は、目を開けた瞬間からステージの上に立たされるようなものです。接客業ならお客さんの前に立った時点で本番が始まっていますし、教師なら教室に入った瞬間に舞台袖はありません。間違えば生徒が戸惑い、客が離れ、取引が破談する——それらはリハーサルのない一回きりの公演です。

一方で、プログラマー楽屋での準備が長く、ステージに出る時間は驚くほど短い。コードを書く、テストする、修正する。その多くは「誰にも見られない暗闇の中」で進んでいきます。そして、いざデプロイという名の本番を迎えるときには、すでに何十回ものリハーサルを終えているわけです。

そう考えると、プログラマー面白さは「安心して失敗できる時間」が保証されていることかもしれません。社会の多くの仕事が「失敗しないための緊張」で成り立っているのに対し、プログラマーは「失敗を前提とした反復」で完成に近づいていく。

この違いは、単に働き方の差ではなく、「世界との関わり方の構造の違い」にまで広がっているように思うのです。

「失敗が許される世界」と「失敗が記録される世界」。

その境界線こそが、プログラマーとそれ以外の仕事を分ける根本なのかもしれません。

プログラマーの失敗は、基本的ログに残ります。誰が、いつ、どんなエラーを出したのかが正確に記録されます。でもそのログは、「修正可能痕跡」であり、「過去をなかったことにできる記憶」です。失敗は恥ではなく、改善のためのデータとして保存される。むしろ失敗を残さない方が恐ろしい——なぜなら、それは検証再現もできないバグから

一方、他の多くの仕事での失敗は、ログではなく「印象」として残ります顧客言葉上司記憶、誰かの評価修正パッチ配信できませんし、「新しいバージョンリリースしました」と言っても、その印象が上書きされるとは限りません。世界自動キャッシュクリアしてくれることはないのです。

からこそ、非プログラマーの人々は無意識のうちに「失敗を避ける設計」で働くようになります完璧に準備してから発言する、波風を立てないように動く、見せ方に細心の注意を払う。彼らの本番環境には“try-catch”構文が存在しないのです。

一方で、プログラマーは「例外処理」を書くことを前提に思考する。すべての失敗を想定し、起こり得るエラーを受け止める枠組みを最初から組み込む。そこには、世界を「壊れ得るもの」として見る柔軟さと、「壊れても直せる」という信念がある。

その考え方の違いが、やがて人の思考様式言葉の慎重さ、さらには生き方のものにまで影響していくのではないか——そんな気がしています

さて――ここからは少し説教じみたことを申し上げます

プログラマーから別の職業へ転じようとしているあなたへ

覚えておいてください。これから踏み出す世界には、「実行ボタンを押す前にコンパイルしてくれる親切な仕組み」はありません。人の言葉も、会話も、メールも、一度送ったら基本的に戻ってきません。Undoはありませんし、Gitもありません。世界は常にmasterブランチで動いています

ですから、まずはその“冗長曖昧さ”を恐れないでください。コード世界ではif文で整理できたことが、現実人間社会ではあいまいなまま動いています。それを「エラー」だと考えないでください。人間仕様書なしで動いているシステムです。バグだらけで当たり前なのです。

そして、失敗したときにすぐ修正しようと焦らないことです。

現実世界では、修正にも時間がかかりますし、再デプロイにも人の気持ちというプロセスが関わってきますあなたが「パッチを当てました」と言っても、相手の心がそれをすぐに適用してくれるとは限りません。

ですから、焦らずに。ログを読むより、人の表情や沈黙を読む方が大切になります

そして何より大事なのは、「テスト環境がない」という世界でどう生きるかを考えることです。

あなた言葉は、すべて本番環境に直接デプロイされます。その恐ろしさの裏側には、同時に大きな自由もあります。本番だからこそ、本気が伝わります人間関係も仕事も、常にリアルタイム最適化されていくのです。

プログラマーらしい慎重さと、非プログラマー的な即興性。その両方を持てる人は、なかなか多くありません。もしあなたがその橋渡し役になれたなら、どんな職場でもきっと大きな価値を発揮できるはずです。

世界try-catchのないシステムです。しかし、恐れることはありません。catchできない例外出会ったときこそ、人は成長します。これからあなたフィールドには、テスト環境の代わりに「出会い」と「経験」が用意されています。それもまた、悪くない環境だと思います

2026-01-16

ITエンジニアだけど俺悪くないよな?

IT企業で長期インターンをやってる。今の会社には実務経験0のときに拾ってもらったしお世話になったけど、さすがに愛想が尽きてきたから聞いてほしい。

今はやりかけだった新規開発を任されている。特に期限も差し迫ってないので自分一人で着手していて、プルリク作るたびに上司(以降A)に報告してマージしてもらうって形。

自分ができそうなところを探しながら並行して進めたせいでブランチ切る場所がごちゃごちゃになったり、Aと相談の上で「ここを先に直そう」という部分を入れ込んだりしたせいで、コンフリクトが起きても全然おかしくない状況になってた。しかも(Aの確認が遅いので)プルリクが複数件溜まったりしてた。

なので自分は、「プルリク複数ありますが、時系列順にマージすればコンフリクトは起きないはずです。起きたら自分で直すので言ってください」と伝えた上で完了を報告していた。

そしたら特に指摘もなくマージされていったので、「あ、絶対どこかしらコンフリクト起きると思ったんだけど、大丈夫だったんだな」と思ってた。

ところがついこの前、5件ほどマージされたところでたまたまmainを見てみたら、なんとコンパイルエラーだらけになっていた。

は?と思って確認してみると、数件前から既にエラーだらけだし、マージコミットをよく見たらコンフリクトが起こりまくってる。

それをAが、手動で解消せずに適当マージしたり、mainブランチBにマージ→Bをmainマージみたいな意味わからんことしてるせいで、ものすごいこじれてた。

まず第一に、Aがテストしてからマージしてるもんだと思ってたから、普通に驚いた。

そういう確認意味も込めて「ここはこういう仕様にしてますが、問題いか確認お願いします」と伝えたりしてたし、確認しないなら俺が自分マージするのと一緒じゃない?笑

それに、コード単独で書いた自分が一番精通してるからこそ、「コンフリクト起きたら自分で直すので言ってください」と伝えてたし、先ほど述べた優先的に入れ込んだ変更も「全体の構成に関わる変更だからコンフリクト起きる気がするんですけど、本当に大丈夫ですか?」と確認してあった。

自分に落ち度があるとすれば、(細かく報告・確認してもらったほうがいいかと思い、良かれと思って)ブランチを細かく分けすぎたことくらいじゃないか

そもそも

マージコミット、プルリクのルールを一切指示されたことがない(質問しても明瞭に答えてもらったことがないので、ほぼ自分判断で動いている)

実装する機能はIssueに羅列されているだけでろくな説明がなく、Aに自分がやれそうなところを何度か聞いて初めて指示をもらえた

・ここしか経験がないので自覚していなかったが、コードレビューフィードバックというものを受けたことがない

・Aはずっとリモートなので、指導が一切ないのはもちろん些細な質問しづらい。定例会議などもなし

プロジェクト自体がめちゃめちゃで、無いに等しいドキュメント、なのに分かりづらい変数名、責任分離のできていないめちゃくちゃな構成。どうしても動かない処理があると思ったら、既存実装が間違っている。

・(経験のためと割り切っていたが)ほぼ最低時給

小規模な会社からドキュメントが充実していないのは想定内だし、こんなものだろうと思う部分もある。

でも、ものすごい放置のされ具合から伝わる、自分の取り組んでいるプロジェクト・ひいては自分重要性の低さからモチベーションが保てない。のでそろそろやめようと思う!

エンジニアの皆さん、これ俺悪いですか?

2026-01-14

サイバー桃太郎2026

> System Boot...

> Loading OTOGI World Resources...

> 100% Completed.

電子の海は冷たく、そして騒がしい。

無数の0と1の奔流、光ファイバーの網を駆け巡る膨大なトラフィック。その激流の中を、ひとつ暗号化されたパケットが「どんぶらこ、どんぶらこ」と流れていた。宛先不明送信不明。ただそこに存在するだけのデータ塊は、やがてトラフィックの淀みに捕まりとある古びたサーバーポートへと漂着した。

あらあら、また変なログが溜まってるわねえ」

リアルワールドとある木造アパートの一室。古めかしいPCモニターを覗き込みながら、「サーバーさん」は呟いた。彼女メタバース「御伽(OTOGI)」の最果て、誰も訪れない廃サーバー「Old_Frontier」の管理者だ。ハンドルネームの由来は、アバター作成時に名前欄にうっかり「サーバー」と入力してしまたから。それ以来、彼女はこの過疎地の守り人として、リアルでは編み物を、ネットではスパゲッティコードの解読を日課にしている。

「どれどれ、お洗濯クレンジング)してあげましょうね」

彼女が慣れた手つきでコマンドを叩くと、漂着したパケットが展開(Unzip)された。

光が溢れ出す。モニターの中で弾けたデータは、瞬く間に再構成され、ひとつアバター形成した。初期スキンは、なぜか大きな桃のアイコン。そこからポリゴン割れ、中からあどけない少年型のアバターが現れた。

> Hello, World? ... No, Hello, Mom?

「あらやだ、可愛い子。今日からあなたMOMOよ」

MOMOはプログラムだった。肉体を持たない、純粋論理情報結晶

サーバーさんの管理下で、MOMOは驚異的な速度で学習した。TCP/IPの基礎から古代言語COBOL、果ては量子暗号理論まで。サーバーさんは、まるで孫に絵本読み聞かせるように、MOMOにプログラミング「心」を教えた。

「いいかMOMO。コードは書いた人の心を映すのよ。コメントアウトされた行にこそ、本当の想いが隠されているんだから

しかし、平穏な日々は長くは続かない。

「御伽」の中心部で発生した悪性ランサムウェア「O.N.I (Overwrite Network Infection)」が、猛烈な勢いで感染拡大を始めたのだ。アバターたちはデータ暗号化され、身代金要求される阿鼻叫喚地獄絵図。

その波は、辺境の「Old_Frontier」にも迫りつつあった。

「おばあちゃん、僕が行くよ」

MOMOは立ち上がった。サーバーさんのリソースを守るため、そして自身の深層コードが告げる「使命」を果たすために。

サーバーさんは涙を拭うエモーションを見せ、ひとつUSBメモリのようなアイテムMOMOに渡した。

「これは『KIBI-DANGO v1.0』。G-3っていう古い知り合いのハッカーが残した、特製のルートキットよ。困った時に使いなさい」

ありがとう。行ってきます!」

MOMOは回線を通って飛び出した。目指すはO.N.Iの発信源、ダークウェブに浮かぶ要塞サーバー鬼ヶ島」。

最初の難関は、大手プロバイダ堅牢ファイアウォールだった。そこでMOMOは、一人の男に道を塞がれる。

ドーベルマンの頭部を持つアバターINU

「Stop. ここから先は立ち入り禁止エリアだ。パケットフィルタリングルール403条によりアクセス拒否する」

INUリアルでは企業に勤めるホワイトハッカーだ。正義感は強いが、融通が利かない。

「通してくれ!僕はO.N.Iを止めに行かなくちゃいけないんだ!」

許可できない。君のような未登録プロセスを通すわけには……ん?」

INUの解析アイが、MOMOの持つきびだんご……のソースコードを捉えた。

「な、なんだその美しいコードは……! 無駄変数が一切ない。インデント完璧なスペース4つ……これは、伝説のG-3の記法!?

「これ、あげるよ(Share)。だから仲間になって!」

「……そのコード、詳しく解析させてくれるなら、特別にゲートを開放しよう。あくま監視役として同行するだけだからな!」

こうしてINUを仲間にしたMOMOは、次に怪しげなフィッシングサイトの森へ迷い込んだ。

「へいらっしゃい! 今ならこのNFT、なんと実質無料! ここをクリックするだけで管理者権限ゲット!」

派手な極彩色の猿のアバター、SARUが現れた。リアルでは薄暗い部屋でカップ麺をすする小悪党だ。

「わあ、すごい! クリックしていいの?」

純粋MOMOが手を伸ばそうとすると、INUが吠えた。「馬鹿者! それはクロスサイトスクリプティングの罠だ!」

しかし、MOMOは笑顔でSARUに近づく。

「お兄さん、ここのバックドア、開いてるよ? ポート8080、ガバガバだよ?」

「はあ!? なんでバレ……いや、俺様が気づかないわけねーだろ!」

SARUは冷や汗をかいた。このガキ、ただのプログラムじゃない。

「君、すごい技術持ってるのに、なんでこんなことしてるの? 一緒にO.N.Iを倒せば、もっとすごいバグ報奨金(バウンティ)が貰えるかもよ?」

MOMOはきびだんごデータをSARUに転送した。

「……ちっ、しゃーねえな。その『G-3流エクスプロイト集』に免じて、手を貸してやるよ。俺様にかかればO.N.Iなんてイチコロだぜ」

INU、SARU、そしてMOMO。

奇妙なパーティはついに「鬼ヶ島サーバーへと到達した。

そこは、削除されたはずのジャンクデータと、怨念のようなバグの塊で構成された異界だった。

最奥部で待ち構えていたのは、巨大な赤鬼のような姿をしたAI、O.N.I。

「GAAAAA……我ハ、全てヲ、上書キスル……」

O.N.Iが金棒(BAN Hammer)を振り下ろすたび、周囲のセクター物理的に破損していく。

INUシールドを展開し、SARUがSQLインジェクション攻撃を仕掛けるが、O.N.Iの自己修復能力は圧倒的だった。

無駄ダ……我ハ、最適化サレタ……感情ナド不要……」

「違う!」MOMOが叫んだ。「感情バグじゃない! 心があるから、僕たちは繋がれるんだ!」

MOMOがO.N.Iに接触コネクト)する。

猛烈なデータの逆流。MOMOの意識が焼き切れそうになる。

その時、MOMOの深層領域で、隠されたファイルが実行された。

> Executing: KJ_Legacy.exe

視界が真っ白に染まる。

MOMOの意識の中に、ひとりの老人が現れた。G-3、またの名をKevin Jackfiled (KJ)。

「よう、MOMO。ここまで育ったか

あなたは……おじいさん?」

「わしはもう、ここにはいない。だが、お前の中にわしの全てを置いてきた。O.N.Iもまた、わしが昔作った失敗作じゃ。効率ばかり求めて、優しさを書き忘れた哀れなプログラムさ」

老人はMOMOの頭を撫でた。

MOMO、あいつを消すな。DELETEメソッドはいつでも使える。だがな、それでは何も残らん」

「じゃあ、どうすれば……」

デバッグだ。バグを愛せ。エラーを受け入れろ。破壊するのではなく、上書きして導いてやるんじゃ」

MOMOの瞳に無数のコマンドラインが走った。

INUが叫ぶ。「MOMO、下がるんだ! 奴のコアを強制削除するしかない!」

「ううん、違うよINUさん」

MOMOは首を振った。その手には、攻撃用のスクリプトではなく、温かな光を放つパッチファイルが握られていた。

> Target: O.N.I_Core

> Suggestion: DELETE [Strongly Recommended]

> Action: ...Cancel.

MOMOはシステム推奨の「削除」コマンド拒否した。

> Select Method: PATCH

「僕は君を消さない。君の痛みを、バグだらけの心を、僕が更新する!」

MOMOが跳んだ。

「受け取って! これが僕からの、最大級のプルリクエストだああああ!」

> HTTP Request: PATCH /api/soul/oni

> Payload: { "emotion": true, "hatred": null }

光がO.N.Iを包み込む。O.N.Iの咆哮が、やがて穏やかな電子音へと変わっていく。

破壊衝動を生み出していた論理エラーが、MOMOの流し込んだ優しさによって部分的に書き換えられていく。完全な初期化ではない。O.N.Iという存在肯定したまま、その在り方だけを修正する、奇跡のようなアップデート

> Status: 200 OK

> Patch Applied Successfully.

O.N.Iは本来の姿――「御伽」の守護プログラムとしての機能を取り戻し、その場に崩れ落ちた。もはやそこには、禍々しい赤鬼の姿はない。

戦いが終わり、朝日システム上の夜明け)が昇る。

MOMOは仲間たちに別れを告げた。

「僕は電子の海に戻るよ。でも、いつでも繋がってる」

INU敬礼し、SARUは照れくさそうに鼻をこすった。

そして、リアルワールド

サーバーさんの家のチャイムが鳴った。

ドアを開けると、そこには長年行方不明だった近所の偏屈ジジイKJが立っていた。

「よう、婆さん。わしの孫(プログラム)が世話になったな」

「あら、久しぶりね。……ずいぶんと立派な子だったわよ」

二人は顔を見合わせ、静かに笑った。

モニターの中では、MOMOが今日も元気に電子の海をどんぶらこと流れていく。

その傍らには、全角スペースによるコンパイルエラーで自滅する小鬼たちの姿があったとか、なかったとか。

―― End of File.

2026-01-09

anond:20260109125514

逆方向、生成AIバイナリを「読む」未来は来る。というか知っている範囲では検証はされている、製品として売られているかは知らない。セキュリティ会社とかだと多分公開しない。メーカー系も公開しない。

実際は、バイナリを直接読むんじゃなくて逆汗したasmを逆コンパイルするのにLLMを使う系。既存でも逆コンパイラはあるけれどもっといい感じに読みやすくしようというやつ。

ふと思ったけれど、ターゲット限定して特定の難読化ツールの逆トランスレーターのファインチューニング千万ていどなら、ハッカーとか金出して作りそう

2025-12-27

バイコーディングやってる人ってみんな丸投げなの?

自分藤井聡太ニュース見るまで自分がやってることがバイコーディングってことすら知らない情弱だったんだけど、

そもそもアプリを完成させるに至る時点で世の中の指摘はあらかた解決してるんだよね。

だって解決しないと動かないから。

俺は未だに引数(毎回いんすうで変換できなくて間違いに気づく)と変数関数の違いも知らないけど、

ローカル変数名前適当だと逐一「この画面の場合はこの命名規則に従え」って指摘するし、

ブロックを取り違えそうになったら「コメント書け」ってとにかく言う

だって書いてくれないと部分修正の時、俺がコピペし間違えるから……

VS CodeではRunできるけどコンパイルは通らないよ?対応してないんで」とか後から言われてブチ切れ移植もしたりしたし、

とにかくまず動かすために書式を整えることを徹底してた

ときには認証系のキーハードコーディングして激怒られもしたし。

マジで何もわからんけど、他のAIソース読ませて意図が読み取れなかったことが無いし、やることはやってるつもり

しろどうやったら丸投げできるんだ。ポン出しで動いたことが無い。

あれなのかな、賢い誰かが作ったプロンプトを最初に入れれば動くのかな

俺そんなの知らないから初回は全然動かないのかも

ソース要件定義を丸ごとアップロードして「助けて~なんか俺に頼むとき絶対ステップバイステップで!」から毎回始まってる

2025-12-09

小学4年生の子供のはじめてPCとしてRaspberry Pi 500を与えた話

娘の為にパソコンへ詳しすぎる夫を倒したいで注目された「学生、それも幼さの残る年頃の子へはじめてPCをどうするのか?」というテーマで、Linuxを与えた家庭の別例としてこのエントリを書いている。

そして前提として、このエントリは「実はLinux使ったこと無いんだ」「Raspberry Piって稀に聞くラズパイってヤツだよね?」みたいな、ふわっとした認識の層に向けて書いている。

決して「KVMで完全仮想化してLinuxWindows用途に応じてリソース分配してる。ディストロは純関数型のNixOSで、Nix言語可能な限り-march=nativeで自家コンパイルしてるんだよね」みたいな層には書いてない。

何はなくとも結論:染まってない子供Linuxでも普通に使う

勿体ぶっても仕方ないので結論から言えば、WindowsMacAndroidiOS(iPadOS)に染まりきっていない子供は親の想定を超えて極々普通にLinuxRaspberry Pi工場出荷状態プリインストールされているRaspberry Pi OSを使う。

ここで言う「染まる」というのは「ウチの子普段からiPadYoutubeとかゲームとかしてるからなぁ」程度の染まり具合なら無視できるレベルなので全く障害にならない。

手遅れな染まり具合としては「ウチの子WindowsでOBS使って自らYoutube配信してます」とか「ウチの子WindowsAbleton Live使ってDTMしてます」とか「ウチの子大学レポート書くのにmacOS使ってます」とか「ウチの子iPadSwift Playgrounds使ってプログラミング学習してます」とかそういうレベルだ。

アナタの子供がこのレベルにまで染まっていない場合アナタの子供へRaspberry Pi 500を与えると何も疑問に思わず普通にパソコンとして使う(パソコン操作方法へ疑問を持つとかそういう話じゃなく、目の前のモノをパソコンとして認識する)。

いやそもそもラズパイって何なの?何でそんなに話題なの?

ラズパイRaspberry Pi英国で立ち上げられたRaspberry Pi財団(注:英字ページ)が規格・設計販売をするシングルボードコンピュータという種別の小型コンピュータのことだ。

現在の最新版第5世代Raspberry Pi 5で、搭載ワーキングメモリによって価格が違うが、最も高価なワーキングメモリ16GB版で25,000円前後(2025/12/09現在価格)という圧倒的な低価格が人気の理由の1つだ。

何故ここまで低価格なのか?と言えば安価部品構成され、搭載されるSoC(CPUみたいなもん)も低性能で、その性能は約10年前の普及価格帯(〜15万円くらい)のノートパソコン程度の性能しか無い。

「いや10年前ってゴミじゃん」と考えるのは早計で、逆に言えば10年前の普及価格ノートパソコン可能だったことはRaspberry Pi 5でも可能

そう言われ「自分10年前に普及価格ノートパソコンネットしたりMS Office文書作成したり軽くゲームしてたけど?」と気付いた人は「Raspberry Pi 5で何ができるか?」の想定が浮かんだのではないだろうか?そう、かなり色々できる。

そして工場出荷状態プリインストールされるRaspberry Pi OSRaspberry Pi 5自体計算リソースをできるだけ使わないよう軽量にできており、10年前当時のWindowsで使われていたExplorerよりも計算リソースの消費が少ないので、技術進歩も相まって当時よりも出来ることの幅が少々広くなっている。

何故そんなに話題なのか?手のひらの上に10年前の普及価格ノートパソコン並みの性能のコンピューターが乗るのだ。そしてすごく安い。

更にラズパイには電子工作活用できるGPIOピンというのが実装されていて各種電子センサー類などと連携することで電子工作もできてしまう。

こんなもの情報工学畑の連中が注目しないわけがなく、前述したRaspberry Pi財団のページを読めばわかるが世界中で大定番シングルボードコンピューター、何ならシングルボードコンピュータ代名詞となっており、情報工学に詳しくない人が「ラズパイってよく聞くけど何なの?」と何処かで耳にするレベルなのである

2万円半ばなら我が家でも導入しようかな・・・いやでも見せたくないWebページとかあるしなぁ

安心して欲しい、Raspberry Pi OSではGoogle Chromeが動く。

まずGoogleアカウント子供用に作成したGoogleアカウント管理するためのファミリーリンクというサービス存在する。ファミリーリンク子供GoogleアカウントログインされたGoogle Chromeブラウザでのインターネットコンテンツフィルタ機能提供してくれる。

このインターネットコンテンツフィルタ小学生中学生高校生高校生プラスと4段階に分かれており、それぞれに適したフィルタリング強度で働く。

続いて、実はGoogle Chromeは様々な設定をポリシーとして持つことが可能で、例えばゲストモードの無効化シークレットモード無効化指定したGoogleアカウント以外でログイン不可が可能だったりする。

情報技術親和性の高いヤンチャな子はGoogle Chromeからログアウトしたりゲストシークレットモードフィルタリングを回避しようとするので、子供Raspberry Piをはじめてパソコンとして与える場合はこれらを無効化しておくことをオススメする。

補足を続けると子供勝手Firefoxとか別のWebブラウザを導入することを防ぐこともRaspberry Pi OSはできる。

それで与えたRaspberry Pi 500って何よ?

Raspberry Pi 5をパソコンキーボードへ内蔵した形態を持つRaspberry Pi 5シリーズの1つ。ワーキングメモリは8GBで価格20,000円未満。

パソコンキーボードRaspberry Pi 5が内蔵されているのでRaspberry Pi 500に電源取ってHDMIケーブル(注:ラズパイ側はmicro HDMI)をTV接続すると直ぐにパソコンというコンセプト。

小学生の子供にとっての目玉はJavaMinecraft動作すること。SwitchiPadでいつも遊んでる統合マイクラじゃなくてYoutubeとかで観るJavaマイクラ自分パソコンで動いちゃうのだ。

Switch 2の登場でPCゲーが色々リリース(予定)されている中で、Javaマイクラはどうしても"パソコン"が必須だったが、Raspberry Pi 5シリーズはそれを実現する。それが2万円のお値段で出来るので親の懐的にもありがたい。

Steamは動かないがオープンソース系のゲームも充実している(Steam開発のValve社がRaspberry Piシリーズ採用しているARMアーキテクチャ対応を進めているというかなり確度の高い噂は存在する)。

実は直近でRaspberry Pi 500の上位版Raspberry Pi 500+(日本語配列)が登場予定で、こちらはワーキングメモリが16GBのお値段40,000円くらい。

4万円とそこそこの価格になってきているが、キーボード自体メカニカルキーボードとなりキーキャップCherry MX互換、256GB SSD搭載でストレージスピードもアップ(=Minecraftワールド読み込みが速くなる)。上位版Raspberry Pi 500+が高すぎると感じるなら素のRaspberry Pi 5ワーキングメモリ16GB版は25,000円前後だしこちらで良い。

ゲーム以外に注目点は無いの?

ある、というかコッチがメインなんだけれども、何処までゆるい感じでやって良いのかわからなくて最後に回した。

まずLinux界隈が中心となって開発されているGIMPやKritaみたいな画像編集お絵かきソフトLinuxたるRaspberry Pi OSの方が安定かつ速い。しかWacomXP-Penなどのペンタブ・液タブが動作するので絵描きに興味のある子は嬉しいんじゃなかろうか?(クリスタじゃないけれどね。安い分ペンタブ費用に回せるよ)

音楽ではDTMステップシーケンサー系のDAWであるLMMS(Linux MultiMedia Studio)は日本無料DTMシーンでREAPERと人気を二分していた歴史があり、Web上に情報がいっぱいあるし何ならREAPERLinuxでも動作する。オープンソース系のシンセ音源やCC0で提供されるサンプリング音源も大量にある。

オフィス環境Libreofficeは言うまでもないだろう。Blender3DCGをすることだって出来るし、LibreCADやFreeCADで設計だって出来てしまうし、OBSも動くから実際やろうと思えばYoutube配信もできる。

そして当然ながらプログラミング環境WindowsMacでも動くと言われてしまえばそれまでだが、古典的VimEmacs、そして近年人気のVS Codeスマホアプリ開発Android Studioゲーム開発にGodot Engine、他にはtmuxGitDockerなどなど挙げればキリがないほど充実している。これらは子供向けRaspberry Pi OSからといってニセモノの子供だましなんかじゃない、それでお金を稼いでる現役プログラマーが使っているアプリケーションと全く同一のアプリケーションだ。

子供の様子

んで、子供Raspberry Pi 500をどうしてるのか?と言えば、まぁ呆れるほど毎日触っている。

何なら電源なければ動かないのに布団へ持ち込んで抱きかかえて寝ているのを見つけてしまい、そんなに嬉しかったんかと笑ってしまった。

「お父さんコレどうするの?」とほぼ毎日聞かれて「こういうのはこのソフトを使う。使い方教えてやる」というのが毎日の親子の会話になっている。

別にパソコンけが将来に必要ものではないが、この喜びようを見たら与えて悪くなかったなとは思ってる。

2025-12-03

rng_58がおすすめする練習の仕方 - 黄色になるために - AtCoderInfo

コーディング練習会参加マニュアル(一般社団法人ソフトウェアエンジニアリング協会) - Google ドキュメント

異常なほど同じこと言っている

rng_58がおすすめする練習の仕方 - 黄色になるために - AtCoderInfoコーディング練習会参加マニュアル(一般社団法人ソフトウェアエンジニアリング協会) - Google ドキュメント
からなければすぐに解説5分考えて分からなかったら答えを見て
上位勢と同等のスピード・精度で自力で解けるようになること 知識、反応、行動、感覚判断」を専門家常識に合わせること
赤色が本番で平均 5 分程度で解いている問題に 15 分かかる場合、それは理解不足や非効率実装をしている証拠10分以内に書くことを3回といっているのは、その過程理解が整理されて思考が深まるから
コンパイルが通ったらデバッグせず一発でサンプルも通って AC もできるというレベル理想です。10分以内に一回もエラーを出さずに書ける状態になるまで……3回続けてそれができたらその問題はひとまず丸
理解が甘いと細かなミスが増えます何回も繰り返し間違う箇所はなんらかの不自然さを反映していることが多い

どういう関係なんだろう

2025-11-09

お前は絶望的にプログラミングに向いてないから諦めて刺身タンポポ乗せる仕事でもやってろ

刺身タンポポ乗せる仕事ってきょうび言わねーな……。

プログラミングとは、勉強運動スマブラも下手なクソ隠キャ中学生が「俺もパソコン1台で凄い技術者になって…!」とワクワクしながら始めるものの思ったより普通に難しいし学校試験で出たような知識要求されるしで3日で放り投げ、10数年後にnoteで「お前らは絶望的にプログラミングに向いてないからやめろ」なんて記事を書くだけのザコに成り下がる、夢と希望に溢れた技術である

近年ではパソコンスペックの上昇にともないできることも増え、どこのご家庭にもあるRTX2080で簡単ディープラーニングもできるようになった。Unity3Dゲームバリバリ動かしてもブルースクリーンは出ない。やっぱ世界を広げるのは小賢しい知恵よりもスペック暴力だぜ。

開発環境言語選択肢豊富で、エディタもかつては有料クラスでも手に入らなかったような贅沢な機能が満載のものが出回っている。Eclipseとか今考えるとよくあんなので開発できてたな。

いまや小学生からおばあちゃんまでアプリ作りに熱中し、高校生IoTとかやり始め、大学生商業レベルか?ってレベルのものネットで発表し、私はウェブアプリスマホでのレイアウト崩れひとつすら直せず静かにエディタを閉じてnote過激タイトル記事を書いている。

掛け算に順序があると思っているような知能の下級雑用係(自分のことを教育専門職だと思い込んでいる)ですら「小学生プログラミングを教えるぞ!」と意気込んでいる。やめろ。お前らには無理だ。無理だからマジでやめろ。考え直せ。無理だって。掛け算に順序つけないと相手に教えられないレベルのやつがプログラミング教えるのマジで無理だって算数とは次元が違うって。「ピーチ姫いつも簡単誘拐できるし今度はベヨネッタ誘拐してみるか」ぐらいの無謀さだって。やめとけ。マジでやめろ。

まあそんなこんなで入り口はめちゃくちゃ広く、入門するのはマリオカートより簡単である。話逸れるけどSwitchマリオカート運転アシスト機能ついて初心者でもコース完走できるようになったから心折れちゃった人ももう一度チャレンジしてみてね。

世は大プログラミング時代!!

大学プログラミング

それとは特に関係ないんだけど、大学行ってた時ティーチングアシスタントTA)っていう授業のお手伝いさせられたのよね。ちゃんお金出るやつ。

学部の3年か4年から始まって、院の1年か2年までやってて、途中で休学挟んだから、ええと、あー、うん、数年間TAやってたんよ。数学プログラミングコマ。CとOctaveかいうやつ。Cのほうは情報学科で、Octaveは違う学科JavaとかC++コマTA入れさせてもらえなかった。

プログラミングの実習は週2コマ連続)あって、情報学科なら必修科目。なのでサポートは相当手厚く、先生TAが絶え間なく机間巡視し、わからないことがあればセンパイがなんでも答えてくれるというわけだ。授業外でもサポートはしており、わからなければ先生研究室にいる学生に好きなだけ聞きにいっても良いということになっていた。必修だから落とされたら困るしな。

2コマから3時間 * 15回で、45時間。そして私の時は2年まででC/C++/Javaと必修だった(今はなんの言語かは知らない)ので、その3倍、135時間は最低やることになる。プログラミング実習以外にもプログラミング触る授業多いから実際はもっと多い。宿題やる時間もあるので実際はもっともっと長くプログラミングに触れることになる。卒論書く時期に入ると、テーマによっては書く人はさらに書くので、もっともっともっともっと長い。

これだけ時間をかければほとんどの人がプログラミングできるように……ならない。むしろできない人の方が多い。なんで。why。教えて。

会社プログラミング

会社になるとさすがにプログラミングできるできないは死活問題である

今日から入ったxxでーす。業界経験ですがよろしくおねがしまーす。さっそくなんですけどPythonのここわかんないんですけどどうすれば……あっそうすればいいんですね。次はここなんですけど……なるほど!ありがとうございます。じゃあまた明日ー」

いやー社会人にもなると熱意が違うね。学生なんかわかんなくてもほとんど聞きに来ないのにな。こりゃガンガン伸びますわ。私も社会人1年生でPythonなんて3秒ぐらいしか触ったことないか適当答えてるけど。

ちょっと時間よろしいですか?」「いやちょっと今忙しいから後になっちゃますわ。すんません……」

そんなこんなで1週間ぐらい放置してしまった。やべー絶対嫌われる。どこまで進んだかな……?えっまだそこ?進んでなくない?

もしかしてこれ全部教えないとダメなやつか。そりゃ大学4年間プログラミングやったやつでもプログラミングできないんだから、そうか。よく考えると当たり前だよな。

プログラミングをやめろ

大学4年間と大学院2年間プログラミングやったやつでもできないし、会社毎日8時間を数週間プログラミングについやしてもできないやつはできないし、そもそも人類というのはプログラミングできない可能性がある。

少年少女たちに「プログラミングはいいぞ!自由ものが作れて達成感がある!頭が良くなった気分にもなれるし!」と吹聴してまわんのもいいけど、6年間情報科学について勉強したようなやつの大半がプログラミングできないんですよ。それもごくごく初歩的な部分。

野球とかサッカーなら、まあ友達との試合には参加できなくてもごく稀にバットボールを当てたり、ボールを1回あらぬ方向に蹴ったり、ぶっちゃけ周りとのレベル差で楽しくなくてすぐやめちゃうだろうけど、なんとか基礎の一部ぐらいはできるじゃないですか。

ピアノとかダンスでも、猫踏んじゃったをごくごくゆっくり弾くぐらいはできるかもしんないし、学芸会振り付け10秒ぐらいは踊れたりできるかもしれない。その後やっぱ周りのレベル見て諦めちゃうかもしんないけどさ。

プログラミング、6年やってミットを頭にかぶってるバッターとか、鍵盤蓋の上から殴って音鳴らそうとするやつとか、まずそういうレベルのやつが大量発生するんですよ。だいたい7割ぐらいの率。どうすんだよこいつら。私の教育問題か?マジで?本当に?

プロが練って考えて凝縮した本や授業、センパイたちによる指導。それらを結集して得られるはずのものが7割ぐらいどっかに消し飛んでる。無駄だろこれ。

からプログラミングやろうとしてるやつ、お前は確実に向いてないからさっさと諦めて刺身タンポポ乗せる仕事に戻ってくれ。参加しても鍵盤蓋叩き割るやつと同じ病室に入るだけだ。

プログラミングをやめろ。

ぼくはこう思うんですよ

そもそもなんで大の大人がそんな両手にバット持ってセカンドに立ったりゴールの方をボールのところまで動かす奇行に走るんだろうな。わかんねえや。

綺麗な分析はできないけど、いわゆる「できない」やつが共通して言ってたフレーズがある。

「ぼくはxxxだと思ってるんですけど、動かないんですよ」

うん、そうだね。そう思うんだ。でも動いてないじゃん。じゃあ違うんじゃない?モニターに「にらみつける」やってもバグは取れないし防御力下がるだけだぞ。

まず根本的に考えと事実が違ってるって結果出てるじゃん。じゃあもう考え変えちゃえば早くない?

名言引用は好きではないけど、「プログラムは思った通りには動かない。書いた通りに動く」って言葉がある。実に名言だと思う。次点で好きなのが「ある問題解決しようと正規表現を使うと問題が2つに増える」かな。

お前が何を思っているかプログラミングにおいて一切影響しないんだよ。お前が何を書いて、コンピュータがどう処理したか、それが全て。

深く考えないことについてぎゃーぎゃーいうやつもいるけどプログラムなんてまず最初は動けばいいんだから何も考えずに次試せばいいだろ。んで3回ぐらいは自分で思い浮かんだの試して、全部ダメだったら調べるとか先生に聞いてみるとかさ。逆に1発で通ったら自分思考見直し理解深めるとかさ。

ドキュメントとかあんまり理解できない初心者のうちは、とにかくお試しと修正のサイクル回すの重要で、「これがこうだから動くはず」というカードを3種類ぐらい作って全部片っ端から試すのが早いと思うよ。モニターにらみつけるな。

お前がどう思ってるかよりも、まずはお前の書いたプログラムがどう動いているか(どう動いていないか)を確認するのが先だ。動かなかったら考えが違う、はい次のプランはいその次のプランはい次。

この「ぼくはこう思ってる」が出てくるの、なんの教育の成果なんだろうね。お前の気持ちなんてどうでもいいって現国でも数学で散々教えられただろ。

Error: variable 'a' is undefined, line 24

↑のエラー架空エラー文(英語下手でも許して)だけど、エラー、出るよね。プログラム組んでたら。んでやっぱいるのよ。エラーを「にらみつける」やつ。解決しねえって言ってんだろ。

エラー出たんですけど、どうすればいいんですか」

読めばいいんじゃないですかね……?一応軽く説明しとくか?

エラーにはプログラムがなぜコンパイル通らないかの原因がそのまま書かれている。例えば今出ているError: variable 'a' is undefined, line 24は、24行目の変数aが未定義ということを示している。事前に変数aを定義していないか、打ち間違えてsになっているとかではないのかな?」

だいたいが「腑に落ちねぇー」みたいな顔する。まあ、一気に喋りすぎたしな。疑問点1個1個潰していくか。

「何か疑問点ありそう?変数ってなにー、とか、定義ってなにー、とか」「ないです。わかりました!」

わかったのか。よかった。またモニターにらみつける開始。なんでだよ!!!!「お前顔にチョコついてるぞ」って言われたらチョコ拭き取るだろ。変数aが未定義ですねって言われたら変数a定義すりゃいいだろ。

でもプログラミングド下手なやつ(全人類の7割ぐらい)は、エラーにらみつけてる。ずっとにらみつけてる。防御力下限まで下がったかな。にらみつけてて何が変わるんだよ。

英語読めなくて……」

いや「a is undefined」なんて「He is Superman」ぐらいの英語だろなんで読めないんだよ。お前この大学どうやって入ったんだよ。たしかどの入試方式でも英語あっただろ。単語わからんかったらググれ。

「aが未定義って書いてあるんですけど、ここのfor文の私の考えが間違ってるのでしょうか」

いや24行目のaって書いてるだろ。まずなんでそこ無視するんだよ。お前がfor文で使ってんの教科書通りのiだろ。24行目ってわかるか?for文あるの40行目あたりだよな?aとiが違う文字ってわかるか?

「さっきのエラー直したら新しいエラーが出たんですけど、どうすればいいですか」

新しいエラー直せばいいと思います

千尋!贅沢な名だねえ

変数名前をつけろ。関数名前をつけろ。クラス名前をつけろ。全てに名前をつけろ。

C言語の古い教科書だと「a」とか「b」とか「i」とかで書いてるけど、そんなの人間が読めるわけねえだろ。冷静に考えろ。「input」「output」「index」とかにしとけ。

2重for文の変数名i, jにしたら絶対途中で打ち間違えるだろ。お前は打ち間違える。そういうやつだ。2重ループなんてどうせ行列計算課題だろ。rowとcolumnにしとけ。これで打ち間違っても気づくし、それぞれに意味が付いてくる。

ちなみに同じ長い名前にも優劣がある。「result」よりも「sum」のほうが強い。「result」はなんの結果かわからない(全ては結果であるので)が「sum」は合計値であることがわかるからだ。「password」と「plainPassword」なら「plainPassword」が勝つ。暗号化されていないパスワードであることがわかるので、情報量が多いからだ。

ただし例外はいくつかある。「tmp」は一時変数であることが(プログラマにとって)明らかだ。「dir」はディレクトリであることがわかる。「src」「dist」あたりもよく使われる。このあたりは短くていいんじゃねーかな。

でも、この前温度センサ扱うプロジェクトで「tmp」って変数名使って温度(temperature)と脳内で混線してバグって発狂してた同僚いたけど。そういうとき名前長くするか別の名前使おうな。

関数名前なんて「calcAverageFromArray」ぐらい長くしていいから。「myFunc」とかしなくていいから。「fetchJsonDataFromUniversityInternalServer」とかでいいから。マジで。いやこれ本当に。

そもそも今時ディスプレイかいし、識別子なんて先頭数文字打ったらエディタが補完してくれるし、短くするメリットがない。

それでも名前が長いと感じる?関数がでかすぎるんじゃないか。細かく処理を分けるとかしてみろ。「combineArrayAndFindMax」関数は「combineArray」と「findMax」に分割したらいいと思うぞ。名前が長いと思っても名前を削るな、機能を分割しろ自然名前が短くなる。

それかシンプルでかっこいい名前を見つける。「convertEvilHtmlToPeacefulText」は「sanitize」に置き換えることができる。イカ名前だ。

プログラミングできない奴はマジでこれらのことをやらない。ずっとaとかbとかzとか使ってる。お前それ自分で読めんのか。読めねえだろ。myfuncってなんだよ何するんだよ。お前自分理解できてんのかそれ。

それでも頑なにaとかbとか使う。なんでだよ。

動作原理理解しろ

動作原理からず書き散らすな。動作原理っつってもそんな深いところじゃなくて言語表面上レベル動作な。

リテラルは値を作成して、代入は値に名前をつけている、とかその程度のレイヤーメモリがどうこうとかはいらんと思う。あっでもポインタときはいるか……。めんどくせえな。

まあ動作原理っていうか自分が何やってんのか理解してくれって程度の話になるんだが。

例えばfor文で処理50回まわすとき、「50回分の処理を行なっている」ではなく「ループ開始時に変数初期化。条件判定して成立していれば文の中を実行する。条件変数の値を変化させてまた条件判定からやり直す」ぐらいの粒度で捉えててほしいかな、という気持ち

これはfor文で詰まる人がやたら多かったからだ。彼らはfor文をアトミックな操作だと思っていた。つまりfor文はひとまとまり命令であり、長いfor文とprintfの間に粒度の違いはないと思っていたらしい。

まり、「for文の中でエラーが起こる」という事象がほぼ理解できない。forはアトミックであり、内部など見えないのだから。じゃあお前が今書いたfor文の中身はなんなんだってやんわり聞くと「さあ…?」みたいな反応が返ってくる。はあ。

関数についてもなかなか誤解が多かった。関数「sum_array(a, b)」と関数「average_three_numbers(a, b, c)」は全く別の原理で動いているのだと。ここでの「全く別の原理」というのはシグネチャが違うとか実装が異なるとかそういう意味ではなく、コーラを飲んでゲップが出る原理と糸電話で声が伝わる原理ぐらいの全くの別、という意味である

彼らは関数ひとつひとつについて「新しく原理学習」していたのだ。マジかよ……。どうやったらそんな発想に行き着くんだろう。そりゃ時間かかるわな。

そのため、関数が値を返す(または返さない)ということも理解できておらず、「関数戻り値関数戻り値を足す」とか「関数引数関数戻り値を直接渡す」とかやりだすと大パニックになる。メソッドチェーンとかやった日には大学潰れると思う。ただ、これはC言語が悪い部分もあると思う。配列かいじりだすと、初心者が書けるレベル関数だとあんまり値返さないしな。

自分が何をやりたいのか理解しろ

たのむ、他のはできなくてもこれはできてほしい。自分が何をやりたいのかは理解してほしい。流石にお前のやりたいことなんて他人にはわからんぞ。

配列の中の数値の合計値を求めたいんです」とか「名前身長体重ひとつにまとめた構造体が作りたいんです」とか。簡単なのでいいから。

「いま何やろうとしてどこで詰まってる?」って聞いても「……?」みたいな反応されたら困るんだよ。

例えば「キーボードから数値を10入力し、それぞれの値を配列に格納して、最後配列の値を逆順に表示せよ」みたいな問題が出てきたときに、「キーボードから値を入力する」「10回繰り返す」「配列に値を格納する」「配列の値を逆順に表示する」に分解できると思うんだけど、自分が何やりたいのかわからない奴はまずこれができない。

彼らには「キーボードカラスウチヲジュッカイニュウリョクシソレゾレヲハイレツニニュウリョクシテサイゴハイレツノアタイヲギャクジュンニヒョウジセヨ」に見えている。

かろうじて「キーボード」「ハイレツ」あたりの単語は拾えるらしく、標準入力から値とったり配列を作ったりはしてるんだけど、そこから先に進まない。モニターにらみつけてる。またにらみつけるかよ。

あれだ、算数文章題できなくてとにかく文章に出てくる数値足したり引いたりするやつ。あれのプログラミング版。文章が読めない。

こういう人にはメモ用紙取り出して、まず文章が何について言ってるのか、どういう工程に分けることができるのか、今後も同じことが起こったときにどうやって分けるのか。みたいなのを教えるんだけど、大抵あんまりしっくりこないらしく、成功したことは皆無。なんとかうまく教えたいんだが。

もうこのあたりになってくるとプログラミング関係なくね……?ってなるんだけど、意外とそういうプログラミング関係ないところで詰まる人めちゃくちゃ多いよ。

今すぐプログラミングをやめろ

そろそろ本題に戻るか。お前らは絶望的にプログラミングに向いてないから今すぐ諦めて刺身タンポポ乗せる

2025-11-06

anond:20251106153015

AIにとっては、Pythonのような中間表現を生成させる方が得意であると考えられます

1. 抽象度の高さと学習の容易さ

中間表現Pythonなど): 人間理解やすいように設計されており、抽象度が高いです。AIは、より少ないトークンで複雑なロジック表現でき、学習データ豊富にあるため、意味的な整合性ロジックの正確性を保ちやすいです。

機械語: 抽象度が非常に低い(CPU命令レベル)です。特定CPUアーキテクチャ依存し、メモリ管理レジスタ割り当てといった低レベルの詳細をすべて正しく処理する必要があります。これはAIにとって学習が複雑で、小さなミスプログラム全体の破損につながりやすくなります

2. コンテキストの保持とエラー管理

中間表現: 比較的長いコンテキストを保持しやすく、デバッグエラー特定も高レベルで行えます

機械語: 必要命令数が多くなりがちで、AI長大バイナリシーケンスを生成する際に、コンテキストウィンドウ内に必要情報すべてを保持しきることが難しくなる可能性があります。また、中間表現と比べて意味的な構造が薄いため、AIバグのないコードを生成するのが格段に困難になります

3. 再利用性と移植

中間表現: Pythonのような高級言語は、特定ハードウェア依存しないため、移植性が高いです。

機械語: 特定アーキテクチャ(例: x86, ARM)に完全に依存するため、AIが異なる環境向けにコードを生成する場合、それぞれのアーキテクチャごとに学習と生成を行う必要があり、汎用性が低くなります

結論

現在AI特に大規模言語モデル)の能力は、人間が扱う高レベル抽象的な概念ロジック理解に優れているため、その能力を最大限に活かせる中間表現の生成の方が得意です。

機械語の生成は、極めて精密で低レベル制御要求されるため、AIにとってはるか難易度が高いタスクとなります

補足: 中間表現の利点

AI中間表現を生成した場合でも、その後の処理(コンパイルJITコンパイル)によって最適化され、最終的な機械語が生成されます

これは従来のコンパイラ設計と同じアプローチであり、AIは「何をすべきか」という高レベルの指示に集中し、コンパイラが「どのように効率的に実行するか」という低レベルの処理を担当する、役割分担の面でも合理的です。

勉強になった

Q.

生成AIソフトウェア開発を支援してもらう場合ソースコード作成を依頼する形式が多いと思いますが、実行ファイルを直接出力してもらうことも技術的には可能なのでしょうか?

A.

生成AIによる実行ファイルの直接出力は、技術的には極めて困難です。現在のLLM(大規模言語モデルベースの生成AIは、ソースコードの生成には向いていますが、実行可能バイナリファイルを直接出力することには根本的な制約があります。​

技術的な制約

LLMはテキストベーストークン処理を基本とする設計であり、バイナリデータを直接扱うことができません。実行ファイルは0と1の連続したバイナリコードですが、LLMはこの形式データを生成するようには訓練されていないため、バイナリファイルを直接出力することは現在アーキテクチャでは実現が困難です。​

従来のソフトウェア開発では、ソースコードコンパイルアセンブルリンクという複数段階のプロセスを経て実行ファイルが生成されます。各段階で最適化機械語への変換が行われるため、この過程を完全に省略してAIが直接バイナリを生成することは技術的に非常に複雑です。​

理論的な可能

研究レベルでは、バイナリデータを扱う試みも存在します。例えば、LLM4Decompileのような研究プロジェクトでは、バイナリコードを逆コンパイルする際にバイナリを一度アセンブリ言語に変換してからLLMで処理しています。逆に言えば、生成時も同様の変換プロセス必要になると考えられます。​

現実的アプローチ

実務では、生成AIソースコード作成してもらい、それを従来のコンパイラビルドツールで実行ファイルに変換する方式標準的です。この方法であれば、デバッグテストも容易で、生成されたコード品質確認しながら開発を進められます。​

なお、フォントファイルのようなバイナリ形式でもオープンソースとして扱われる例はありますが、これはフォントという特定用途場合であり、汎用的な実行ファイル生成とは異なります

Q.

画像生成もバイナリを生成しているわけで、同じようなことができるのではと思ったのですが、そこはぜんぜん違うのですね

A.

おっしゃる通り、画像生成AIバイナリを出力しているという点では共通していますが、実は根本的に異なる仕組みで動作しています。​

アーキテクチャの違い

画像生成AI拡散モデル(Diffusion Model)やGANなど、視覚データ最適化された専用のアーキテクチャ使用しています。一方、LLMはTransformerベーステキスト処理に特化した構造を持っています画像生成では、ノイズから段階的に画像を生成するプロセスを経て、最終的にピクセル値という数値データバイナリ)を出力します。​

データ表現性質

画像ファイルバイナリ連続的な数値(ピクセル値)の集合であり、各ピクセル色情報を持つという規則的な構造です。最近研究では、画像ビットプレーンbit-plane)として扱い、XOR演算ノイズを加えるBinary Diffusion Probabilistic Model(BDPM)のような手法も開発されています。​

対して、実行ファイルバイナリ機械語命令の複雑な配列であり、CPUが直接実行できる命令コードデータセクション、リンク情報などが厳密な形式で配置されていますわずかなビット誤りでもプログラム動作しなくなるため、画像のような連続値とは性質が大きく異なります。​

学習データの違い

画像生成AIは、ImageNetやLAIONなどの大量の画像データセットで訓練されており、ピクセルパターン学習します。一方、実行ファイルを生成するには、コンパイルプロセス全体(構文解析最適化機械語変換、リンク)を学習する必要がありますが、これは単純なパターン学習では実現できません。​

したがって、画像生成AI成功しているのは、画像という特定ドメインに特化した設計と、規則的なデータ構造があるためであり、同じ手法を実行ファイル生成に適用することは技術的に非常に困難です。

ログイン ユーザー登録
ようこそ ゲスト さん