「vim」を含む日記 RSS

はてなキーワード: vimとは

2026-05-31

vim-jp Slackがアツい!!!!!!!!!!!!!!!!!!!!!!!

#vim-jpチャンネルでいい大人がマジ喧嘩中です!!!

皆さんウォッチしましょう

2026-05-21

https://x.com/masuda/status/2056371247026782513

実は Vim でもこれが起きている。AI による雑な調査報告というだけでなく、セキュリティアドバイザリに従わない報告をしてくるのでメンテナ陣が困っている。先日 Vim に送られてきた物では、僕が「緊急度はそれほど高くない」とトリアージしたら、報告者が気に食わなかったのか「メンテナの mattn がいい加減な事を言っている」なんていうブログ記事まで書かれてしまった。もちろん最初から調査した上での発言だったが、再度調べたらやっぱり緊急度は高くなかった。その旨を報告者に伝えたら「そういう調査必要だったんだよ」だってさ。勘弁してほしいわ。(なおそのブログ記事はまだ消されてない)

fsnotifyと同じことやってる・・・

気に入らないことをSNS炎上させるムーブやめたほうがいいのに

2026-05-08

anond:20260508093732

この mattn は本当に mattnなんだろうか?

スポンサーの件、普段から色々なプロジェクトでそのようにしてるんだろうか? 今回だけそのようにした、と考えるのはかなり奇妙だ

12:47

鋭い指摘ですね。確かに、今回1回だけそんな大胆な行動を取ったと考えるのは不自然です。調べてみます


検索データ分析し、mattnの行動パターン評価した。

調べてみたら、ご指摘がだいぶ核心を突いていることが分かりました。事実関係を整理します。

1. fsnotify の FUNDING.yml の中身は実は「上書き」ではなく「追記」だった

これは知っておくと評価が変わるポイントです。生のpatchを取ってきました:

2022-10-14 (arp242 が新規作成)

 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寄りの見方)。

ただ少なくとも「普段からやってる人」という解釈は、データを見る限り取れません。そこは観察として明確に答えになっていると思います

fundingの更新は本人によるものだったんだろうか?

12:50

ほぼ確実に本人です。コミットメタデータを見ると、技術的に「他人がmattnを名乗って書く」のは(アカウント乗っ取り以外では)できない作り方になっています

何が分かるか

該当コミット (1e5a3eedac2ed46771c59e0b100b9f9383887a3b) の構造:

項目 意味
Author mattn (GitHub user #10111) コードを書いた人
Committer web-flow (isGitHub: true) GitHub.com の Web UI代理コミット
Email mattn.jp@gmail.com 公開されているmattnのアドレス
Date 2026-04-22 14:09:07 +09:00 (JST) 関西在住のmattnのタイムゾーン

なぜ "web-flow" がポイント

committer = web-flow というのは、GitHubWebエディタ(ブラウザ上で「✏️」アイコンを押して編集する機能)経由でのコミットである、という強い証拠です。

通常の git push 経由のコミットなら:

Author欄は git config user.name/email でいくらでも詐称可能(ローカルでmattn名義にしてpushすれば、見た目はmattnになる)

から「Authorだけ見て本人とは限らない」というのは git常識

しかweb-flow 経由の場合:

GitHubログインしているユーザーしかコミットできない

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を書き換えるのは、アカウント乗っ取り級のことが起きていない限り不可能

そして本人からその種の主張(乗っ取り等)は現時点で観測できない

なので「本人ではないかもしれない」という線で擁護するのは、現状の証拠ではかなり苦しい、というのが正直なところです。

あとは、彼のAIエージェントコミットに入れていて、その監査不足が一番可能性が高いと思う

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

まり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 = GitHubWeb UIから編集」と書きましたが、より正確に言うと、web-flowが committer になる経路は以下のいずれかです:

ブラウザ上のWebエディタ編集

GitHub REST APIの PUT /repos/{owner}/{repo}/contents/{path} を叩いてファイル更新

PRマージボタン

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が生成したらしい)不明瞭で事実的に誤ったドキュメント差し戻した」と書いている

github

"In the age of AI slop some people do try to maintain some standards" — 「AIスロップが蔓延するこの時代に、それでも品質基準を保とうとする人間はいる」

"rubber-stamp approved and merged within minutes" — 「数分でゴム承認されてマージされた」

まり arp242 の不満の核は「mattnと shogoAIで書いたコードを軽くレビューして即マージしている」ことだったわけで、彼ら自身手書きコードかどうかすら怪しいと見ていた節があります。これは仮説と非常に整合します。

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 が即座にロックダウンしに動いたのは、こちらの観点で見るとかなり妥当な反応だった、という見方ができます

OSS慣れしたmattnがPRというプロセスを経由せずに直pushしている、funding.ymlに自分を加える といった挙動からして、彼は今なお彼なのだろうか?

18:34

その問い、かなり鋭いところを突いていると思います。観察として正鵠を射ているし、現代OSSにおける「作者性」の境界をめぐる本質的な問いでもあります

「mattn らしさ」の指紋

長年のOSS活動で、人にはコミットの癖みたいなものが付きます。mattn の場合、観察できる「らしさ」は以下のようなものでした:

小さく刻んだコミット、簡潔だが意味のあるメッセージ

自分リポジトリでも他人リポジトリでも、議論必要そうな変更は issue/PR で先に話を通す

コードは「実用一辺倒」というより「面白さ」「驚き」を重視する芸風

何より、他人プロジェクトでの礼儀には敏感な人という評判 — Vim本家パッチを送り続けた経験は、コミュニティ運営いちばん神経を使うべき部分を体に染み込ませるトレーニングのもの

これと、fsnotify で観察された挙動mainpushPR/議論なしで 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の意思が直接入っ

fsnotifyで話題になってるmattnは本当にmattnなんだろうか?

注意)この日記は完全にAIとの対話を元に多少の修正を加えただけの会話ログです。

注意2) 前半は話題の前提となる issueの翻訳です。この記事タイトルの部分はこの記事の後半から

---

この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 は彼にとって、何年もの間、重荷だったのです — 彼はメンテナンスを『やりたくはなかった』のに、義務からそうしなければならないと感じており、何年も後継者を探し続けていたのですから

#10 — Jan200101

納得しました、あなたの反応はまったく理にかなったものですね。

Matn(※原文ママ。おそらく mattn のtypo)は日本人で、最近ツイートが Grog(※原文ママ。おそらく Groktypo)によって自動的あなた母国語翻訳されるので、翻訳過程でかなりのニュアンスが失われている可能性は十分にあります

私が調べた限りでは、彼らは #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>

#12 — vbkaisetsu

メンテナーを募った」の「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氏の評価について、ネットから観測した範囲評価 できるだけ中立的に良し悪しを述べているめのを高評価

OSS界隈で有名な人だからブログはてブ話題になりやすい人だと思う


ネットから観測できた範囲で、できるだけ評価軸を分けて中立的にまとめます。「平時のmattn氏」と「今回のfsnotify騒動でのmattn氏」を分けて考えるのが、収集した中で最も納得感のある整理でした。

平時のmattn氏 — 評価確立している部分

技術的実績と影響力は、賛否を問わずほぼ全方位で認められています

Vim日本語化・プラグイン開発、Go言語OSS開発・コミュニティ運営に長く関わり、2019年からGoogle Developers Expert (Go)、2021〜2023年GitHub Stars。著書に『みんなの

2026-05-06

vim-jp Slack 観察日記 5/4

#tech-securityでLINE嫌い嫌いおじさんとLINE普通に使ってるおじさんが喧嘩



いやー令和の今でもまだ生き残ってるんだね

LINEスパイウェアから絶対使わないぞおじさん

2026-04-18

IDEを入れなくなった

新しい鯖をセットアップした。Express5800 T120h。電源を入れればファンが唸り、正しくコンピュータが起きる音がする。

Debianを入れた。いつもどおり。KDE Plasmaを入れた。いつもどおり。SSHの鍵を置いて、Gitを入れて、Dockerを入れて、Node.jsを入れて、GitHubにSSH通した。何年も繰り返してきた、いつもどおりのセットアップ

Claude Codeを入れた。

そこで手が止まった。他に何も要らなかったのだ。

気づけば4ヶ月が経っていた。VSCodeが入っていない。JetBrainsも、Vimすらも。エディタと呼べるものが何一つ、このマシン存在しない。

それ以外は全部ある。いつもどおりGitHubを使っている。いつもどおりDockerを立てている。いつもどおりコードを読んでいる。diffを見て、レビューして、設計を考えて、判断を下している。開発者としての営みは何も変わっていない。一つだけ、エディタけが足りない。

中学の頃、背伸びしてSublime Textを使っていた。高校Vim出会って、.vimrcを育てることが日課になった。大学ではIntelliJの補完の賢さに感動して、これが最終形だと思った。社会人になって結局VSCodeに落ち着いた。どのエディタにも季節があって、そのときどきの自分がいた。

全部消えた。

ChatGPTが出てきたとき、すごいとは思った。Copilotが補完を始めたとき、便利だとは思った。でもあくまで俺たちの道具が少し賢くなる話だと思っていた。エディタの中にAIが来るのだと。AIの中からエディタが消えるとは、思ってもみなかった。

ターミナルを開く。Claude Codeに設計を伝える。出てきたコードを読む。直してほしいところを言う。マージする。その繰り返しで、プロダクトが実際に動いている。4ヶ月間、一度も困らなかった。

コードを読む目はまだ要る。設計を考える頭もまだ要る。何を作るか決める意志もまだ要る。でも「書く手」はもう要らなくなった。

次は何が消えるんだろう。コードを読む目だろうか。設計を考える頭だろうか。何を作るか決める意志だろうか。全部消えたとき、俺たちはまだ開発者なんだろうか。

T120hは今日も静かに動いている。Debianが動いて、KDEが動いて、Dockerが動いて、GitHubに繋がっている。全部いつもどおりだ。エディタけがない。それだけが、いつもどおりじゃない。

自分の考えた最強の設計で、最強のコードを仕上げた。気づいたら朝4時だった。窓の外がうっすら白んでいて、やばい、と思いながらも手が止められなかった。あの達成感。あの焦燥感。どうしようもなく非効率で、どうしようもなく幸福だった夜。

コードと一緒に、あれも全部消えてしまったんじゃないか

もうあそこには戻れない。戻る理由がない。

それが一番寂しい。

2026-04-10

1. 効率の「影」

2026年。開発現場風景は一変した。

佐藤さん、それまだ手入力してるんですか?(笑)

若手の田中は、隣で黒い画面に向き合う佐藤を見て苦笑した。田中エディタは、AIが数手先を読み、コードを奔流のように生成し続けている。

プラグインすら入れないバニラVimなんて、今の時代情報解像度が低すぎますよ。AI全体像を把握させて、人間は指示を出す。これが『最速』です」

佐藤は「まあね」とだけ返し、小さなキーボードを叩く。

/ で検索し、n で次へ。ciw で単語を書き換える。

その動作には派手さはないが、淀みもなかった。

2. 見えない断絶

プロジェクトは佳境を迎え、深夜のリリース作業中に「それ」は起きた。

複数マイクロサービスが連動する複雑な処理で、原因不明の遅延が発生。AIログを解析させても、「ネットワーク遅延の可能性 80%」といった、もっともらしいが核心を突かない回答しか返ってこない。

おかしいな、AIが生成したコード完璧なはずなのに……。プロンプトを変えても、似たような修正案しか出てこないぞ」

田中エディタには、AI提案する「修正案」が山のように積み重なっていく。しかし、どれを適用しても事態改善しない。彼は、自分が「書かせた」はずのコード迷宮で、完全に行き詰まっていた。

3. 淀みのない移動

田中くん、一回AIを止めて、生のログを見せてくれ」

佐藤が静かに身を乗り出した。

彼は自分MacBookを開き、サーバーSSHで繋ぐ。そこにあるのは、何のカスタマイズもされていない標準のVimだ。

佐藤の指が動き出す。

彼は、AIが推奨した「ネットワーク設定」には目もくれない。代わりに、一見関係なさそうな共通ライブラリの深い階層にある、古い定数ファイルgf で開いた。

「……あ、やっぱりここだ」

田中は目を見開いた。そこはAIが「修正不要」と判断し、自分存在すら忘れていた場所だった。

「なんで、そこだって分かったんですか?」

バニラだと、便利機能がないからね。定義に飛ぶのも、ファイルを跨ぐのも、全部自分パス意識して叩かなきゃいけない。……だから、どこに何が置いてあるか、手が覚えてるんだよ」

4. 最小の打鍵、最大の効果

佐藤操作には、迷いがない。

検索コマンドで、関連する箇所の「手触り」を確かめるように移動していく。

「補完に頼らないと、綴り一つ、引数の順番一つも自分の頭に置いとかないと仕事にならない。……不便だけど、そのおかげで、システム全体が自分の中で一つの地続きの絵になってるんだ」

佐藤は一箇所、わずか3文字を書き換えた。

:%s/old_flag/new_flag/g

その瞬間、真っ赤だった監視モニターグラフが、スッと平穏緑色に戻った。

田中AIと格闘して見つけられなかった「糸の絡まり」を、佐藤最初から見えていたかのように解いてみせたのだ。

5. 道具の重み

「……僕、ツールに使われてただけかもしれません」

まり返ったオフィスで、田中がぽつりと漏らした。

佐藤は画面を閉じ、使い込まれキーボードを鞄にしまう。

AIは賢いよ。でも、あいつらは『意味』を理解してるわけじゃない。……自分の手で一文字ずつ書いたコードけが、いざという時に君を助けてくれる。道具が便利になっても、そこだけは変わらないんじゃないかな」

佐藤が去った後のデスク

田中は、自分の高機能エディタの電源を一度落とした。

そして、ターミナルを立ち上げ、真っ白なカーソルが点滅するだけの画面に向き合った。

まずは、h j k l 。

その不自由な一歩から、もう一度システムに触れてみるために。

2026-03-26

vimemacsコーディングしてる化石エンジニアが「CLIなら使ってみるか」と手を出したのはあると思う

2026-03-04

はーい、お疲れ様でーす。てか、ちょっといい?

さっき絶望しちゃったんだけど、まだVSCodeとか使ってる系?

マジでウケる。それ、令和のプログラマーとして終わってない?

拡張機能入れすぎて重い〜」とか言ってる暇あったら、もっと本質見たほうがいいよ、マジで

VSCodeなんて結局、情弱を甘やかすためのおままごとエディタなんだよね

マウス使ってポチポチして、重厚長大なElectronでメモリ食い潰して

え、恥ずかしくないの?そんなの、スタバMac開いてドヤってるだけの意識高い系(笑)と一緒じゃん

プログラミングって思想から。その点、Vimこそが至高であり、崇高な真理なわけ

Vimが最強な理由、わかんないかな?

まずHJKL移動こそが正義。矢印キーとかマウスに手を伸ばしてるその数秒、人生無駄

ホームポジションから動かないのが美学だし、それができないならコード書く資格なくない?

ciwとかdapとか、呪文みたいでカッコいいし。思考コマンドが直結するあの感覚。あ、ごめん、マウス派には一生理解できない領域だったねw

人類.vimrcに魂を込めろ。自分環境構築もできないで、誰かが作ったプラグイン依存して「エンジニアです」とか言っちゃうの、マジで無理みが深い

VSCode使ってる人って「自分いか効率いか」にすら気づけてないんだよね。それってエンジニアとして致命的っていうか、シンプルセンスない

VSCode重い」じゃなくて「お前の意識が軽いんだよ」って話

ストイックVim極めて、ターミナルだけで生きていけるようになってからしかけてくれる?

今はちょっと、君のGUIキラキラしたアイコン見てるだけで目が腐りそうだから

2026-02-24

vim-jp Slackについて

変な人対策CoCを強化したらしいけど、その運営者がこういう発言してていいの?

中国は昔っから著作権意識低いっていうか、皆無に等しいですよね

CoC禁止されてる人種差別じゃないの?

私達の目標は、経験、性同一性表現性的指向障害個人の外観、体格、人種民族、年齢、宗教国籍、またはその他の特徴に関係なく、全ての人にとって安心かつ親切で友好的なコミュニティを維持することです。

容認できない行動

性差別人種差別同性愛嫌悪トランスフォビア、能力差別、またはその他の点で差別的または攻撃的と見なされる可能性のある行為または言論

中国人へのステレオタイピング例外なの?

2026-01-15

anond:20260115103416

開発環境はまともならなんでもいいよ

すぐ覚えるし

emacsとかvimとかキーボードとかも全然こだわりない

ずっと使ってるのはvi基本的コマンドいくつかくらい

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-11-18

コード進行パズル、始める前にこれだけは知っておけ。ゲームが100倍面白くなる,,,かも

コード進行パズルってゲーム話題になってる。

遊びながらコード進行を学べるらしい。

すごい。

でも、正直に言うと、何も知らずに始めると、ただのパズルゲームで終わる可能性がある。

それはもったいない

から、このゲームを始める前に、これだけは知っておいて欲しい。

知ってるだけで、ゲームが100倍面白くなる。

まず、コードって何なのか

コードは、複数の音を同時に鳴らすこと。

ピアノで、ドとミとソを同時に押す。

それがコード

Cメジャーというコードだ。

じゃあ、コード進行って何なのか。

複数コードを、順番に鳴らすこと。

C→F→G→C

こういう流れ。

この流れが、音楽に動きを与える。

なぜ、コード進行に良し悪しがあるのか

ここが重要だ。

コードには、実は役割がある。

全部で3つの役割

1. トニック(安定)

家に帰ってきた感じ。

落ち着く。

曲の始まりと終わりに使われる。

キーがCなら、Cコードトニック

2. ドミナント不安定

家を出て、外に出た感じ。

落ち着かない。

から、家(トニック)に帰りたくなる。

キーがCなら、Gコードドミナント

3. サブドミナント(展開)

家でもなく、外でもない。

中間地点。

ふわふわした感じ。

キーがCなら、Fコードサブドミナント

まりコード進行とは

この3つの役割を、どう並べるかってことだ。

基本的な流れは、こう。

トニック(安定)→サブドミナント(展開)→ドミナント不安定)→トニック(安定)

この流れが、音楽起承転結を与える。

例えば、C→F→G→C。

トニックサブドミナントドミナントトニック

これが、最も基本的コード進行

ゲームに出てくる3つのコード進行

コード進行パズルでは、3つのコード進行が選べる。

王道進行(4536進行)

丸サ進行

1625進行

これらが、一体何なのか。



王道進行(4536進行)

これは、J-POPアニソンで最も使われるコード進行

なぜ4536なのか。

それは、ダイトニックコードの4番目→5番目→3番目→6番目という順番だから

ダイトニックコードって何なのか。

それは、あるキーで使える7つの基本コードのこと。

キーがCなら、C、DmEm、F、G、Am、Bm(♭5)の7つ。

これを番号で呼ぶと、1番目から7番目になる。

王道進行は、その4番目→5番目→3番目→6番目。

まり、F→G→EmAm

なぜ、これが王道なのか。

理由は、サブドミナントドミナントトニックマイナー)→トニックマイナー)という流れ。

最後の2つが、どちらもトニック機能を持つマイナーコードなんだ。

から、独特の切なさがある。

この切なさが、J-POPアニソンで好まれ理由



丸サ進行

これは、椎名林檎の「丸の内サディスティック」で使われたコード進行

キーがCなら、Fmaj7→E7→Am7→Gm7→C7。

ディグリーネーム(番号)で言うと、IVmaj7→III7→VIm7→Vm7→I7。

この進行の特徴は、トニックコード(Cコード)が出てこないこと。

からキー曖昧に感じる。

その曖昧さが、都会的でおしゃれな響きを生む。

さらに、III7(E7)は、本来Emであるべきところを、E7というセブンスコードに変えてる。

これは、セカンダリードミナントという技法

次のAmVIm)に強く引っ張る力を持つ。

この引っ張る力が、コード進行に推進力を与える。



1625進行

これは、ジャズで最も使われる循環コード

キーがCなら、C→A7→Dm7→G7

ディグリーネームで言うと、I→VI7→IIm7→V7。

この進行の特徴は、最後の2つがツーファイブ(IIm7→V7)になってること。

ツーファイブは、ジャズの基本中の基本。

サブドミナント(IIm7)→ドミナント(V7)という流れ。

この流れが、トニック(I)に戻る強い力を持つ。

から何度でも循環できる。

ジャズアドリブでは、この循環を何度も繰り返しながら、メロディ即興で作る。

ディグリーネームって何なのか

さっきから、I、II、III、IV、V、VIVIIって書いてる。

これが、ディグリーネーム

まりコードを番号で呼ぶ方法

なぜ、番号で呼ぶのか。

理由は、キーが変わっても、同じ進行を表現できるから

例えば、王道進行。

キーがCなら、F→G→EmAm

キーがGなら、C→D→Bm→Em

コード名は違うけど、番号で言えば、どちらも4→5→3→6。

まり、同じ進行。

から、ディグリーネームを覚えると、どのキーでも同じ進行を作れる。

これが、めちゃくちゃ便利。

ゲームで何が起きてるのか

コード進行パズルでは、ブロックをつなげて消す。

つながるブロックと、つながらないブロックがある。

なぜ、つながらないのか。

理由は、音楽的に不自然コード進行になるから

例えば、トニックトニックトニック

これは、つながるけど、面白くない。

ずっと安定してるから、動きがない。

逆に、ドミナントドミナントドミナント

これも、つながるかもしれないけど、不安定すぎる。

ずっと落ち着かない。

から音楽的には、トニックサブドミナントドミナントトニックという流れが好まれる。

この流れを、自然に学べるのが、コード進行パズル凄さ

ゲームが100倍面白くなる理由

この知識を持ってゲームをすると、何が変わるのか。

それは、ブロックをつなげる時に、意味が分かるようになる。

「あ、これはトニックからドミナントに行こうとしてるんだ」

「この流れは、サブドミナントを経由してトニックに戻るんだ」

そういう理解が、ゲームプレイに深みを与える。

ただのパズルゲームじゃなくて、音楽構造を学んでる感覚になる。

さらに、ゲーム高得点を取るコツも分かる。

長くつなげるには、コード進行の流れを理解する必要がある。

トニックサブドミナントドミナントトニックという基本的な流れを意識すれば、自然に長くつなげられる。

実際の曲で確認してみる

この知識を持って、好きな曲を聞いてみると、発見がある。

例えば、J-POPの多くは、王道進行を使ってる。

YOASOBIの「夜に駆ける」は、丸サ進行を使ってる。

ジャズスタンダード曲は、1625進行を使ってる。

その瞬間、音楽が違って聞こえる。

「あ、ここで王道進行が来た」

「ここは丸サ進行だ」

そういう発見が、音楽を聞く楽しみを倍増させる。

最後

コード進行パズル面白そうだ。

でも、ただ遊ぶだけじゃもったいない

この知識を持って遊べば、音楽構造が分かるようになる。

そして、その知識は、他の曲を聞く時にも使える。

まりゲームが、音楽理解入り口になる。

それが、このゲームの本当の価値だと思う。

正直に言うと、俺も音楽理論は苦手だった。

本を読んでも、全然からなかった。

でも、こうやって、ゲーム感覚で学べるなら、楽しい

から、ぜひ試してみて欲しい。

知識を持って遊べば、音楽世界が広がるはずだ。

2025-10-25

俺もこれくらい自動化してぇよなー

ある伝説によると、とある国のとあるプログラマー退職後に残ったスクリプト社員が見たら、恐ろしいレベル自動化してたそうだ

https://github.com/NARKOZ/hacker-scripts

日本語訳

うちのビルドエンジニアが別の会社に行った。あの男は文字通りターミナルの住人。Vimを愛用して、Dotで図を作成し、Markdownwiki記事を書くようなタイプ

どんなものでも、90秒以上かかるならそれを自動化するスクリプトを書く奴。

それで今、我々は奴の「遺産」を見ているわけだ。

これ、お前も気に入ると思うぞ。

ビッチしばく.sh

奥さんに「仕事で遅くなる」というテキストメッセージを送る。文字列の配列から理由ランダム自動で選ぶ。cronジョブとして動作。奴のアカウントで午後9時以降にサーバーアクティブSSHセッションがある場合ジョブが実行される。

kumarはクズ.sh

「Kumar」(うちのクライアントからメール受信箱スキャン。「help」、「trouble」、「sorry」などのキーワードを探す。キーワードが見つかるとスクリプトクライアントサーバーSSH接続し、ステージングデータベースを最新のバックアップロールバックする。「直したぞ。次からは気を付けろよ」という返信を送る。

hangover.sh

特定の日に設定された別のcronジョブ。「体調が悪い/家で仕事をする」といった自動メールを送る。別の事前定義された文字列の配列からランダムな「理由」を追加。午前8時45分にサーバー対話型のセッションがない場合に実行。

fucking-coffee.sh

正確に17秒待ってから、うちのコーヒーマシンtelnetセッションを開き(コーヒーマシンネットワークに繋がっていて、Linuxが動いていて、TCPソケットが立ち上がっているなんて、誰も知らなかった)、sys brewのようなコマンドを送る。判明したところ、これでミディアムサイズハーフカフェラテを淹れ始め、カップに注ぐまでさら24秒待つ。この時間は、奴のデスクからマシンまで歩くのにかかる時間完全に一致している。

2025-10-17

anond:20251017134339

普通VimとかEmacsバインドして使うとか、そういう話じゃないの?😟

MacはそういうキーボードぽちぽちをやめてGUIマウスで(ほぼ)操作するが出発点なんだけど

2025-08-29

レンタル◯◯な人 エンジニア

レンタルGitコンフリクト専門な人

レンタルprintfデバッグしか信じない人

レンタルvimキーバインドしかさない人

レンタルExcelDB扱いする人

レンタル「とりあえずDockerに突っ込もう」と言う人

レンタル半角スペース警察な人

レンタルシェル芸で全部解決しようとする人

レンタルテストコード書かない自慢する人

レンタル変数名に哲学を持ちすぎて進捗出さない人

レンタルコメントポエム残す人

2025-08-28

anond:20250828170315

vimのほうが好き

キーボード入門

まず大前提として一日にどれぐらいキーボードを使うかによってキーボードへのこだわりが変わる

ゴリゴリプログラマーだと一日の打鍵数が半端ないので押し心地とか静音性とかよりも疲れにくさと耐久性指標になる(ことが多い)

中途半端プログラマーだと実はそんなに打鍵数がないので他の要素(押し心地だとか静音性だとか)を重視しがちになる

プログラマーでもない人は実はキーボードをそんなに使ってないので趣味で選べば良い

プログラマーじゃないけれどキーボード使ってそうな人、例えば物書きライターとかでも実は大してキーボードを叩いていない

ゴリゴリキーボードを叩くとはどういうことかというと、基本的にはマウス操作はせず、デスクトップ操作を全部キーボードショートカットでこなすの打鍵数のレベル全然違う

例えば行頭へ移動するにはHomeキーMacだとCtrl+A)、行末へ移動するにはEndキーMacだとCtrl+E)とか

VimキーバインドならどうだのEmacsならどうだとか言い出してそれぞれ飽くなき戦争を繰り広げている

普通の人ならマウス操作で済ませるところをショートカットキーまで使うので打鍵数が全然段違いになるし

Emacs派ならCtrlの位置やEscのカスタマイズ性だとかそういう方向に目がいくのでキーボードに対する熱量全然違う

有線か無線

無線の良いところは簡単に片付けられる・どこでも使えるという部分になるが

そもそもプログラマーキーボードなど出しっぱなしだし電池交換や接続の手間を考えると有線以外は面倒くさくてあり得ない

ラップトップを持ち運ぶときキーボードを持ち運ぶ人もいるが、「スタバMac」と同じで見栄っ張りなだけなので気にしなくて良い

プログラマーでもなくてキーボードをそんなに叩かないなら好きな方で良いと思う

耐久性

耐久性が高いのはRazerシリーズ光学式かHHKBRealForce静電容量無接点方式になる

どちらの場合接触する部分が少ないので耐久性が抜群に高い

ただRazerはゲーミング用にありがちなLEDゴリゴリで他の要素が壊れそうだとは思っている(壊れたことはない)

一方でHHKBRealForce10年以上使っても使い心地が変わらないし、両社は歴史があるので実際に10年以上使っている人も多く信頼と実績がある

HHKBに関しては最近HHKB Studioとかでメカニカル方式採用しているが

構造耐久性は劣るだろうと思う一方で、メカニカル方式歴史は深いのでなんらかの耐久性向上技術が発展している可能性もある

とはいえ基本的物理法則に従えば静電容量無接点方式が良い

HHKBRealForceかは使うスタイルによって選択が変わる

十字キーテンキーを多用するならRealForce、それらを使わないならHHKBになる

十字キーを使わないとしてもあるに越したことはないでしょ」と言う人もいるが

HHKB十字キーテンキーが無いのでマウスを近くに置ける

プログラマーマウスを使わないとは言ったが、流石に今時のPCマウスを全く使わないことはないのでなるべく近くにある方が良い

HHKB Studioはこの考え方からThinkpadで言うところの赤ポチを搭載しているので

手を動かさずに操作をしたいならHHKB Studioオススメである

また、持ち運びをする人もHHKBが良いと言われるが、この持ち運びというのはサーバールームなどで作業する人のことを指していて

今時そんな人はほとんどいないだろうと思われる

出張などで鞄に入れて持ち運ぶのならHHKBであってもデカすぎるからやめておいた方が良い

Logicoolなんかの小型キーボードで十分である

タッチ

タッチ感は大きく分けると下記の通り

どの方式も押し心地は変わるし、やれクリック感だのタクタイル感だのリニア感だの評価している人は多いが

ぶっちゃけ慣れればどれでもそんなに問題は無い

ただストロークが浅いと疲れやすい(関節への負担が大きい)というのはあるので打鍵数が多いならストロークは深めの方が良い

後は気に入った物を使い込めばそのうち慣れる

まぁ、少なくともメンブレンとシザー/バタフライ系は2〜3年で壊れることが多いのでそのつもりで

分離式

最近キーボードを左右に分離して使う人が増えていて

人間の体の構造上手を左右に拡げる方が自然だという言説なのだがこれも好みになる

「分離式を体感したら戻れない」

いや、ちゃんと戻れる

やってみて使いにくかったらやめれば良い

個人的にはしばらく使ってみたが別に疲れにくさとか変わらないのにマウスとかの場所に困ったので普通キーボードに戻した

騒音

静電容量無接点方式メカニカル式もはっきり言ってめちゃくちゃ五月蠅い

キーボードをよく叩く人は感覚麻痺しているだろうが、一般的にはめちゃくちゃ五月蠅い部類に入る

HHKBのType-Sなんかは静音とか銘打ってるが、作ってる側も感覚麻痺していて、静かにはなったが静音とはほど遠い

かに使いたいならメンブレンしかない

まぁラップトップに備え付けのキーボード基本的に静かなのでそれを使うのが良い

まとめ

イキりたいならRazerかRealForce買っとけ

そうじゃないなら適当に買って慣れろ

2025-07-28

おすすめメーラー Notmuch

Notmuch というメーラー、とても便利ですよ。タグベースメール管理できて、検索爆速です。

私は Emacs から使っていますvim から操作できるみたい。馴染みの操作メールを読み書きできるので、とても便利。もっと広まってもいいと思うのだけどな🤔

2025-06-22

vim-jp Slack観察日記 2025/06/22

#life-money

自民党以外は皆アカで筋金入り左翼」とか主張する奴現る。

こういう人ってエコーチェンバーの中で生きてる自覚無いのかな?

よくオープンな場でこんな極端な政治観語れるな。

周囲ドン引きだよ。

2025-06-10

vim-jp slack観察日記

#hobby-gadgetにやべえ奴いるな

2025-05-30

(やや暴言Linux馬鹿臭いと思うこと

NPM

YARN

BASH

CAT

RM

VIM

これらの略し方が馬鹿臭い

これを見て一発で意味がわかる人がいるのだろうか

CATとか猫かよ

2025-05-27

anond:20250527190455

実際手が覚える範囲って鍛えればかなり能力向上するから

vimを使い続けてるから手が学習しちゃったんだろうなあ

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