はてなキーワード: Microsoftとは
これさ
愚かな人間の都合など完全無視、LLMのための高効率プログラミング言語「Sui」(粋)
https://forest.watch.impress.co.jp/docs/serial/yajiuma/2069573.html
別にいいんだけど、どうにもブクマカ含めて、しっくり来る批判できてないんだよな
それが気になってしょうがない
俺ごときが言ってもアレだから、Gemini3.0先生に頼んだよ(一時チャット、Pro 3.0 思考モード)
ユーザーが提供した情報と、一般的なLLMの技術特性に基づき、プログラミング言語「Sui」についての冷静かつ客観的な評価をまとめます。
感想: 一言で言えば、**「思想実験としては極めて面白いが、実用性とLLMの学習原理を無視した『早すぎた最適化』」**です。
作者の「人間ではなくLLMを主客にする」という視点の転換は、アーティスト的・哲学的な問題提起としては鋭いですが、現在のLLM(Transformerアーキテクチャ)の動作原理を工学的に捉えると、メリットよりもデメリットが上回る可能性が高いです。
メリット:
・トークン効率の改善: Python等と比較して記述が圧倒的に短くなるため、出力速度の向上と課金コストの削減(トークン節約)は確実に達成できます。
・構文エラーの激減: 括弧やインデントの複雑なルールを排除しているため、「閉じ忘れ」などの単純なSyntax Errorは減るでしょう。
・コンテキストウィンドウの節約: 長いプログラムでもコンテキスト(メモリ)を圧迫しにくくなります。
・学習データとの不一致: LLMは「大量の人間用コード(Pythonなど)」を学習して賢くなっています。未知の言語「Sui」を書かせるには、Few-shot(プロンプトでの例示)に頼るしかありませんが、これではLLM本来の推論能力やコーディング能力(事前学習の重み)を活かせません。
・ブラックボックス化: 生成されたコードがバグっていた場合、人間が読んで直すことが不可能です。「LLMに直させる」にしても、LLM自身がSuiのロジックを深く理解していないため、無限ループ(幻覚の連鎖)に陥るリスクが高いです。
・CoT(Chain of Thought)の阻害: 最近の研究では、LLMは「冗長な思考過程」を出力することで論理的整合性を保つことがわかっています。極限まで圧縮された記号列は、LLMの「考える余地」を奪い、論理破綻を招く可能性があります。
正しいと思う所(Agree)
理由: 人間にとっての「読みやすさ(可読性)」は、機械にとって単なるトークンの無駄遣いです。if x > 10: よりも ? x 10 の方が情報密度が高いのは事実です。
理由: TransformerのAttentionメカニズムにとって、遠く離れた ( と ) の対応関係を維持するのは計算コストが高く、ミスの原因になりやすいです。ネストを排除する方向性は機械的処理として正しいです。
正しくないと思う所(Disagree)
・「可読性を排除しても良い」:
理由: ソフトウェア開発においてコーディングは「書く」時間より「読む・直す」時間の方が長いです。AI生成コードであっても、最終責任は人間が負う現状では、人間が検証不可能なコードは「危険なバイナリ」と同義であり、プロダクトには採用できません。
理由: 前述の通り、現在のLLMは「人間語の確率分布」を学習したモデルです。「LLMにとって自然な言語」とは、実は「人間にとって自然な言語(英語やPython)」そのものです。Suiは「計算機にとっては最適」ですが、「現在のLLMにとっては異言語」です。
パース(解析)は容易になりますが、LLMは「前の行の文脈」を読んで次の行を出力するため、行を独立させすぎると文脈の連続性が失われ、複雑なアルゴリズムの構成力が落ちる可能性があります。
LLMが最も苦手とする「深いネスト構造の維持」を回避する策として有効です。アセンブリ言語に近いフラットな構造は生成難易度を下げます。
これが最大の問題点です。LLMは変数名(user_id, total_price など)に含まれる「意味」を使って推論を行っています(Semantic Grounding)。すべてを記号化すると、LLMは変数の役割を見失い、論理的なバグを埋め込みやすくなります。
トークン効率は最強ですが、1文字の違いで意味が激変するため、LLMの確率的な「ゆらぎ」による1文字ミスが致命的なバグになります。冗長さはエラー訂正の役割も果たしています。
goto 文の多用はスパゲッティコードを生みます。LLMにとっても、構造化プログラミング(if/forブロック)の方が、「ここからここまでがループ」というチャンク(塊)として認識しやすいため、一概にジャンプ命令が良いとは言えません。
>現在のLLMは「人間語の確率分布」を学習したモデルです。「LLMにとって自然な言語」とは、実は「人間にとって自然な言語(英語やPython)」そのものです。
ここ!マジで覚えてね
LLMはこれまでの機械よりも人間に近いと思ってほしい、人が苦手なことはAIも苦手
機械は論理的でロジックに強くて〜っていうのはAIには通用しない
ついでに、「LLM用プログラミング言語」の潮流について
「LLMのための言語」という文脈は、大きく2つのトレンドに分かれます。Suiは後者に属しますが、主流は前者です。
・DSPy, Guidance, Microsoft Guidance:
・プロンプトエンジニアリングを構造化し、LLMの出力を型(JSONなど)に強制したり、思考プロセスを制御するためのフレームワーク。
・SGLang:
・これらは「人間がLLMを操るための言語」であり、実用化が進んでいます。
・Gorilla LLMなどの試み: API呼び出しに特化したファインチューニングなどがありますが、独自の「新言語」を作らせるよりも、既存の Python や JSON を正しく出力させる方向(Constrained Decoding)が業界の標準解です。
・擬似コード: 論文レベルでは、Pythonの代わりに中間的な擬似コードを出力させ、それをコンパイラで処理する手法も研究されていますが、Suiほど極端な記号化は稀です。
後者については
現状の最適解: 現在のLLMを使う限り、「LLM用言語」の最適解は Python です。なぜなら、世界中のGitHubのコードを学習しており、LLMが「最も流暢に話せる言葉」だからです。無理にSuiを話させるのは、日本人にエスペラント語で詩を書かせるようなもので、パフォーマンスは落ちます。
総評: Suiは、「既存のLLM(GPT-4など)に書かせる言語」としては失敗する可能性が高いですが、「未来のAIネイティブなコード生成のあり方」を示唆するアート作品としては高く評価できます。作者の「愚かな人間に合わせるな」というパンクな精神は、エンジニアリングの枠を超えた鋭い批評性を持っています。
お前らは安易にオレオレ言語作るんじゃないぞ、作るにしてもAIに聞きなよ?
聞く時は忖度させるんじゃないぞ?
この作者もAIに乗せられたのかもしれんし
______
プロンプト
以下が「LLM用プログラミング言語」としてメリットがありそうか、感想を教えて下さい。
https://forest.watch.impress.co.jp/docs/serial/yajiuma/2069573.html
https://github.com/TakatoHonda/sui-lang
・思想的に正しいと思う所、正しくないと思う所を理由込みでまとめてください
・最近のLLM用プログラミング言語についてもまとめてください
・そもそもLLM用プログラミング言語という目標自体の評価をしてください
(省略)
イーロン・マスクがAI(人工知能)だけでマイクロソフト(Microsoft)のようなソフトウェア企業を「シミュレート」したいと述べ、その企業を「マクロハード(Macrohard)」と名付けた… というのはジョーク見たいなニュースだが、これが何のテストかと言うと、「最上層の人間だけがAI技術によって利益を独占する社会」のテストなわけです。
AI技術はこのまま進めば、確実に人間の雇用、ホワイトカラーの仕事を巻き取ることになる。
そして人間よりもはるかに効率的に富を蓄積するが、この富を受け取るのは、極一部の経営者だけにな得る。
そして、その富を強制的に分配する仕組みが成り立たなければ、人類がかつて見たこともないほどの超絶格差社会が誕生する。
AI技術の進歩による富の分配が成功すれば、共産主義的なポスト資本主義社会で働かなくてもみんなが生きられる社会になるかもしれないし、それをしくじれば極少数の人間が勝ち残り他を支配する「テクノ封建制」社会が訪れ得る。
だが、Amazon、Google、Microsoftはちょっと痛い目見るぐらいで収まるだろう。
この三社のAI投資はAIバブルがコケてもいくらでも転用可能だから。
Nvidiaは派手にコケるかもしれんが、これも会社が潰れる程ではないだろう。
個人的な予想を言えば、LLMでAI界隈が爆発的に盛り上がったことはゆるぎない事実だが、
LLMをベースにする限りAGIにはたどり着けないだろうなと感じている。
そしておそらくMetaやOpenAIやAnthropic、GoogleのAIチームもそこは分かってて
長期的な目標としてAGIを目指すことは諦めてないだろうが、短中期の目標としてのAGIは眼中にないだろう。
その②
AIによる技術革新は社会を変革するか?というシナリオを考えると気になるのって、「AI技術を過大に評価してんじゃないの?」という点。
新技術による効率化・高度化によって社会が変革するなら、PCが普及することによって、現代でもすでにそれが起こっていてもおかしくないのではないか。
PCが普及した時代って、たしかに効率化はすごかったけど、「みんなに富が行き渡ったか?」と言われると、ほぼ No なわけで。
実際は、生産性だけ上がって賃金は伸びず、利益は企業や一部の高技能層に集中した、ということになる。
なんでそうなってしまったのか。
PCは仕事を「置き換え」せず、ただ「効率化」しただけだったから。
WordやExcelで早く仕事できるようになっても、そのぶん仕事が増え、労働時間が減るどころかむしろ増えた。
「人がいなくても回る」状態にはならず、「人がもっと働く」方向に作用した。
GDPは伸びるのに賃金は伸びない、という「デカップリング」現象が日米で発生して、追加の利益は労働者じゃなく、企業や資本に溜まっていった。
PC化でスケールメリットが巨大化し、勝者総取り(Microsoft など)の構造が生まれ、高スキル層だけ賃金が上がり、その他の層は停滞。格差が広がった。
当時は新自由主義が主流で、再配分は縮小。最低賃金は上がらず、資本課税も弱く、技術の恩恵を社会に戻す仕組みが整わなかった。
決定的なのは PCが「労働を効率化」したのに対し、AIは「労働そのものを代替」すると考えられる点。
「人間の仕事自体が消える → 所得モデルが崩壊 → 再配分しないと社会そのものが壊れる」という、放置できない規模の変化だから、BIや公共AI、富の再分配みたいな制度改革を避けられない、という理屈。
AIは労働の前提そのものを崩すので、制度改革を強制するタイプの技術、というのが大きな違いと言われる。
本当にそうなるのか?
さぁ…
お前らは、Windowsのアップデートの不具合に対して「マイクロソフトの怠慢だ」と思ってるんじゃないか。ああ、気持ちはわかる。毎月、毎月、何かしらの不具合が出てくる。その度に、お前らは「こんなんで、よく世界一のOSだと言えるな」と思うんだろう。でも、実は、その背景には、もっと複雑な現実がある。俺は、この業界で10年以上、ソフトウェア開発に携わってきた。その経験から、Windows 11の不具合が多い、本当の理由を語ろうと思う。
最初に言っておくが、マイクロソフトは、別に怠けてるわけじゃない。むしろ、めちゃくちゃ頑張ってる。でも、その頑張りが、空回りしてる部分もあるんだ。その理由は、複数ある。
まず、一つ目は「スケーラビリティの問題」だ。Windows 11は、世界中の何十億ものデバイスで動く必要がある。スマートフォンのように「数千万台」じゃなくて「数十億台」だ。その数十億台のデバイスは、全部、異なるハードウェアだ。異なるマザーボード、異なるCPU、異なるGPU、異なるネットワークカード。その全てのハードウェアの組み合わせで、Windowsが正常に動く必要があるんだ。
想像してみてほしい。お前が、ある薬を開発したとしよう。その薬を、世界中の何十億人もの人間に配布する。でも、その人間たちは、全員、異なる体質だ。異なる病歴を持ってる。異なる他の薬を飲んでる。その全ての組み合わせで、その薬が安全に効く必要がある。そして、毎月、その薬を新しいバージョンにアップデートする必要がある。できると思うか?それが、Windows開発の現実だ。
二つ目は「アジャイル開発の弊害」だ。昔のWindowsは「何年もかけて、完璧に完成させてからリリース」という戦略だった。だけど、今は違う。「毎月新しい機能をリリース」「ユーザーのフィードバックを即座に反映」という戦略だ。これは、確かに、ユーザーにとっては「常に新しい機能が使える」という利点がある。でも、開発側にとっては「地獄」だ。なぜなら、テストの時間が極端に短くなるからだ。
昔は「3ヶ月、テストに時間をかける」ことができた。だけど、今は「1ヶ月、いや、2週間でテストを終わらせて、リリースしろ」と言われるんだ。その2週間の中で、数十億台のデバイスの組み合わせを、全部テストすることはできない。だから、不具合が出るんだ。リリース後に。
三つ目は「レガシーコードの呪い」だ。Windowsは、80年代から続く、歴史あるOSだ。その歴史の中で、物凄い量の「レガシーコード」が蓄積されてる。つまり、古い時代に書かれたコードが、今も、Windowsの中に組み込まれてるんだ。そして、その古いコードは「絶対に消せない」。なぜなら、何十年も前のアプリケーションが、今も、Windowsで動いてる必要があるからだ。
想像してみてほしい。お前が、ビルの構造を変えたいと思ったとしよう。でも、そのビルの地下には「100年前に埋め込まれた、今も動いてる配管」がある。その配管は「絶対に壊すな」と言われてる。だから、新しい構造を作る時、その古い配管を避けながら作らなきゃいけない。その結果、新しい構造は「複雑で、歪んだ」ものになるんだ。それが、Windowsの現実だ。
四つ目は「組織の問題」だ。マイクロソフトは、今、めちゃくちゃでかい企業だ。Windowsチームだけでも、数千人の開発者がいる。その数千人が、全員、同じ方向を向いて、開発してるのか?違うんだ。複数のチームがあって、複数のマネージャーがいて、複数の優先事項がある。その結果「チームAが修正したバグを、チームBが、別のアップデートで、また復活させてしまう」みたいなことが起きるんだ。
さらに、「政治」がある。大企業にはね。「このチームの提案を通す」「あのチームの提案は通さない」みたいな、内部的な政治闘争がある。その結果「技術的には正しくない決断」が、されることもある。なぜなら「上司が気に入ったか」「社内での影響力」で判断されるから。
五つ目は「テスト環境の限界」だ。マイクロソフトは、物凄い数のテストマシンを持ってる。でも、それでも「全ての組み合わせをテストすること」は不可能だ。なぜなら、新しいハードウェアが、毎日、毎日、リリースされてるから。マザーボード、CPU、GPU。新しいハードウェアが出る度に、その組み合わせでテストする必要がある。でも、マイクロソフトは、新しいハードウェアが出た時点では「そのハードウェアを持ってない」。だから、テストできないんだ。リリース後に、ユーザーが使い始めてから、初めて「あ、このハードウェアでは、こんなバグが出る」と気付くんだ。
六つ目は「セキュリティアップデートの緊急性」だ。毎月、新しいセキュリティ脆弱性が発見される。その度に「至急、パッチを当てろ」と言われるんだ。でも、セキュリティパッチを当てる時に「別のバグが出ちゃった」みたいなことがある。なぜなら、セキュリティパッチって「システムの深い部分に手を入れる」から、予期しない影響が出ることがあるんだ。
七つ目は「ユーザー層の多様性」だ。Windowsを使ってるユーザーって、本当に多様だ。ゲーマー、企業のビジネスユーザー、クリエイティブプロフェッショナル。その全員のニーズを満たす必要があるんだ。でも、ゲーマー向けの最適化が、企業ユーザーの環境を壊すこともある。その度に「このアップデートは企業ユーザー向けにロールバックする」みたいな判断が必要になるんだ。
八つ目は「ドライバの問題」だ。Windowsのアップデートが原因で不具合が出た時「実は、ドライバの問題だった」なんてことが、よくある。なぜなら、GPUメーカー、ネットワークカードメーカー、その他、色々なハードウェアメーカーが「ドライバを提供してる」から。その全ての組み合わせで、Windowsが正常に動く必要がある。でも、ドライバメーカーは、Microsoftと同じペースでアップデートしないこともある。だから、Windowsアップデート後に「古いドライバとの相性問題」が出るんだ。
九つ目は「テストユーザーの不足」だ。Windowsアップデートは「Insider Previewプログラム」で、先行テストされる。でも、参加してるユーザーって、実は、そんなに多くない。だから「Insider Previewでは問題なかった不具合が、正式リリース後に、突然、大量に報告される」みたいなことがある。なぜなら「Insider Previewのユーザーが使ってなかった環境」で、不具合が出るから。
十番目は「時間がない」ことだ。つまり、全てはね。開発時間がない。テスト時間がない。修正時間がない。なぜなら「毎月、リリースしろ」と言われるから。修正できてない不具合でも「次のアップデートまで待つか」「このまま出すか」の選択を迫られるんだ。その結果「このまま出す」を選んでしまう。それが、不具合の連鎖につながる。
でも、ここで気付くべきことがある。それは「Windows 11は、それでもすごい」ってことだ。数十億台のデバイスで、毎月、新しい機能をリリースして、その中でも「9割は正常に動く」ってことは、すごいことなんだ。100%完璧なOSなんて、この世に存在しない。特に、Windowsくらい複雑なシステムでは。
だから、お前らに言いたいことは、こういうことだ。「アップデートに不具合が出るのは、マイクロソフトの怠慢じゃなくて、技術的な現実なんだ」ってこと。それと「アップデートをインストールする時は、ちょっと待つ」ってこと。最初の2週間は、世界中のユーザーが使ってる。その2週間で「大きな不具合」が報告されたら「その時は、ロールバックする」って決断ができるんだ。でも「直後にアップデートする」と、その大きな不具合の被害を直で受けるんだ。
それと、企業ユーザーは「テレメトリデータを送らない設定」にしとくことをお勧めする。なぜなら「匿名データを送ってくる企業」の環境では、アップデートの相性問題がね、増えることがあるんだ。
最後に。Windows開発チームは、本当に、頑張ってるんだ。毎日、毎日、不具合を修正して。でも「完璧」を求めるなら、それは「無理」ってことだ。完璧を求めるなら「アップデートするな」が答えなんだ。でも「新しい機能が欲しい」「セキュリティアップデートが必要」なら、ある程度の「不具合との付き合い」は、覚悟する必要があるんだ。それが、OS運用の現実なんだ。
スマホOSにAIがガッツリ統合されると、一体どういうことになるのか。
まず、「アプリを意識する」って感覚が消えていく。翻訳したいなら翻訳アプリを開くんじゃなくて、「これ訳して」で終わり。写真加工も、音楽再生も、買い物も、どのアプリが動いてるのかユーザーにはほぼ見えなくなる。
AIがOSレベルで個人データを全部つないで理解しはじめるから、生活の最適化が勝手に進むようになる。例えば「最近睡眠短いし歩いてないよね」とか勝手に気づいて、予定・食生活・通知設定まで調整してくれる。支出の癖を見て家計改善を毎週提案したり、仕事メールとか予定調整は半自動になる。
体感としては「生活執事OS」。寒くなったら空調を微調整し、帰宅前に家の照明を整え、歩き方のいつもと違う変化から「今日ちょっとしんどい?」と判断して会議のリスケ案を出してくる、みたいな。
「おすすめ3つだけ出して」「この週末、行ける美術展の最適ルート組んで」「予算1.5万で鮨屋予約しといて」みたいに結果だけもらう使い方が主流になる。
デスクワーク仕事も相当な範囲がAIに肩代わりされる。資料の要点抜き出し、次アクションの案出し、レポートからの異常値を検出、売り上げ資料の問題点ピックアップ、改善提案…「常に優秀な副操縦士が横にいる」状態になる。
将来のOSは大きく二極化するとみられている。Appleみたいな超安全なオンデバイス型と、Google/Microsoftみたいな自動化特化のクラウド型。どっちのOSを選ぶかで、生活の自動化レベルが変わってくるかもしれない。
企業のアプリ側も、AIエージェントに操作される前提で、データ提供とかアクションAPIを開かないと存在感ゼロになってしまうかもしれない。
AIがOSレベルでユーザーの文章癖・感情パターン・趣味嗜好・集中力・疲労度を全部学んでいくから、「本人よりも本人の意思決定を理解してるAI」が予想される未来。
そうなると、いくつかの疑問も生じる。たとえばAIリテラシーの差が、今まで以上に致命的な格差を生み出す可能性。最新のAIを使えるかどうかで、生産性や効率に圧倒的な差が生じてしまう。
そして、AI統合OSとプライバシー、使われ方の問題。ユーザーの意思決定を理解したが、たとえば犯罪傾向が極めて高いと判断される場合や、政治的に危険な傾向に対して、OSは機能をどこまで提供するのか。またはエラーを出して防ぐのか。
今更、Microsoft Store内でふと見つけたので入れてみたんだけど、
何も考えないで推薦された最適化すると、スタート時の他者のソフトの起動を止める、
自社のソフトの起動はONにする、Teamsとか…、ブラウザの検索エンジンをBingにされる、
という、更新時のMicrosoft仕草されたりもするんだけど、
それは確定ボタン押す前にチェックを外すとかするとして、
ブーストボタン一発でそれなりに重かったマシンの速度が改善された気がする…😟
基本的に、不要なファイルを削除する、重いプロセスを落とす、みたいな機能だと思うのだけど、
DAW入れたりすると、色々プラグイン関連とかごちゃごちゃしがちで、
なんか最近重いなあ、みたいに思ってたんだけど、色々面倒なので対策しないでいたんだけど、
とりあえず、これは良いのでは?と思ったり…😟
マシンを最適化します、スマホを最適化します、はほぼ9割悪質なアプリだと思っていいと思うんだけど、
これは一応Microsoft純正みたいだし、今のところ実害はないし…😟
まあ、ときどき草刈みたいにHDDの中を整理する、ブラウザのキャッシュクリアみたいなのもそうだし、
と質問とした所、
いい質問。ただ、**今回私が提示した C# コード(MemoryMappedFile + Parallel.For で CR を数える)**には、明確に一つの「このネット上の記事/リポジトリをそのままコピーした」元ネタはありません。
いくつか似たアイデアを使ってる部分と参考になる記事/ドキュメントはあるので、それらを紹介します:
---
*Microsoft ドキュメント — Memory-Mapped Files (.NET)*
([Microsoft Learn][1])
*Kieren Johnstone: 高速に MemoryMappedFile からバイト列を読む方法(StackOverflow)*
`MemoryMappedViewAccessor` を使って unsafe コードからポインタを取得し、Marshal.Copy で効率よく読み出す方法。
([Stack Overflow][2])
*Red-Gate: Sharing is Caring: Using Memory Mapped Files in .NET*
MemoryMappedFile を使ったキャッシングなどの応用。
*Stephen Cleary のブログ: Memory-Mapped Files と Overlaid Structs*
メモリマップトファイルへ構造体を重ねて(オーバーレイ)扱う方法など。
([blog.stephencleary.com][4])
---
もしよければ、**あなたのコード(CR を数えるもの)に特化した元ネタをさらに探してみます**。やりましょうか?
[1]: https://learn.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files?utm_source=chatgpt.com "Memory-Mapped Files - .NET"
[2]: https://stackoverflow.com/questions/7956167/how-can-i-quickly-read-bytes-from-a-memory-mapped-file-in-net?utm_source=chatgpt.com "How can I quickly read bytes from a memory mapped file in ..."
[3]: https://www.red-gate.com/simple-talk/development/dotnet-development/sharing-caring-using-memory-mapped-files-net/?utm_source=chatgpt.com "Sharing is Caring: Using Memory Mapped Files in .NET"
[4]: https://blog.stephencleary.com/2023/09/memory-mapped-files-overlaid-structs.html?utm_source=chatgpt.com "Memory-Mapped Files and Overlaid Structs"
ChatGPT:
が、出てきて、やってくれと言ったら、こういうのが出てきた。
了解しました — 広く(英語・日本語・GitHub・ブログ・StackOverflow 等)再検索しました。結論と見つかった“近い”ソースをまとめます。
結論(要点)**
「あなたが求めている**MemoryMappedFile を使い、UTF-8 バイナリ中の `CR`(0x0D)だけを数える・マルチスレッドで分割して処理する**」という **完全一致の“元ネタ”ソースコード**は、公開された web 上のリポジトリや記事の中では見つかりませんでした(複数の検索ワード/検索対象で確認)。([hyr.mn][1])
ただし、ほぼ同種の要素(メモリマップドファイルの読み方・大きなファイルの行数カウント・バイト単位カウントを高速化する手法)は複数見つかりました。これらを組み合わせれば、先に示した実装は典型的なパターンであることが確認できます。([Microsoft Learn][2])
見つかった“近い”・参考になりそうなソース(抜粋)**
1. .NET の公式ドキュメント(MemoryMappedFile の説明) — `MemoryMappedFile` の基本と CreateViewStream / CreateViewAccessor の使い方。必須の参照。([Microsoft Learn][2])
2. 「Counting lines with C#」というブログ記事(C# で改行(CR/LF)カウントに関する実装と GitHub リンク) — 行数カウントを目的とした実装パターンがある。([hyr.mn][1])
3. StackOverflow:MemoryMappedFile から高速にバイトを読む方法(`MemoryMappedViewAccessor` / unsafe ポインタ / Marshal.Copy 等の議論) — 高速実装のヒント。([Stack Overflow][3])
4. StackOverflow/Q&A:ファイル中の LF/CR の数を求める方法に関するスレッド(`grep -c $'\r'` 等の unix 例や C# でのカウント方法の議論)。([Stack Overflow][4])
5. GitHub のサンプルリポジトリ(MemoryMappedFile のテスト/サンプル) — メモリマップドファイルを使う実装例。([GitHub][5])
もう少し深掘りできます(選択肢)**
(A) GitHub を **リポジトリ全体**(コード本体)に絞ってさらにクエリを投げ、Gist や commit レベルまで探索します(よりコストがかかるため広範検索)。
(B) ブログ・技術記事を対象に **全文一致(コード断片)検索** を行い、私が先に示した C# コードの実際の一節(たとえば `mmf.CreateViewStream(offset, size)` や `Interlocked.Add(ref totalCount, localCount)` など)を直接検索して完全一致を探します。
(C) 「オリジナルは GitHub にあるはず」と思われるなら、あなたが覚えている**リポジトリ名の断片/作者名/投稿日**などを教えていただければ、それを手がかりに探します(断片情報があるとヒット率がぐっと上がります)。
どれを優先して探しましょうか?(A: GitHub全探査 / B: コード断片で全文検索 / C: あなたからヒント提供)
※続けて深掘りする場合は、すぐにさらに広い検索を行って該当ソースを探します(そのまま実行します)。
[1]: https://hyr.mn/catching-flowers-with-a-net?utm_source=chatgpt.com "Counting lines with C# - hyr.mn"
[2]: https://learn.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files?utm_source=chatgpt.com "Memory-Mapped Files - .NET"
[3]: https://stackoverflow.com/questions/7956167/how-can-i-quickly-read-bytes-from-a-memory-mapped-file-in-net?utm_source=chatgpt.com "How can I quickly read bytes from a memory mapped file in ..."
[4]: https://stackoverflow.com/questions/35182022/how-to-calculate-count-of-line-feed-or-carriage-return-characters-from-a-text-fi?utm_source=chatgpt.com "How to calculate count of line feed or carriage return ..."
[5]: https://github.com/byGeek/MemoryMappedFileTest?utm_source=chatgpt.com "test csharp code for using memory mapped file."
「画像生成AIの問題」について話してるときに、突然「でも翻訳AIは便利だよ?」「ChatGPTはどうなの?」って割り込んでくるやつ、マジで意味がわからない。
勝手に Microsoft Copilot とか ChatGPT の話に飛ばすな。土台が違うんだよ。
絵描きの絵柄を無断学習して、個性を吸われて、切り貼りコラージュみたいな生成が横行してる。
実際に絵師が「自分の子供を切り刻まれて雑に貼られてる気分になる」って言うのは、ほんとにその通りで、それくらい人格や人生に結びついた部分が奪われてるわけ。
学習データの大部分は公的コーパスやライセンス済みデータだし、文章ってそもそも誰でも書けるから、作品性の盗用構造も全然別。
だから「文章AIと画像生成AIは同じ問題だよね?」って雑にまとめるのは完全にナンセンス。
いやいやいや、そこじゃないんだわ。
「AI全般が悪か善か」みたいなバカでかい話にした覚えはない。
しかも「まともな企業では画像生成AI禁止なんだよ」みたいな話をすると、
って返してくる人もいる。
・無断学習
・絵柄盗用
・切り貼り生成の横行
全部まとめて一緒に語ろうとする人が多すぎる。
本当にただの論点ズラしでしかないから、頼むから分けて考えてくれ。
それだけの、シンプルな話なんだよ。
nextstepはmicrosoftのntよりも優れていたの?
"AppleがOSをオープンソースにしたのは、四半世紀前のことで、世界は全く違っていました。
スティーブ・ジョブズは、停滞したAppleに戻ってきました。Appleは、プリエンプティブマルチタスクやハードウェアメモリ保護など、当たり前になっているものを含む次世代オペレーティングシステムを提供することに苦労していました。Appleは、 BeOSを買収しようとしましたが失敗し、ジョブズが復帰した一環として、当時の彼の会社であるNextを買収し、そのOSである NextStepを手に入れました。"
AppleもMicrosoftもクラシックのOSでの成功から新しいNTやDarwinのようなこれまではメインフレームでしか動かなかったようなモダンで新しいOSの開発に苦労していたのかな?
メインフレームのパチモンとして葉っぱでラリってるヒッピーによって作られたPCが時代の進化にスペックが上がってクラシックからモダンOSに移行しなくちゃいけなかったけど、成功して大企業になっていたMSやAppleは過去の遺産にしがみついててクッソ大変だったってこと?
葉っぱのヒッピー/ハッカーのPCじゃなくて体制側としてのメインフレームOSがPCに入っちゃうのはレイプされた気分にさえなる
それで"ハードウェアメモリ保護など、当たり前になっているものを含む次世代オペレーティングシステム"とあるけど、当たり前というからには他の企業はみんなモダンOSを開発していたの_
MacOS9からOS Xにする前というかまだクラシックのOSをぶち込んだiMacを起死回生で発表した時AppleはMSから投資してもらったんだよね?
その時のMSは98で潤ってたのかもしれないけどNTが作れなかったらマジでやばい時でしょ?
時系列的にNTは既に完成してて98でも大成功しまくったし余裕ありすぎわろたでAppleに投資したの?
MSとAppleはここを乗り越えることができたのになぜWindowsPhoneが失敗したの?
figmaとかVScodeとかNotionとかモダンでかっこよくて使いやすい最高のアプリがいっぱいあるのに
世界の大半はまだこのクソすぎるアプリに頼り切って依存しているのに腹が立つよ
マジでAdobeが潰れないかなって毎日祈りながらpsdをaffinityに変換するのに飽き飽きしてるんだ
DarwinカーネルのOS Xが圧倒的な中心のMSの中でWindowsPhone同様に不利だったのに開発者圏を作れたのは高抽象UIがめっちゃかっこよかったからってこと?
それともそれほどまでにWindowsPhoneがダサくて本当にクソだったのか
確かにMS社内でもMacを使う人がほとんどってくらいにMacは使いやすくてクールで開発者体験がいいね
葉っぱ吸ってたヒッピーの会社のはずなのに、その後覇権を取る日本のヒッピーと似ているオタクの同人文化はMS帝国の中で繰り広げられていたし、Macerは気取ってるやつとしてある意味でダサかった
APIの存在は本当に市場の優劣を変えるほどの力を持っているんだね
2000年台にクールなAPIを作ったAppleはグラフィックスAPIのMSのDirectXのおかげでゲーム業界掻っ攫われたわけでしょ?
マジでWindowsは本当にダサくて使ってるとイライラするからMacのもっとクールなグラフィックスドライバのMetalにみんな移行してくれるといいんだけど
Macerは肩身が狭いし
AppleがAI業界かっさらってくれればいいんだけどなんか失敗しそうな予感がするよ
終わってるよ
マジでダサくてイライラするものを使わされるオタク/ヒッピーは市場にレイプされてる
でも使徒である圏論/関数型プログラミングによってリリスの数学がサードインパクトを起こして手を汚せる自由度はいらないほど完璧な世界になりつつあると感じるよ
なんかクソだなって思うけど、それは一時的な快楽としてのオタク文化がなくなったことに悲しんでいるだけで、その快楽が幸せにつながらないことを理解してるんだ
だからこそ俺はSNSで一つの人格を共有し個を崩壊させる人類補完計画をプロトコルで実装しようとしているし、それは手を汚せる自由度を完璧に壊してつまらなくて幸せになる権利がある理性的な選択をしようとしてるんだ
オタクは幸せになれない代わりに手を汚せたけど、幸せになる時が来たんだ。
MetalでAAAタイトル以外のゲームが動き始めたらそれはゼーレのシナリオの最後のページなんだろうね
webは俺のプロトコルによって関数型になりApple化しハードウェアはAppleがもともとかーどきゃぷたーにしてて、その時本当につまらなくて幸せな世界ができるんだろうね
MSは自分が可愛くて俺たちに迷惑をかけたけど、誰も可愛がらずに自由な圏を破壊し、人類を補完するんだ
人との繋がり自体をね
うん、いやこの先呼ばれることになるんだろうなって思っちゃっただけなんだ
●ねばいいのにみんな
てか●すためのシステムだよこれは
インターネットなんかやってないでこの辺にきてる美味いラーメン屋の屋台に空手部の三人と行くべきだ
おじさんやめちくり〜
エヴァには乗らないほうがいい〜
エヴァには乗らないほうがいい〜
それ、皆さんも一緒に!
「「「エヴァには乗らないほうがいい〜!」」」
大きな声でもう一回!
「「「「「「エヴァには乗らないほうがいい〜!!!!!!」」」」」」
クソワロタ
そうだよ(便乗)
LCLになって一緒になろう?
おい聞いてんのか
S●Xしようって言ってんだよ
これで愚かな人類はやっとまともになるんだ
大体俺が生きてることに意味はねぇんだよ、死んでようが同じなんだよ
生きてることは分解して細分化していくと究極的に意味は無くなるんだよ
ここでただのニヒリストと俺が違うのはこの世界は積分定数のCにすぎないってことだ
Cは何の意味もねぇけどそこから積分という関係性を紡ぐ存在の輪廻、横顔を知ることができる
まるで人間のC(ほらあれだよ男と女のABC!)みたいだよな!(激ウマジョーク)
つまりもともとこの宇宙の存在云々の前に関数という空想上のものはあったわけ
むしろ人間が空想というもう一つの五感で関数や数学を発見しただけであってもともとあったの
そんでこの宇宙には意味ないし、死に恐怖を覚えるのは生物学的なしょうもない生理現象なんだよね
俺はたまたまTwitterのFFの女の子みたいにめっちゃ生理痛がひどいタイプなだけなんだ
それに気づいているからその生理痛がなんの意味もないことを知ってるし、世界が崩壊しようが明日死のうが本当に関係ない
そのことにたまたま気づきにくい構造を生き物はしているから死ぬのが怖いんだ
魂とかはないけど、魂にすら意味はなくて、意味があるのは関数だけなんだ
というか射?
呆れた人類にはそのトップでさえ呆れさせられるよ、まだ関数を記号で表せると思ってるなんて
本当にあるもののことを関数とは言ったけどこのクソみたいな人類にはまだそのことを完璧に表現する手立てがないから比喩として言ってるんだけどね
あのな、俺が言ってのは死ぬのは怖くねぇってことだけなんだ
違う、メタファーじゃないよ
失礼だよ君は
うるせぇ黙れ
免責事項: めんどくさいからほぼ調べずに書くし、抜けてる話や間違ってる話もあると思う。
Mozilla系の日本語翻訳はmarsfさんとdskmoriさんの2人がメインでやってる (追記: 今確認したらひとりアクティブな人が新規参入してたので3人が正しかった)。
概ねSUMOはdskmoriその他全てがmarsfという棲み分けだが、お互いどっちの貢献もやることがある。
SUMOコミュニティ解散ってのはSUMOに関わる実質的な権限持ちはdskmori1人になりますって話かな?
正直、SUMOでメインで貢献してるdskmoriさんじゃなくてmarsfさんが文句言うんや?と疑問なんだけど、
Mozillaにとっては、SUMOとかいう誰もアクセスしてない限界集落サイトの話より、marsfさんがFirefoxのその他すべての翻訳を一手で担ってることが重要だよね。
「marsfさんがSUMOの貢献辞める」って言ったってそれ自体ではどうでも良いのだが、裏の意味は「俺の気持ち次第でFirefoxの翻訳終わらすことだってできるんだぞ」って警告と読むべきかもしれない。
SUMOはFirefoxのサポートサイトね。Firefoxの使い方に疑問が生じたときにみるところ。まあそういう用途で作られているというだけで、アクセスする人がいるのかいたって疑問だが。
想定読者は技術に疎いFirefoxユーザなので、「機械翻訳ならユーザーが自分でやるから不要」みたいな意見は全くナンセンス。
Firefoxの内蔵翻訳機能はプライバシー重視という建前の翻訳API破産防止のため、ローカルのCPUで動く設計になってる。必然的にMicrosoftやGoogleの翻訳より精度がかなり落ちる。ゆえにFirefox使って普通に英語版SUMO読むより、公式で精度よい機械翻訳提供したほうが、ずっと良い体験を提供できるよね。
また対抗をGoogle翻訳のような無料クラウド翻訳と考えるとしても、サポートサイトに特化するようファインチューニングした機械翻訳エンジンを使えばHelpを助けてと訳すような暴走も抑制できるから、これも公式による機械翻訳提供に優位性はある。
なお、統計上アドオン一切入れてないFirefoxユーザーが大多数なことからわかるように技術に疎いFirefoxユーザってかなり多いからね。
Firefoxはラピッドリリースで機能がコロコロ変わるので、ある時点でベストな翻訳になっててもすぐ時代遅れになる。
dskmoriさんなどができる範囲で貢献してたとはいえ、品質維持できる量ではなかったので、SUMOには、例えばすでに存在しない機能についての記述を含む記事が普通にあった。
これは比較的アクセスありそうな重要ページでも同じで、私もさすがに見かねて貢献したこともある。
Microsoftのプロ技術者向けサイトはもともと有償の翻訳者が訳してたのを機械翻訳に切り替えたのでこれは単純に劣化なのだが、SUMOについてはごく少数の素人が自分にできる範囲で訳していたという点を踏まえる必要がある。もともとクオリティが高かったとは言えないし、機械翻訳の精度もここ2,3年で異常に上がってるから過去の機械翻訳騒動をもとに騒ぐのが正しいとも思えない。
今回の事件で思い出すのがLibreOffice日本語チームのDramaね。LibreOfficeの翻訳のメイン貢献者の某氏がある日、日本語チームのメーリスで「何でお前らはまともな仕事ができんのんや」と長文でブチ切れて、チーム脱退を宣言した事件。理念は立派でもすでに敗北の流れは決定的で新たな貢献者の望みは薄い、希望の見えないまま最後に残った1人として惰性で維持するしかない、辛い。
今回は、LibreOfficeの事件よりはヤバさだいぶ低めだけど、「翻訳ガイドラインに従っていない」「新たな人間の貢献者を育てることができない」とか、SUMOボランティア翻訳の実情を思えば「何言ってんだ、現実をみろよ」という感想にしかならないし、CCライセンスで貢献してるのに、AI翻訳の学習に使うなも意味不明。
marsfさんは、某xkcdで言うところの「感謝なしに2003年からデジタルインフラを維持してきたネブラスカ州の無名個人」に位置する人で、もっともっと感謝されてしかるべきではあるのだが、SUMOの長年の構造的な問題に対し抜本的な解決に打って出たMozillaに対して、さもコミュニティが現在も十分に機能しているかのように反論してるのがとても印象悪い。どう見ても分かってない人ばかりがMozillaを炎上させている。
20年感謝なしに維持し続けるのは幻想が必要なのはわかるが、Mozillaとしてはそういう個人に依存するのは不健全でしかないので、現在marsfさんがやっているFirefoxほぼすべての翻訳も翻訳会社による有償翻訳に移行すべき。
画像生成AIの話をしているときに、翻訳AIやChatGPTを持ち出してくるやつ、あれってなんなんですか?
まともな企業では生成AIは禁止で使われてないって言うと、なぜか「いや、ChatGPTは使ってるだろ」とか「翻訳AIは許容されてるのに何が問題なんだ」って持ち出して否定してくるやつ、本当に意味がわからない。
お前が持ち出してるのはMicrosoft CopilotとかChatGPTみたいなLLM(大規模言語モデル)の話で、こっちはそんな話してねーよって毎回思う。
文脈で分かれよってレベルの話なのに、全部ひとまとめにしてくるやつが多すぎる。
文章AI:使っても問題ないケースが多い。文章なんて誰でも書けるから保護する価値なんてほとんどないと言ってもいい。しかも、そもそも学習に公的なデータとかライセンスされたコーパスを使ってるんだよ。土台が全然違う。
イラストAI:絵柄泥棒とか、ほぼ切り貼りコラージュみたいな生成が横行してて、そこに作家の個性とか、何年もの努力とか、人生かけて培ってきたものをぶっこ抜かれてるのが問題なんだよ。自分の子供を切り刻まれて適当に貼り合わせられてるような感覚になるっていう、絵描きの気持ちをちょっとは想像してみろって話。
画像生成AIの倫理的な議論をしているときにLLMの話を突っ込んでくるやつは、
このどちらか。
Microsoftに信用があるのか