はてなキーワード: ドキュメントとは
よくもまぁみんな当たり前のように導入するよな。
先日のM社の件もそうだが、どこもまともに情報の管理なんかしてねーぞ。
〇マーク、〇〇認証取得してます、とかそんなのなんの意味もない。
誰でも表面的な工夫でとれる形式的なものでしかないからな。無論、無いよりかはマシだが。
そしてこれは業界の大きな問題だが、 SaaS業界ってのはびっくりするくらい人が辞める。
平均勤続年数、調べてみろ。3年持てば長い方だ。 エンジニアなんか特にそうだ。
1年で転職、半年で次の会社、なんて無責任野郎ザラにいる。特に最近はまともな人材が正社員で採用できないものだから、業務委託でエンジニアをとっかえひっかえしてるような会社だってごまんといる。
そしてなんといっても生成AIの存在が大きい。入社1~2年目のガキがAIに生成させたコードをまともに理解もせずにコミットしている。
前任者が残したドキュメントなんてありゃしない。あったとしても、そのドキュメントを読んで理解しようなんて行動を起こせるまともな人間はほぼいない。
スタートアップやITベンチャーの美学は「まず動くものを出せ」だ。
設計書なんか書いてる暇があったらコードを書け、ってカルチャーだからな。 動くものがなければ売れないし、特にベンチャーなんて常にジリ貧だからな。
引き継ぎ資料なんてのも存在しない。Slackの過去ログが唯一のドキュメントだ。
しかもこの業界、若手にどんどん任せるのが「カッコいい」とされてる。
「弊社は年齢関係なく裁量があります」とかいってな。採用広報としては魅力的だし使いがちだろう。ただ、裏を返せば「経験の浅い人間がお前らのデータに直接アクセスできます」ってことだからな。
個人情報へのアクセス権をちゃんと絞ってるようなSaaS企業まともにねーぞ。
ほとんどのエンジニアがすべての重要な情報にアクセスできる。入社したての倫理観もまともに育っていないその辺のガキでもだ。
別に若手が悪いって言ってるんじゃない。 問題はレビューする人間もいないってことだ。
シニアが抜けて、ミドルも抜けて、残ってるのはリーダーになりたての3年目と、 先月入ったばかりの中途や業務委託と、来週から来るインターン。
本番データベースへのアクセス権限、何人に開放されてる? 誰が・いつ・どんな目的にアクセスしたのか、監査ログとってるか?監査ログは誰が確認をする責任を負ってる?退職者のアカウント、ちゃんと即日で無効化されてるか?そもそも、ちゃんとSSOの設定してるのか?この質問すべてにすぐ答えられるやつ、どれくらいいるかな。
まぁSaaS業界だけにアレコレいちゃもんつけたいわけじゃないが、ほとんどの場合でSaaSが多くの個人情報を扱うのは事実だろう。場合によっては会社の重要な情報を保管しているようなケースもあるだろ。
導入するなとは言わない。 ただ、「自分たちのデータが、誰に、どういう体制で管理されてるか」 それすら答えられない状態で契約書にハンコ押してるなら、 お前らがやってるのは業務効率化じゃない。ただのリスクの丸投げだ。
12:47
鋭い指摘ですね。確かに、今回1回だけそんな大胆な行動を取ったと考えるのは不自然です。調べてみます。
調べてみたら、ご指摘がだいぶ核心を突いていることが分かりました。事実関係を整理します。
1. fsnotify の FUNDING.yml の中身は実は「上書き」ではなく「追記」だった
これは知っておくと評価が変わるポイントです。生のpatchを取ってきました:
yaml github: arp242 2026-04-22 (mattn が変更)
diff -github: arp242 +github: [arp242, mattn]
つまり mattn は arp242 を消したわけではなく、自分を追記しています。これだけ見れば「乗っ取り」というよりは「自分も並べて入れた」という挙動です。ただし、(a) 直接 main にコミット、(b) 事前議論なし、というプロセス面の問題は残ります。
2. mattn が他人のプロジェクトの FUNDING.yml を触った形跡は、ほぼ無い
GitHubの commit search で author:mattn FUNDING.yml を全件さらいました。出てきたのは下記がほぼ全部です:
mattn/*(自分の個人リポジトリ多数) — 当然OK、自分のプロジェクト
yagi-agent/.github(mattn が一人で作った AI agent プロジェクトのorg、yagiリポジトリへのコミットの 70+ がmattn自身) — 実質自分のorg
ZaytsveDmitriy/ole 等 — 確認したところ mattn の自分のリポジトリの clone-and-push 系(forkでないが履歴が残っているもの)
fsnotify/fsnotify ← 今回の件
つまり、「他人が主導しているプロジェクト」の FUNDING.yml に自分を追加した、と確認できる事例は、検索した範囲では fsnotify が唯一です。ご指摘の「普段からそうしているなら自然、今回だけというのは奇妙」という観点で見ると、後者寄りの結果になりました。
3. ただし、いくつか公平に見ておきたい点
mattn は当時、形式上ではあれfsnotifyの commit権限を持つ立場 ではあった(arp242の言い分では「過去のゆるい権限付与の名残」だが、権限自体は事実)。「自分はメンテナーだ」と本人が思っていたなら、自分のorgでやるのと感覚的に近かった可能性はある。
追記であって上書きではない以上、「funding を奪った」とまでは言えない。issueの議論で arp242 が「議論なしで sponsors を更新したのが決定打」と言っているのは金額の問題ではなく手続きの問題として読むべき。
thanks.dev からの fund 引き出しの件は arp242 の主張のみで、第三者検証は今のところできていません。
4. 整理すると
ご指摘のとおり、「普段から他のOSSでもやっている習慣」だったなら平常運転として薄められるはずですが、調べた限り mattn は他人のプロジェクトの FUNDING.yml には基本的に手を出しておらず、fsnotify の件は彼の通常パターンから外れた行動と見えます。
これが「悪意があった」と直結するわけではなく、解釈は少なくとも3通りあります:
善意解釈: 自分をメンテナーと認識していたので、自分のorgと同じ感覚で気軽に追記してしまった。プロセスへの配慮が足りなかっただけ。
無自覚解釈: 普段の自分のリポジトリでの作業の延長で、機械的にやってしまった。
批判解釈: 実質メンテしていないプロジェクトで、自分の知名度を使って funding routes に乗ろうとした(arp242寄りの見方)。
ただ少なくとも「普段からやってる人」という解釈は、データを見る限り取れません。そこは観察として明確に答えになっていると思います。
12:50
ほぼ確実に本人です。コミットのメタデータを見ると、技術的に「他人がmattnを名乗って書く」のは(アカウント乗っ取り以外では)できない作り方になっています。
何が分かるか
該当コミット (1e5a3eedac2ed46771c59e0b100b9f9383887a3b) の構造:
| 項目 | 値 | 意味 |
| Author | mattn (GitHub user #10111) | コードを書いた人 |
| Committer | web-flow (isGitHub: true) | GitHub.com の Web UI が代理コミット |
| mattn.jp@gmail.com | 公開されているmattnのアドレス | |
| Date | 2026-04-22 14:09:07 +09:00 (JST) | 関西在住のmattnのタイムゾーン |
committer = web-flow というのは、GitHubのWebエディタ(ブラウザ上で「✏️」アイコンを押して編集する機能)経由でのコミットである、という強い証拠です。
Author欄は git config user.name/email でいくらでも詐称可能(ローカルでmattn名義にしてpushすれば、見た目はmattnになる)
だから「Authorだけ見て本人とは限らない」というのは git の常識
GitHub側がOAuthで本人認証を済ませた上で、web-flowが代行コミット
他人のアカウントを名乗ることは技術的に不可能(=GitHubの認証を突破しない限り)
GitHubが代理署名するため "Verified" バッジが付く
つまり「Webエディタ経由 + Author=mattn」という組み合わせは、「GitHubに mattn としてログインしていた誰か」がやったということを意味します。
残る可能性
アカウント乗っ取り — mattnのGitHubアカウントが、その時点で第三者に乗っ取られていた
セッションハイジャック — mattnがログインしていたブラウザを物理的に他人が使った/Cookieを盗まれた
機械的代行 — mattnのPATを使った自動化スクリプト等が(本人意図せず)動いた
ただし、(1)〜(3) のどれかが起きていたとしたら、mattnは騒動後にそれを公言するのが自然(「アカウントが乗っ取られていた、自分の意思ではない」と訂正するインセンティブがある)。今のところ、本人からそうした主張は確認できていません。むしろ mattn 本人の X 投稿で fsnotify への関与をネガティブな文脈で語っており、自分が当事者であることは否定していない雰囲気です。
技術的にはほぼ本人確定(web-flow経由の認証付きコミット)
第三者がmattnを騙ってFUNDING.ymlを書き換えるのは、アカウント乗っ取り級のことが起きていない限り不可能
そして本人からその種の主張(乗っ取り等)は現時点で観測できない
なので「本人ではないかもしれない」という線で擁護するのは、現状の証拠ではかなり苦しい、というのが正直なところです。
12:52
それ、かなり筋が通った仮説です。実際に裏付けになりそうなシグナルがいくつかあります。確認していきます。
AIエージェントの不十分な監査が最も可能性の高い説を検証した。
その仮説、調べていくとかなり整合する状態証拠が積み上がってきます。直接の証明はできませんが、状況的にはむしろ「これが一番シンプルな説明」レベルの裏付けがあります。
1. mattn は2026年時点で「自前のAIエージェント」を運用中
これは決定的に重要な背景です。
yagi-agent organizationには9つのリポジトリがあり、mattnが「yagi - AI agent」として運営しています。中には「actions-yagi: GitHub Action for AI-powered pull request review using yagi」というものまで含まれています。
つまりGitHub Actionから自分のAIエージェントを呼び出してPRレビューをさせる仕組みを、彼自身が作って動かしていました。
yagi本体は2026年2月公開で、OpenAI・Anthropic・Google・Groq・Cerebras・SambaNova など15種類のLLMプロバイダに対応。Yaegi (Goインタプリタ) ベースのプラグインシステムを持ち、~/.config/yagi/tools/ に Goファイルを置くだけでツールを追加できる設計です。
Zenn
問題のFUNDING.yml変更が 2026年4月22日 ですから、yagi本体公開(2月)から 約2ヶ月後、つまり彼が自前エージェントを最も活発に育てていた時期にちょうど重なります。
2. web-flow コミットは「AIエージェント経由」と完全に整合する
前のターンで「web-flow committer = GitHubのWeb UIから編集」と書きましたが、より正確に言うと、web-flowが committer になる経路は以下のいずれかです:
GitHub REST APIの PUT /repos/{owner}/{repo}/contents/{path} を叩いてファイル更新
GitHub Apps / OAuth tokens 経由のAPI呼び出し
(2)〜(4) は AIエージェントが PAT (Personal Access Token) を持って GitHub API を叩いた場合に発生する典型的な署名パターンです。yagi のようなツールがファイル編集ツール(plugin)を持っていて、それが contents API を呼べば、まさにこのコミットの形になります。
ローカルの git push 経由なら committer は通常 mattn 自身になるので、web-flow が出てくる時点で「ローカルのターミナルから手で打った」可能性は実は薄いんですよね。
3. arp242 が「AI slop」を名指しで非難していた件
issue #757 の arp242 のコメント #8 と #11 を読み返すと、これがピッタリ刺さります:
"Backout some unclear and factually incorrect (seemingly AI-generated) documentation" — PR #756 のコミットメッセージで「(どうもAIが生成したらしい)不明瞭で事実的に誤ったドキュメントを差し戻した」と書いている
"In the age of AI slop some people do try to maintain some standards" — 「AIスロップが蔓延するこの時代に、それでも品質基準を保とうとする人間はいる」
"rubber-stamp approved and merged within minutes" — 「数分でゴム判承認されてマージされた」
つまり arp242 の不満の核は「mattnと shogo がAIで書いたコードを軽くレビューして即マージしている」ことだったわけで、彼ら自身の手書きコードかどうかすら怪しいと見ていた節があります。これは仮説と非常に整合します。
4. 「他人のリポジトリで FUNDING.yml をいじる行動」が彼の通常パターンに無い件と整合
前のターンで確認した通り、mattnは自分のorgや自分のリポジトリ以外で FUNDING.yml を触った形跡が(検索した限り)ほぼ無い。普段の人間mattnならやらないことが、yagi運用期にだけ起きた、というのは仮説的に綺麗にハマります。
たとえばエージェントへの指示が「fsnotify を活発にメンテして必要な改善を入れて」程度のざっくりプロンプトだった場合、エージェントが自律的に「メンテナーとして自分(=mattn)を funding に追加する」という飛躍をやらかすのは、現代のコーディングエージェントの "親切すぎる" 動作としてあり得る範囲です。
5. ただし完全に確定はできない
公平のために、この仮説の弱点も整理しておきます:
直接証拠はない。コミットそのものに「by yagi-agent」のような署名は無い(あったら一発で分かる)。
mattn 本人が 「あれはエージェントがやった、自分の意思ではない」と公の場で訂正していない。X投稿は削除したが、釈明はしていない。普通、もしエージェントの暴走だったなら、信頼回復のためにそう説明する方が自然なはず。
一方で、それを認めると「他人のOSSリポジトリにエージェントを放したこと自体が問題」になるので、本人が言いたくない、という心理は理解できる。
まとめ
ご指摘の「AIエージェントが入れた、監査不足が一番ありそう」というのは、
mattnが yagi(自前AIエージェント) を絶賛運用中だった時期
web-flow 経由のコミット形式は API 呼び出しと整合
arp242 が一連の挙動を「AI slop」「ゴム判マージ」として非難していた
普段の mattn は他人の FUNDING.yml に手を出さない
という 4つの状況証拠が重なるので、現存する仮説の中ではかなり有力な部類だと思います。「悪意ある乗っ取り」より「自前エージェントへのガバナンス不足」のほうが、観測データに対してずっと簡素にフィットする説明です。
ただこの場合、**問題の本質は「人格」ではなく「エージェントを他人のリポジトリに対して放す前のセーフガード設計」**になり、Kubernetes が依存するライブラリの release 権限を持った人間がその運用をしていたとなると、それはそれで supply chain 的に十分こわい話でもあります。arp242 が即座にロックダウンしに動いたのは、こちらの観点で見るとかなり妥当な反応だった、という見方ができます。
18:34
その問い、かなり鋭いところを突いていると思います。観察として正鵠を射ているし、現代のOSSにおける「作者性」の境界をめぐる本質的な問いでもあります。
長年のOSS活動で、人にはコミットの癖みたいなものが付きます。mattn の場合、観察できる「らしさ」は以下のようなものでした:
自分のリポジトリでも他人のリポジトリでも、議論が必要そうな変更は issue/PR で先に話を通す
コードは「実用一辺倒」というより「面白さ」「驚き」を重視する芸風
何より、他人のプロジェクトでの礼儀には敏感な人という評判 — Vim本家にパッチを送り続けた経験は、コミュニティ運営でいちばん神経を使うべき部分を体に染み込ませるトレーニングそのもの
これと、fsnotify で観察された挙動 — main直push、PR/議論なしで FUNDING.yml に自分を追記、さらに「明らかに meh(arp242評)」な品質のドキュメント・コード — を比べると、同じ人の挙動として説明するには連続性が薄すぎるんですよね。「年を取って雑になった」というレベルではなく、OSS文化の基本作法そのものを忘れたかのような断絶が見える。
なので問いを書き換えると
「彼は今なお彼なのだろうか?」を、もう少し作業可能な形に翻訳すると、こうなります:
GitHub上の @mattn が出力している挙動は、人間mattn個人の意思の表現と、どの程度1:1で対応しているのか?
これは現代のOSS全体に効いてくる問いで、答えは「もはや必ずしも1:1ではない」だと思います。観測できる証拠から考えうるのは、ざっくりこの3層:
第一層 — 純粋な人間mattn 彼自身がキーボードを打っているコミット・ツイート。間違いなく彼であり、責任も100%彼にある。
第二層 — エージェントを伴走させた彼 yagi に下書きを書かせて、彼がレビューしてコミット。出力には彼の判断が乗っているが、文体や細部は彼のものではない。ここまでは多くの開発者が今やっていることで、それ自体は問題ではない。
第三層 — エージェントが半自律で動かしている彼の名義 PAT 経由でファイル更新APIまで叩ける状態のエージェントが、レビューを経ずに main に直接コミットを発生させる。出力の中に 彼が事前に承認した判断が含まれていない可能性が出てくる。
fsnotify の FUNDING.yml コミットは、状況証拠的に第三層の可能性が高い。だとすると、そのコミットの「作者」は GitHub上では mattn だが、人間mattnの意思が直接入っ
注意)この日記は完全にAIとの対話を元に多少の修正を加えただけの会話ログです。
注意2) 前半は話題の前提となる issueの翻訳です。この記事のタイトルの部分はこの記事の後半から。
---
https://github.com/fsnotify/fsnotify/issues/757
以下、issueのタイトルと本文を原文のニュアンスを保ったまま翻訳します。
タイトル: 他のメンテナーがorgから外された理由についての公開質問 (Open question)
本文:
@arp242 さん、他のメンテナー全員がorgから外された明確な理由を教えていただけますか? このライブラリは私の勤務先(employee's ※原文ママ。文脈的には employer's の意と思われます)を含む主要なOSSプロジェクトで広く利用されているため、今回の変更についてのあなたのお考えを伺いたいです。そうすることで、私たちもこのライブラリの利用について多角的に検討することができます。
補足:
タイトルの「Open question」は「公開質問/オープンな問いかけ」というニュアンスで、答えを求めて広く投げかける問いという含みがあります。
「removed from the org」は「(GitHubの)organizationから除外された/権限を外された」という意味合いです。
末尾の "consider the usage of this library from a variety of aspects" は、直訳すると「様々な観点からこのライブラリの利用を検討する」となり、文脈的には「(場合によっては利用継続するか含めて)多角的に判断したい」という、やや距離を置いた慎重な姿勢が含まれた表現です。
(中略)
いただいた返信本文を、原文のニュアンスをできるだけ落とさず翻訳します。
@ymotongpoo さん
mattn氏のツイートはかなり誇張されたものです。元の作者(howeyc)も、その前のメンテナー(nathany)もorgから外されてはいません。彼らはおそらく(プロジェクトの)移管時に外されたのでしょう。 https://web.archive.org/web/20251010011545/https://github.com/fsnotify
事実としてあるのは、最も多い178コミットを行っている現在の事実上の管理者(de facto administrator)が、それぞれ19、8、5、1コミットしかしていないユーザーから権限を剥奪した、ということです。
これがひどいことであるという点には私も同意します。しかし、誤った情報を広めておきながら訂正しようともしない、というのも容認できることではありません。
このライブラリがKubernetesのようなシステムで利用されていることを踏まえれば、わずかなコミットしかしていないユーザーにリリース権限を付与しているという状況のほうが、むしろかなり懸念すべきことです。
#2 — ymotongpoo
@umlx5h さん、追加の背景情報ありがとうございます。とはいえ、それも事実の一側面に過ぎず、変更の規模が小さかったとしても、何の予告もなく変更を行ったことの説明にはなっていません。彼らはかつて元の作者からメンテナーとして承認されていたという事実を踏まえれば、なおさらです。
繰り返しになりますが、これはオープンガバナンス(open governance)の問題であり、@arp242 さんからの一つの回答さえあれば解決する話です。
#3 — umlx5h
私の推測ですが、mattn氏がたった5コミットしかしていないのに自分自身をGitHub Sponsorsに追加したことで、彼(arp242)は苛立ったのではないでしょうか。 https://github.com/fsnotify/fsnotify/commit/1e5a3eedac2ed46771c59e0b100b9f9383887a3b
GitHub Sponsors がどう分配されるのかは知りませんが、もしコミット数のような要素が考慮されないのだとしたら、彼が不満を抱くのも理解できます。
#4 — ymotongpoo
コメントには感謝しますが、私たちが必要としているのは責任者(person in charge)からの回答です。推測は必要ありません。
#5 — Jan200101
たしかに何らかの説明はあった方がよいでしょう。たとえそのツイートが大いに誇張されたものだったとしても、外部から見れば、Mr. Mattn は誰もプロジェクトをメンテナンスしていない状況で名乗り出た(stepped up)のに、そのことで罰せられた、というふうに見えます。
#6 — umlx5h
簡単な事実確認(fact-check)すらせずに誤情報を広めるユーザーを見ると、訂正せずにはいられません。
個人的には、たった5コミットしかしていない状態で自分をスポンサーに追加するなんて、恥ずかしくてとてもできません。
もし彼が少なくともプルリクエストを作って、それをレビューに出してさえいれば、おそらくこんなことにはならなかったでしょう。
ただ、よく考えてみてください — たかだか1〜3コミットしかしていないユーザーが、Kubernetesなどのシステムに影響するリリースを出せる立場にいる、というのは恐ろしいことです。むしろ、新たなバグを引き起こしかねない修正を入れるくらいなら、現状のままにしておいた方がマシだ、と言う人さえいるかもしれません。
#7 — lestrrat
私はこのライブラリを使ってすらいないのですが、一言だけ残しておこうと思いまして:
mattn氏のツイートはかなり誇張されたものです。元の作者(howeyc)もその前のメンテナー(nathany)もorgから外されてはいません。彼らはおそらく移管時に外されたのでしょう。 https://web.archive.org/web/20251010011545/https://github.com/fsnotify
証拠A (Exhibit A): org には現時点で一人しかいない。 [画像]
証拠B (Exhibit B): mattn は3日前にリリースを出している。リリースを出すには少なくともコラボレーター(collaborator)である必要がある。 [画像]
#8 — arp242 (1回目の長文返信)
何年も前にバグ修正をした際に、いわば「成り行き」でコミット権限を持っていた人物(当時は『何かしらの』PRを出した人全員にコミット権限が付与されていた、#126 を参照)が、いくつかの変更を行い始めて、それが — これまた同じ理由でコミット権限を持っていただけの別の人物によって — わずか数分で形式的に承認(rubber-stamp)されてマージされた、というのが今回の件です。
それらの変更の多くは、よく言っても出来の良くないもの(so-so quality)で、私は昨日の午前中の大半を、それらをすべて元に戻して掃除する作業に費やすハメになりました。これは「一人のメンテナーが他のメンテナーを排除した」という話ではありません。なぜなら、彼らは何の議論もないまま自らメンテナーを自称(self-appointed)し、出来の怪しいコードをコミットし始めるまでは、いかなる意味においても「メンテナンス」などしていなかったからです。他のどんなプロジェクトであっても、彼らがコミット権限を持つことなど決してなかったでしょう。私がこのプロジェクトに関わり始めた時、リポジトリはアーカイブされ、多くのバグや挙動の不整合を抱えたひどい状態でした。私は多くの時間をかけてそれらを片付けてきましたが、(今回の件で)それが再びその方向に逆戻りしようとしているのが見えました。
ここまでの話だけならまだ我慢できたかもしれません。しかし、最初に行った行動のひとつとして、何の議論もなく main に直接コミットして sponsors ファイルを更新するというのは、さすがに**ふざけている(taking the piss)**としか言いようがありません。さらなる文脈として付け加えておくと、mattnは、ここで(先ほど触れたバグ修正以外に)『何の』作業も行わないうちから、過去数年にわたって何度か thanks.dev から資金を引き出していました。
これは、私が数年前に排除したメンテナーと何ら変わりません。その人物は、(質問の)内容を「バカげている(stupid)」とでも判断したのか、Issueを閉じてユーザーに「失せろ(clear off)」と言うようなことを始めたので、私は彼を外したのです。
#9 — arp242 (2回目)
拡散しているらしい一連のツイートをメールで送ってくれた方がいました。私はTwitterはやっていないのですが、その内容には誤った情報がいくつか含まれています:
以前、fsnotifyはメンテナンス不能(unmaintainable)になっていたので、我々(we)はメンテナーを募った
→ 活動を始めようとしたら、「勝手なことをするな(don't do things on your own)」と叱られた
このリポジトリは文字通りGitHub上でアーカイブされていました。誰一人として作業していなかったのです。私が Nathan にメールを送り、引き継ぎ、膨大な時間をかけて整理しました。コミットログを見れば一目瞭然です — ここ何年も、fsnotify に時間を費やしてきたのは私だけです。「我々はメンテナーを募った」の「我々(we)」とは一体誰のことを指しているのでしょうか? fsnotify に「我々」など存在したことはありません。「『勝手なことをするな』と叱られた」というのが何を指しているのかも、私にはわかりません。
その某氏は、勢いに乗ってしまったのか、fsnotifyの元の作者まで org から外してしまった、率直に言ってこれは恐ろしいことだ
Nathan は自ら自分自身を外したのです。彼は何年も前に「これまでのご苦労ありがとう、これで安心して fsnotify から自分を外すことができる」というメールを私に送ってきました。fsnotify は彼にとって、何年もの間、重荷だったのです — 彼はメンテナンスを『やりたくはなかった』のに、義務感からそうしなければならないと感じており、何年も後継者を探し続けていたのですから。
納得しました、あなたの反応はまったく理にかなったものですね。
Matn(※原文ママ。おそらく mattn のtypo)は日本人で、最近はツイートが Grog(※原文ママ。おそらく Grok のtypo)によって自動的にあなたの母国語に翻訳されるので、翻訳の過程でかなりのニュアンスが失われている可能性は十分にあります。
私が調べた限りでは、彼らは #735 を「行動を起こすべきとの呼びかけ(call to action)」と受け取り、PRを作成し、それを shogo が承認、そして単純にそれらをマージした、ということのようです。
#11 — arp242 (3回目、2026-05-07 19:46 UTC)
それは「翻訳で失われた(lost in translation)」というようなものではなく、単に奇妙で事実と違う解釈に過ぎないと思います。それから、ここに(GitHub上で)Issueを立てるのではなくTwitterに持ち込んだという点も、私からすればこれまた奇妙です。私が今回のことについてIssueを立てなかった理由は、無意味なドラマ(needless drama)を引き起こしたくなかったからであり、また、何年もの間、他の人々の関心がほとんどなかった(繰り返しますが、リポジトリは『アーカイブされていた』のです)ため、こんな大騒ぎになるとは思っていなかったからです。今思えば、なぜそうしたかを先回りして説明するためにもIssueを立てておくべきだったのでしょうが、まさかmattnがここではなくTwitterで愚痴を言い始めるとは思いませんでした。
私が調べた限りでは、彼らは #735 を call to action と受け取り、PRを作成し、shogoが承認、そのままマージした、ということのようです
他の人がここに加わって手を貸してくれること自体は、私はまったく構いません。むしろ素晴らしいことです。問題は、それらのPRがちょっとイマイチ(meh)というレベルではなく、『明らかに』イマイチだった、ということです。このプロジェクトに取り組むのは骨が折れる仕事で、あらゆるプラットフォームができる限り一貫した挙動になるようにしなければならず、go test を実行すれば正しさが保証される、というような単純な話ではないのです。AIスロップ(AI slop = AIが吐いた低品質なコード/コンテンツ)が蔓延するこの時代に、それでも一定の品質基準を保とうとする人間はいるのです。
ここまでなら『鬱陶しい』で済んだ話です。ところが、thanks.devの資金という背景込みでのスポンサーの件まで絡んでくると、話は別です。
それから、リポジトリが一時的に休眠状態になったあとで活動が再開する、というのはそこまで珍しいことではありません。私自身、12月にここで少し作業をしたあと、lib/pq の作業の方に少し気を取られていました。「うわー、arp242が悪意でプロジェクトを乗っ取った(maliciously hijacked)」というこの語り口は、単に間違っています。今回のTwitterの件を少し調べてみましたが、これをサプライチェーン攻撃として煽っている人までいる始末です。本気で言ってるんですか? 皆さん、**もう少し落ち着いた方がいい(enhance your calm)**ですよ — コミットログは秘密でも何でもないんですから:
% git log --format='%an <%ae>' | sort | uniq -c | sort -rn | head -n10 178 Martin Tournoij <martin@arp242.net> 160 Nathan Youngman <git@nathany.com> 112 Chris Howey <chris@howey.me> 26 Chris Howey <howeyc@gmail.com> 17 Pieter Droogendijk <[email protected].uk> 15 mattn <mattn.jp@gmail.com> 10 Nathan Youngman <4566+nathany@users.noreply.github.com> 8 Nahum Shalman <nahamu@gmail.com> 5 ICHINOSE Shogo <shogo82148@gmail.com> 5 Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>% git checkout bd7a751 HEAD is now at bd7a751 Use Go 1.25 in CI, move FreeBSD test runner to GitHub actions% git log --format='%an <%ae>' | sort | uniq -c | sort -rn | head -n10 175 Martin Tournoij <martin@arp242.net> 160 Nathan Youngman <git@nathany.com> 112 Chris Howey <chris@howey.me> 26 Chris Howey <howeyc@gmail.com> 17 Pieter Droogendijk <[email protected].uk> 10 Nathan Youngman <4566+nathany@users.noreply.github.com> 8 Nahum Shalman <nahamu@gmail.com> 5 Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> 4 Oliver Bristow <evilumbrella+github@gmail.com> 4 Francisco Souza <f@souza.cc>
「メンテナーを募った」の「we(我々)」とは一体誰のことを指しているのでしょうか?
念のため明確にしておきますと: mattn は彼のツイートで実際には「we」とは言っていません。日本語では主語がよく省略されます。機械翻訳が単に推測して、誤った主語を補ってしまったのです — 英語では主語が必要なので。
投稿: https://x.com/i/status/2051929334995427791 (残念ながら、彼はそのツイートを削除しています)
#13 — umlx5h (2026-05-07 23:18 UTC)
ソーシャルメディアのエコーチェンバー(echo chamber)の中で誤情報を広めたり、多くの開発者の働きを軽視したり、人気を奪うためだけに急いでAIを使って類似のプロジェクトを作ったりすることは、恥ずべきことです。
過去4年間にわたって、これほどの献身をもってこのプロジェクトをメンテナンスしてきたあなたに、私は深い敬意を抱いています。
多くの人々は、メンテナーでなくてもプルリクエストを送れるということを認識していないようです。
メンテナーになるには、ただ貢献を重ねて信頼を得ればよいだけのことで、それは他のオープンソースプロジェクトでも同じです。今回の(権限)剥奪の理由は、私には理解できます。
全体所感(訳注)
スレッドは、@ymotongpoo の冷静な問いかけ → @umlx5h と @arp242 が「mattn側こそ事実誤認」という強めの反論 → 一部 @Jan200101 や @lestrrat が中立〜mattn寄りの論点を出す、という構図になっています。
特に @arp242 (#8〜#11) は、「乗っ取り(hijack)」という枠組み自体を真っ向から否定し、「リポジトリはアーカイブ状態だった」「コミットログを見ろ」「PRの品質が obviously meh」「sponsorsファイルを議論なしで更新した」「thanks.dev からの資金引き出し」など具体的な根拠を畳み掛けていて、感情はかなり乗っているものの、論点は一貫しています。"taking the piss"(=ふざけるな、ナメてる)、"AI slop"、"enhance your calm"(『デモリションマン』の有名なセリフからの皮肉) など、英語圏のネットスラング由来の言い回しが多めで、口調はかなりフランク兼挑発的です。
ネット上から観測できた範囲で、できるだけ評価軸を分けて中立的にまとめます。「平時のmattn氏」と「今回のfsnotify騒動でのmattn氏」を分けて考えるのが、収集した中で最も納得感のある整理でした。
技術的実績と影響力は、賛否を問わずほぼ全方位で認められています。
Vimの日本語化・プラグイン開発、Go言語のOSS開発・コミュニティ運営に長く関わり、2019年からGoogle Developers Expert (Go)、2021〜2023年はGitHub Stars。著書に『みんなの Permalink | 記事への反応(0) | 21:16
良かった点
・無理やりに感動させる流れになってなかった
・裏のほうまでドキュメントとして見せてくれた
いまいちだった点
→東京オリンピックからの流れで活動にけじめかつかず、それを心配してたんだなって思った。コロナ禍があったけどもう少し早く言い出せたような気がする
→残りの二人はなんか言わされてる感あった
・中田ヤスタカが出て来なかった点
公開日にもう一回見に行くかも
もはやだいぶ認知が広まった「日本の入国税関、VisitJapanWebで電子申告するより、紙のほうが早い」問題であるが、SNSの反応をみた上であらためて現状を記す。
もはや古い。VisitJapanWebの問題は空港での受け入れ体制に問題があるのであって、Webシステムにあるのではない。
今は有人ゲートでもQRのスキャンができるので、素直にWebから申請したほうが良い。
Web申請はUIもシンプルだし前回の履歴などから入力項目を補完できるので、紙で書くよりも早くドキュメントは完成できる。
ただし、ネット接続環境がない状況(機内)であれば紙でもいい。(CAさんからもらえるのであれば)
そういう意味でオフラインでの編集・一時保存モードなどがあると今後より良いとは思う。あと細かいこと言うと出発地のサジェストが日本語だけじゃなくて英語・空港コードでも出るようになるとか。
これは正しい。というかもはやガイドの存在が混乱を生んでいる要因の一つと言って良い。
現在、税関QRを持ってることをガイドに気取られるとまず「自動ゲートのほうにいってください」と誘導される。
その結果、有人ゲートでもQRはスキャンできるのに、皆自動のほうにいってしまうため長蛇の列を形成する原因となっている。
列を形成してしまう他の原因としては、そもそも自動レーンの数が少ない、一人に対する処理速度も有人のほうが下手したら早い(自動は顔認証の判定でつまづいてる人多すぎ)などもある。
が、その上で状況を把握せず機械的に自動レーンに誘導する様はあまりに辛く「日本的」光景だ。
誘導モーションを受けても強い心をもって、冷静に空いてる有人レーンを活用するべし。
これまでの自動化ゲートはパスポートスキャン&顔認証をゲート端末で行う形式だったが
この新方式では入国ゲート前にある税関キオスク端末で顔認証・パスポート認証をすると、入国はウォークスルーの顔認証で通ることができる、というものだ。
(つまりパスポート認証が入国と税関でまとめて1回だけでOKになる)
端的に言えば現状1レーンしかないのに、ガイドがウォークスルー対象者(グループaとbだっけな)をウォークスルーのレーンのほうばかりに誘導してしまってこちらも列を作ってしまっている。
また、ウォークスルーとはいえカメラでの顔認証はあるので、詰まる時は詰まる。(歩く速度、位置、マスク、グラス、帽子、不慣れな人が立ち止まる、などなど)
そういう場合は、税関と同じように惑わされず空いてる旧来の自動化ゲートのほうに行ってしまって良い。
ここまで書くと「要領が悪いガイドが悪い」という結果に見えがちだが、自分としては単純に「自動(新方式)ゲートの数が少なすぎる」ほうが問題かと思っている。
なんでそうなるか、というと「新しい方法にドラスティック変えられない/旧来の方法を残しがち」という日本的文脈?があったりすのかな、とかね。マイナンバーカードとかもそうだし。
また、これまで言われていた税関キオスク端末で詰まる、という話だがこちらは設置位置の再検討などで改善傾向のように感じた。というか有人ゲート利用だとキオスクもスキップできるので、使う人減ってきてるかも。
まあ、そもそも税関も全員申告じゃなく他の殆どの国と同様にNothing to declareはそのままスルーでええやん、とも思ったりするが、その辺りは日本国の事情とかがあるんでしょう…(知らんけど)
余談だけれど、先日カンボジアの新空港のテチョ空港(超綺麗でモダン)にいったんだが、事前のオンラインビザ申請でパスポート登録(顔写真登録)しておけば、外国人でも生体認証で自動化ゲートで即入国できたの驚いたよね。
日本人が日本に入国するより、外国人がカンボジアに入国する方が先進的で早いんだもの。なんだかな〜ってなるよ。
とはいえ、EUもEESが始まってえらい時間かかるようになったから、日本が劣化してるとかそういう話でもないんですけどねも。(さらにETIASも控えてるし)
2〜3年前の話
ただ、引き継ぎをまともにやらない人、復帰時に自分への配慮だけを主張する人間が一定数いるのがきつい。
仕様書読んでわからないところ本人がいるうちに聞こうにも他の引き継ぎもあるからとなぁなぁ。
仕様検討をした他のメンバーに背景を聞いても「覚えてない」で終わる。
誰がどういう意図で決めたのか一切残ってない。
仕様が問題があったらなぜ問題があるのかを復帰時用のオンボ資料に残した。
「聞いてないので納得できません」
聞いてないのはこっちも同じで、なんならこちらは復帰用の資料まで作っている。
在宅も別にいい。
ただ、連絡つかないのに自分が連絡したときに捕まらないと文句言うのはさすがに意味がわからない。
これが一回ならまだいいけど、何度も起きる。
権利は権利だけど、仕事を預ける側への配慮ゼロで回るほど現場は暇じゃない。
経営層も現場のそういった声には反応なく、管理職も権利だからしか言わない。
世の中には二種類の人間がいる。
「動けばいい」と祈りながらクソコードを世に放つ臆病者と、その後始末を請け負う命知らずだ。
俺たちの事務所に持ち込まれる案件は、どれも似たり寄ったりだ。
「仕様書と挙動が一致しません。挙動の方が正しいと思ってください」
「なぜ動いているのか、社内の誰も知りません」
そんな甘い囁きと共に、数万行の泥沼がUSBメモリという名の棺桶に入れられてやってくる。
「……おい、この関数名を見てくれ。logic_final_final_v3_dead() だ。前任者の断末魔が聞こえるようだぜ」
相棒はキーボードを叩きながら、安物のバーボンを一口煽るような顔で、エナジードリンクを啜った。
「いいか、コードを読み解くのは、凶悪犯のプロファイリングと同じだ。なぜここでグローバル変数を書き換えたのか? なぜ、わざわざ再帰処理の中でDB接続を張ったのか? 犯人の――いや、開発者の『絶望』を理解したとき、ようやくデバッグの入り口に立てる」
俺たちは画面の中の暗黒街を歩く。
1フレームごとに発生するメモリリークは、雨上がりの路地裏に溜まるヘドロだ。
そして、ようやく見つけたバグの正体が「タイポ(打ち間違い)」だったとき、俺たちは乾いた笑い声を上げる。
生成AIで自動プログラム生成どころか、コードレビュー、テスト、バグ修正、エビデンス整形、テスト結果のレポーティング、テスト環境の配分調整まで自動化してしまうという、とある未来予測レポートを読んだ
人のタスクとして残るのは「判断」「インプットドキュメントの作成」「アウトプットのレビュー」だけになる
例えばアジャイルのスクラムならプロダクトオーナー1人とエンジニア1人で、いままでエンジニアとスクラムマスター含めて10人でやってた開発が成り立つようになる。何しろスクラムマスターまでAIで代替してしまう。さらに8人いたエンジニアのうち7人がお払い箱になる
もうエンジニアとして食っていけるのは上位1割のフルスタックエンジニアだけになる。それ以外の8割はお払い箱だ
なんだかなあ
デバッグとか仕事だけで腹いっぱいなんだが、ちょっとだけ調べてみた
Firefox 150.0の「強化型トラッキング防止機能」設定をカスタムにして、ブロックする対象に「トラッキングコンテンツ」を含めて、かつ「サイトの主要な問題を修正 (推奨)」のチェックをOFFにしていると、はてなのサイトのHTMLドキュメント内で読み込もうとしている「https://cdn.www.st-hatena.com/css/global.css」を含む諸々のコンテンツがブロックされる
ブラウザコンソールをみたら「強化型トラッキング防止が有効なため、“<URL>” のリソースがブロックされました」というログが確認できた
ちなみに「トラッキングコンテンツ」をブロックする設定でも、「サイトの主要な問題を修正 (推奨)」のチェックをONにすると、はてなブックマークではブロックされるコンテンツの数が大幅に減り、CSS等が読み込まれるので、表示がまともになる。でもはてなブログと匿名ダイアリーはこの設定でもダメで、ブロック対象から「トラッキングコンテンツ」を外す必要がある
よく分からんのは、例えば https://cdn.pool.st-hatena.com/valve/valve.js とか、はてなブックマークでは「サイトの主要な問題を修正 (推奨)」のチェックのON/OFFで読み込まれるか否かの挙動が変化するんだが、はてなブログと匿名ダイアリーではON/OFFのどちらでもブロックされるんだよなあ
Firefox tracking protection - Privacy on the web | MDN曰く:
Content is blocked based on the domain from which it is to be loaded.
Firefox ships with a list of sites which have been identified as engaging in cross-site tracking of users. When tracking protection is enabled, Firefox blocks content from sites in the list.
Sites that track users are most commonly third-party advertising and analytics sites.
ということなので、もしかしたらHTMLドキュメントとは異なるドメインからCSSとかを読み込もうとした時にFirefox内のリストと照合している感じなんだろうか? でもそれだけだとはてなブックマークとはてなブログ・匿名ダイアリーとで症状が変わる理由を説明できないのだが……有識者の意見を聞きたいところ
以前は、OneDriveのファイルが具体的にどのように機能しているかなど、全く考えたこともありませんでした。クラウドにアップロードして使えばいいだけ、と単純に思っていたからです。しかしある日、OneDriveに保存したファイルを自分のパソコンに移して、オフラインで作業する必要が生じました。そこで問題が発生したのです。
最初は、数クリックで済むものだと思っていました。パソコンでOneDriveのフォルダを開くと、ファイルはそこにあるようでしたが、開こうとしたりコピーしようとしたりすると、奇妙な現象が起こりました。一部のファイルは読み込まれず、他のファイルはインターネット接続を必要とし、さらに一部のファイルは「オンラインのみ」と表示されるのです。
私は様々な方法を試してみました。ファイルをドラッグ&ドロップしたり、別のフォルダにコピーしたり、ブラウザから再ダウンロードしようとしたりしました。しかし、どれも時間がかかりすぎたり、うまく機能しなかったりしました。ある時点で、ファイルが実際にどこにあるのか——パソコン上なのか、それともクラウド上だけなのか——もう分からなくなってしまいました。
解決策を探そうとして、ある記事にたどり着き、そこでようやくすべてが明確になりました。その記事では、OneDriveが「オンデマンド ファイル」機能を使用しているため、一部のドキュメントは物理的にパソコンには保存されておらず、単なるショートカットとして表示されているだけだと、平易な言葉で説明されていました。
最も役に立ったのは、ステップバイステップの手順でした。ファイルをパソコンに移動するには、まずオフラインで利用可能にする必要があることがわかりました。右クリックして、該当する項目を選択するだけです。その後、ファイルがダウンロードされ、デバイスに完全に保存されます。
私は手順通りに操作し、ダウンロードが完了するのを待ってから、ようやくパソコンの目的のフォルダにファイルを移動させました。エラーも余計な操作もなく、すべてが本来あるべき通りに機能しました。
これでようやく、OneDriveの同期がどのように機能するのか、そして以前なぜうまくいかなかったのかが理解できました。結局のところ、問題は難しさではなく、単に私が一つの重要なポイントを知らなかっただけだったのです。
今では、どのファイルがオフラインで利用可能か必ず確認し、必要な時には問題なくパソコンに移しています。そして改めて実感しました。時には、たった一つの良い記事が、多くの時間とストレスを節約してくれることがあるのだと。https://cloudmounter.net/ja/move-files-from-onedrive-to-pc/
夕飯はグラタン。先日よりも玉ねぎを増やした。小さめの玉ねぎを丸ごと入れた。それから、僕の分だけマッシュルームを乗せた。塩を少し多めに入れてしまったが、やはり半量でよかった。チーズも、セブンイレブンのを丸ごと使ってしまうくらいでちょうどいいようだ。後はサラダとパン。僕はパンを二人前くらい食べてしまった。疲れていたのだろう。
デザートに焼きリンゴとヨーグルトまで食べてしまった。お腹いっぱいである。
ドイツ語の文法書をやっていて、基本的な語彙の性別があまり定着していないことに愕然とした。そうなると、五級から四級のページに移るよりも、その時間を生かして文法や読解に時間をかけたほうがよさそうである。それで、六月に五級、十二月に四級、来年の十二月に三級、順調にいけば来年の十二月に二級、くらいの三か年計画にしてみたら楽しいのではないか。また三年も経てばドイツあたりに行きたくもなるだろう。
さておき、文法書のウェイトを増やすのがよさそうだ。週に一章だと、五級の試験には間に合わない。まさか五級でとても高度な文法的内容が出るとは思わないけれどね。
何日か前から書こうと思っていたが、今度はアメリカがホルムズ海峡を封鎖してイランに通行料を払うなと脅している。まるでどっちの組にみかじめ料を払うかどうかみたいな次元である。
ところで、ドイツ語を始めたのは結構だが、昨年の一月に首を傷めてから、筋トレをずっとサボっている。断続的にスクワットくらいならするんだが、良い習慣を複数続ける良い手立てはないものか。
地元の図書館にないと思い込んでいた丸谷才一の全集があったんで、手元の本を読み終えたら気になっていた巻を借りて読むこととする。これは今日でもなくて構わないのだが、膨れ上がってグーグルドキュメント三十六ページになった読書メモから、優先度の高いものを抜粋して、身軽なメモを作りたい。読み返すのがあまりにもだるいメモは、メモとしてあまり機能していない。あとはラハリの本をもう一冊読みたい気がするが、主張は明確なので飛ばし読みになる気もしている。
今日でなくていいとも買いたが、とりあえず直近で読みたいのを二十冊ほどメモしたが、ついでに、軽くてあまり頭を使わないのも欲しい。というか、いざメモを取ってみたものの、分厚い本に取り掛かるのが久し振りであり、実際読めるか大変心もとない。
シーツを室内で干しているのだが、冬と比べて明らかに乾きが悪い。もちろん湿度が原因だろう。敷パッドも干す時間はあるだろうか? 何とか今晩中には乾いてほしい。何とか今晩中には乾いてほしい。と言うか、乾かないせいでベッドに横たわって仕事の終わりに横になって休めない。
書き忘れていたのだが、昨日の晩、水が常時漏れているような水道の周りの汚れをふき取った。定期的にやらないと、カビだか酵母だかが繁殖してしまうだろう。食品を洗うところなので衛生的にしたい。
そういえば朝食を作っていたら、隣のお嬢さんが帽子をかぶって出掛けて行くような姿が見えた。すりガラス越しだったからわからないが、もしかしたら今年から小学生なのかもしれない。というか隣かさえ分からない。隣の隣かもしれない。ただし住人を見かけたことはない。
仕事が終わってから、家の西の方にある公園まで歩いた。春になって分かったのだが、ここの芝生は緑が濃い。また、思った折も生えている樹木が太く、心癒される。前に来た時には冬だったから気づかなかったのかも。今は一面の緑色の葉で木陰を作ってくれる。
公園の周りには、ここにも白いハナミズキが生えており、それからツツジも咲いていた。実家のそばに咲いていた花を見つけると少し安心する。都内なので緑が少ないと思っていたが、そう感じたのは引っ越したのが秋だったからかもしれない。
後は通れるかどうかわからなかったマンション脇の小道を歩いたが、普通に散歩道になっていた。自転車通行可能の標識があったので、普通に公道で間違いないだろう。
権限チェックの欠如、パストラバーサル、コマンドインジェクション、問題のある隠し機能のいずれも、パスワードの複雑性を高めるだけでは防げなさそうに見える。
しょうがないにゃあ…
問題の5機種が該当する脆弱性は下記2つだけなのでパストラバーサルやコマンドインジェクションは関係ないね。CVSSはどちらも6.3。
アクセス制限不備の脆弱性(CVE-2026-4309):製品にアクセスした第三者によって装置固有の情報取得が可能なため、任意の設定変更をされるなどの可能性
ドキュメント化されていないバックドアの脆弱性(CVE-2026-4621):バックドア機能が存在するため、製品にアクセスした第三者によってtelnetを有効化される可能性
CVE-2026-4309はCVE-2026-4621のバックドアを利用されることで起きうる事象かな。
ロート製薬の「妊活白書2025」の結果は、日本社会の[将来予測の崩壊]を意味している。
メリットよりもリスク(キャリア喪失、経済的負担)が勝ると判断した。
これは、社会が「子育て」というプロセスをサポートしきれていないことを証明している。
キャリアか子供かの二者択一: 30代前半の女性の4割以上が、仕事のために妊活を遅らせている。これは「リソースの競合(リソースコンフリクト)」だ。
君の視点: 「子供を産み育てるのが当たり前」という古いドキュメントは、2026年の日本では完全に「非推奨(Deprecated)」になった。
ざっくり要約だけ書いて、長くなることは別ドキュメントでまとめてって感じか、使えそう!
抽象度が高いテキストコミュニケーションを吹っかけてくる人たちって、賢過ぎるのかな?
(頼む、本当にアドバイスをくれ。本当に頼む。チーム内の振り返りではみんな感じていることなのに、おれのポジション的に自分で言いづらい。まじで本当に頼む。真剣に考えてもむずくて。)
社会人5年目を迎えた頃、上司にやんわりと、「漫画で分かるテキストコミュケーション」みたいな本を勧められたのだが、軽く聞き流して、こんな金曜日になってしまった。
そういえば、おれがSlackすると「サクッと会話できます?」という返事が多い気がする。
なぜおれはSlackが長いんだ...
過去の職場で、物凄く腕はあるが、絶望的にテキストコミュニケーションが下手で棘がある人が居た。
「その人がきっかけで何人も辞めてるから、辛い時は教えてくれる?配置は検討するから。」
と言われてその人と同じチームになったのだが、その人は
その人のテキストを受け取ると、
2. 1〜3だと文脈的に多分2だと思うので、その前提でお答えすると〜で返す
3. 「いや1と3の中間です」とだけ返ってくる
4. それは即ち〜ということですかね?その前提でお答えすると〜(以降ループ)
5. 「厳密には違いますが、論点はクリアしてるのでお任せします」
6. 何をお任せ!?
というコミュニケーションが続いた時期が2年くらいある。
1返信に40分くらいかかるのがザラだったと思うし、今もそういうSlackにはそれくらいの時間をかけている。
直接話したら?は一旦控えてほしい。
その人のコミュニケーションも?はなんというか、ザラザラしていて、喋るだけで溺れてしまうような感覚があり、どんどん疲弊してしまう。ザラザラしてるしカメラもオフだからmeetsもしたくない。
おれはその人を反面教師にして、「解釈の幅が1パターンしかないテキストを書く!」と心に決めている。決めてしまっている。
ところが、解釈の幅を1パターンにしようとすると、具体をテキストに書き込む必要がある。それで長くなっているんだろうな。
このトラウマがある限り、おれは「小説」から抜け出せないのか...??
みんな、解釈の幅を1パターンにするためにどんな努力をしている?
それとも、ある程度、解釈の幅の中の具体化を、テキストコミュニケーション先にぶん投げている??
心理的安全性が高い場合はサクッと話せるんだけど、ザラザラしたコミュニケーションをする人と直接会話したくない時は、どうしたらいいかな??
---
友達に相談したら、テキストの中に含まれる前提知識を、どこまで最小化できるかの見極めのプロセスがないのが問題だと言われた。
詳しい人には短めに。
初めての人にはドキュメントで。
Gmailアドレスはピリオド . がどれだけ入っていても同じユーザーのメールボックスに届く、ということは皆さんご存じのことかと思います。
この仕組みによってtwitterだと一つのgmailアカウントで複数のアカウントを作ることが可能です。
一方でメールアドレスの規格は、RFCというドキュメントによって
などと決まっています。
よって一番ピリオドを仕込めるユーザー名がいちばんお得なのですが、それは何文字のときでしょう。
a.b.c.d.e.f.g
このようにn文字のユーザー名の中には最大でn-1個のピリオドを入れることができます。
つまり32文字のユーザー名のときにピリオド込みで最長63文字となり、いちばん多いメールアドレスのパターンを持つことができるので、一番お得なGoogleのユーザー名は32文字というわけですね。
開発力ってところだとweb業務系はもうAIでほぼ完全に代替できる
(組み込みはハードやベンダの依存関係が大きいのでまだAIのコードをそのまま使うのは難しそうだけど)
テスターもAIがやってくれるしテストケースの設計さえできればあとはAIが回してくれるのでレビュアーも不要
テストケース自体も要件定義ができてればその時点でAIで生成できる
インフラも今はAIが勝手にクラウド経由でアーキテクト構築してテナントにサーバーDBを置いてくれる
「AIはまともにドキュメント作れない」とか言ってる人まだいるけど動けばいいのでそもそもそんなのいらない、AIにとっては文字通りコードがドキュメント、法令監査必須なとこは別だけど国の動向見てるとそういうのも減っていきそう
運用保守もAIに監視させてクラウドに可用性を投げれば基本は回る、障害対応も初動はAIが診断してくれる
(全部最初から作らせるとトークン消費がえげつないのでやり方を考える必要はあるかと、コストを考えると運用保守はあった方がいいが結局それもAIに監視させればよい)
要件定義できる人はまだ必要だと思うけど、ドメイン知識や決定権のある人がブラックボックスのサービスを作ればいい
つまり、プロパーの企画立案者が内部でプロダクトを決定してそれ以降の設計実装まではAIに投げればいいので、特にSIやSESらに金払う奴はいなくなる
先日、お笑い芸人であり弁護士でもある「こたけ正義感」さんの弁論、特に生活保護受給について語る動画を見ました。 その後、まるで運命の悪戯のようなタイミングで、友人からLINEが届きました。 「障害者年金の受給が断られた。もう死にたい」と。
そこで私は、動画で得た知識を元に、友人に生活保護の申請を勧めました。 その結果、私が目の当たりにしたのは、本当にギャグかコントかと思うくらい、ステレオタイプな役所の「水際作戦」でした。
そして、素人の私が「こたけ正義感」の真似事をしただけで、面白いぐらいにあっさりと役所を撃退してしまった。
この文章は、同じように生活保護の申請に悩む人、あるいは水際作戦によって人権を奪われかけている人たちの救いになってほしい。
そして、この件について多くの人に議論してほしいと願って書いています。
私自身は法律については全くの素人です。普段はソフトウェアエンジニア、その中でも品質保証を担う「QAエンジニア」として働いています。 そんな私が、友人と共にどのようにこの「理不尽なソフトウェア」※と戦ってきたか、お伝えします。
※ハードウェア以外はソフトウェアという、「ある人」の考えを前提にこの定義をしています。
友人の詳細なプライバシーに関わるため詳しくは書けませんが、その人生は「困難」の一言では片付けられないほど過酷なものでした。
頼れる身内もおらず、心身の状態から、自立して働くことが極めて難しい状況であることは、以前から痛いほど知っていました。
そんな中、「障害年金さえ受給できれば、生活のベースができて状況が好転する」という話があり、私たちはずっとその結果を待っていました。 しかし、その希望は非情にも打ち砕かれました。
最後の頼みの綱を絶たれ、「もう死にたい」と漏らすほど絶望していた友人に対し、私は一つの提案をしました。
「今のボロボロの状態で無理をして働こうとするのはやめよう。 まずは生活保護を受けて『生存』を確保して、自分の抱える困難と向き合うことにリソースを集中させよう」
それは、友人にとって唯一残された、生きるための合理的で不可欠な選択肢でした。
まず、戦うための準備として徹底的な「情報収集」を行いました。 行政の生活保護に関する要件や制度の仕組みを調べるのはもちろんですが、何より重要だったのは「友人自身の現状」の可視化です。 いくら友人とはいえ、日々の詳細な生活実態や、具体的な病状のすべてを把握していたわけではありません。
とりあえず生成AI(Notebook LM)を使用しました。
過去のLINEのやり取り、送ってもらった「お薬手帳」の記録、そして会話の端々に出てきた「孤独」や「生活の苦しさ」に関する断片的な情報など。
これらすべてをNotebook LMに読み込ませて整理・統合し、友人が置かれている状況を客観的に説明するための「陳述書」としてドキュメント化させました。
目的は一つです。 役所の窓口で「状況がよくわからないから、また出直してください」などという逃げ口上を使わせないため。 有無を言わせず、その場で申請を完了させるための「最強の資料」を、まず手元に作り上げました。
本人は生活保護の申請に対して、強い抵抗感と恐怖を抱いていました。
「水際作戦」という具体的な単語を知らなくても、「生活保護を受けるような人間は、窓口で人格を否定されるような辛い扱いを受ける」というイメージが染み付いており、心が折れるのを恐れていたからです。(そして、実際にそれがあることを後で目の当たりにします)
そして何より、友人には自分で動ける体力や気力が残っていませんでした。
そこで私は、正面突破(本人が自分から窓口に行く)を避け、少し工夫したアプローチをとることにしました。 それは「申請」ではなく、第三者による「通報(保護要請)」という形をとることです。
友人からの「死にたい」というLINEの履歴や、過去の危険な行動を根拠に、最初は市役所へ、(いろいろ事情がありたらい回しにされた結果)そして警察へと連絡を入れました。 「友人の命が危ない状況だ。直ちに保護してほしい」 (実際その日の朝には友人とも連絡がつかなくなっていました)
そう通報することで、行政側が動かざるを得ない「緊急事態」をこちらから作り出しました。
そして、怯える友人にはこうラインだけしておきました。
「君はもう何もしなくていい。明日から無理して仕事に行かず、ただ部屋で寝ていてくれ。 私が作った資料だけ手元に置いて、もしインターホンが鳴ったり電話がかかってきたりしたら、それに出て話すだけでいいから」
本人の意思決定のコストをゼロにし、ただ「待つ」だけの状態にして、ボールを行政側に投げました。
警察による緊急保護自体は、驚くほどスムーズに行われました。私の通報を受け、警察は迅速に友人を確保し、然るべき手続きに乗せてくれたようです。ここまでは順調でした。
しかし、その後の行政の対応に、私は強烈な違和感を抱きました。 友人は役所から「とりあえず『社会福祉協議会(社協)』に行くように」と指示され、しかも「相談は数日後になる」と言われたというのです。
「なぜ、生活保護課(福祉事務所)ではなく社協なのか?」 「今日食べるものがないと言っているのに、なぜ数日も待たされるのか?」
すぐに仕様(制度)を調べたところ、社協は主に「貸付」や「自立支援」を行う機関であり、生活保護の決定機関ではありません。 これは、管轄違いの部署に回して時間を稼ぎ、あわよくば借金(貸付)で凌がせて保護申請をさせないための誘導ではないか?
「数日後なんて待っていられない」。
私は即座に友人に提案しました。 「向こうのスケジュールに合わせる必要はない。明日の朝イチで、すぐに電話をして相談を開始しよう」
さらに、私はQAエンジニアとして、これから始まる役所とのやり取りを「本番環境でのテスト」と捉え、ログの保全を徹底することにしました。 口頭でのやり取りは、後から「言った言わない」という致命的なバグを生みます。だからこそ、確実なエビデンス(今回は通話録音)が絶対に必要です。
友人(テスター): フロントで、役所というシステムに対して入力(電話・会話)を行う実行役。
私(オブザーバー): バックでその挙動を監視し、全てのログ(録音)を記録する監視役。
友人がテストを実行し、私が横でそのテストの品質を担保する。 これはまさに、二人三脚で行う「ペアテスト」の体制でした。
翌朝、早速「社協(社会福祉協議会)」に電話をかけてもらいました。 しかし、受話器の向こうの反応は、予想通り……いや、予想以上に「のらりくらり」としたものでした。
「詳しくは窓口で……」「数日後に一度来所していただいて……」
何かを隠しているのか、あるいは単に丁寧すぎて回りくどいだけなのか。
もごもごと要領を得ない話が30分も続き、話が全く前に進みません。当時の私は「これが噂に聞く水際作戦というやつか?」と警戒を強めました。
(後になって思えば、担当者は単に説明が下手な善人だったのかもしれませんが、切迫しているこちらにとっては遅延行為そのものでした)
業を煮やした私は、裏で繋いでいたチャットで友人に指示を飛ばし、強制的にクロージングをかけさせました。
「話が長い。相手にこう伝えて。 『今の状況を3分以内にまとめて説明してください。この会話は録音していますが、まとめるのが私には難しいです。 それが無理なら、電話を切って30分以内にメールで要件を送ってください。 その際、私の支援者(筆者)のアドレスもCCに入れてください』」
無駄な通話を打ち切り、証拠が残る「メール」への切り替えと、第三者(私)の監視の目を光らせるためのCC追加。 これを要求した瞬間、空気は変わりました。
メールは思ったよりも早く、要請から30分と経たずに届きました。
恐る恐る内容を開いてみると、そこには予想に反して、極めて誠実で具体的なアドバイスが記されていました。
文末には「生活保護という制度を有効に活用されるのは良い選択だと思います」という、温かいメッセージまで添えられていました。 最初の電話での「のらりくらり」は、単に慎重だっただけなのかもしれません。
少なくとも、こちらの「本気(熱意)」は伝わったようでした。 このメールを見た瞬間、私は彼を「水際作戦の先兵」という認識から、「協力してくれる仲間」へと認識を改めました。 これで外堀は埋まりました。次はいよいよ、本丸である「役所の生活保護窓口」への突撃です。
社協を味方につけた私たちは、いよいよ本丸である「生活福祉課」の窓口へ電話をかけました。 もちろん、私はリモートで通話を監視し、録音も回しています。
そこで繰り広げられた会話は、まさに「こたけ正義感」の動画で見た水際作戦そのもの。いや、あまりにステレオタイプすぎて、質の悪いコントを見せられているような気分でした。
電話に出たのは、かなり横柄な態度の男性職員。 威圧的な声を出し、こちらの話を聞く前から「電話で生活保護の申請なんてできないですよ」と断言しました。 「とにかく窓口に来てください」「来ないと絶対無理です」「まずは社協に頼ってください。うちは関係ないんで」
前日に警察に保護されたばかりの人間に対し、よくもまあここまで冷酷になれるものだと、怒りを通り越して感心すらしました。
そもそも、保留音も使わずに、裏で職員と「どの説明すれば社協に行ってくれるか」という会話すら聞こえていました。明らかにナメられていました。
しかし、ここで引き下がるわけにはいきません。私はチャットで友人にカウンターの指示を飛ばしました。
「こう伝えて。 『さっき、社協のAさん(フルネーム)からメールで指示を受けて電話しています。 Aさんは、電話で申請の意思を伝えろと言っていました。 あなたは、社協の担当者が嘘をついていると言うんですか? それとも、社協との連携を無視するつもりですか?』」
さらに畳み掛けさせました。 「この通話は録音しています。友人も聞いています。 私は今、明確に『申請の意思』を伝えました。 これを受理しないなら、社協の方に『拒否された』と報告します」
普通の神経ならここで怯むはずです。 しかし、その職員は斜め上を行きました。
「はい、どうぞ。そうしてください。ぜひそうしてください」 ガチャッ。
挨拶もなしに、一方的に電話を切られました。 あまりに堂々とした「職務放棄」と、漫画のような悪役ムーブ。 この通話が終わった後、私と友人は恐怖よりも先に「こんな面白い人、本当に実在するんだ」と、思わず笑い合ってしまいました。
この職員(彼を先鋒部隊と呼びましょう)による「ガチャ切り」と「あからさまな水際作戦」は、私たちの「水際作戦への勝利」を確信させる事象で、むしろ心が楽になりました。
あのガチャ切りの直後、私は即座に「社協リターン」を選択しました。 話の通じないバグだらけのフロントエンド(役所窓口)を使ったE2Eテストでデバッグするのは時間の無駄です。まだ話の通じるバックエンド(社協のAさん)にエラー報告を投げる方が早い。
これまでは友人にチャットでアドバイスを出して電話対応をしていましたが、ここからは私自身が直接介入します。ただし、きちんとしたバグ報告書、ここではメールといいますね。
私はAさん宛に、以下の事実と警告を含んだメールを送信しました。
その上で、最後にこう締めくくりました。 「これ以上、友人をたらい回しにして病状を悪化させるような対応が続くことがないようにお力添えをいただきたいです。 まずはAさんから市役所の担当部署へ、直接ご連絡を入れていただけないでしょうか」
メールを送った後、社協のAさんと電話で話すことになりました。もちろん、この通話も全て録音しています。
電話口の彼は、相変わらず「もごもご」とした口調でした。おそらく、慎重な性格ゆえの癖なのでしょうが、緊急事態においてはこの曖昧さが命取りになります。 「あちらも忙しいようで……」「伝えてはみるのですが……」 そんな煮え切らない会話が15分以上続きました。
私はここで、エンジニアとしてのモードを「相談」から「要件定義」に切り替えました。
のらりくらりとした会話を遮るように指示し、以下のような明確なコミットメントを求めました。
「Aさん、具体的に『誰』に『どう』話せば、この申請が通るのか、ルートを確立してください」
「今日の15時までに、確実な回答をください。 もしそれまでに進展がない、あるいは誠実な対応が見られない場合は、こちらも命が関わります。『他のしかるべき機関』に相談するフェーズに移行します」
効果はてきめんでした。 あれだけ「もごもご」していた彼が、電話を切ってからわずか5分後。
「福祉課のBさんという方と話がつきました。この方に電話してください」 と、具体的な担当者の名前を持ってきたのです。
期限を切ってコミットメントをお願いする。
ビジネスでは当たり前のこの手法が、行政というブラックボックスをこじ開けるための鍵でした。
<後編に続く>