大衆文化におけるEmacs登場事例
(ianyepan.github.io)- Emacsは特定のユーザー層しか使わないため、映画、TV、漫画、アニメ、ドキュメンタリーでめったに登場しない。そこで登場例を集めてみた
- 2010年の映画The Social Network、Tron: Legacy、Arctic Blastでは、それぞれPerlスクリプト作成、
eshellによるプロセス終了、Emacs Lispコード画面としてEmacsが登場する - Silicon ValleyとThe Internshipは、VimとEmacsの選択を開発者文化のジョークや対立の題材として扱い、インデントスタイルとデフォルトエディタ論争を結び付けている
- 日本の漫画やアニメ、ドイツのNetflixシリーズ、Huluのミニシリーズでは、Emacs Lisp、
.emacs、Vi/Emacsを見分ける質問、ショートカットのジョークがハッカーキャラクターと結び付けられている - テキストでの言及まで含めると、xkcd、The Cuckoo’s Egg、Neal Stephenson作品、有名なEmacsユーザー一覧にまで広がり、Emacsは開発者文化の古くからの象徴として繰り返し登場している
概要
- Emacsは大衆文化で頻繁に見かけるニッチなテキストエディタではないが、映画・TVシリーズ・漫画・マンガの中で画面上のツールやセリフとして登場する
- 本文の一覧は2026年6月時点で把握している事例を集めたもので、主な一覧は画面に映る映画・TV・漫画・マンガの事例を扱う
- 書籍中のテキストでの言及や、そのほかの間接的な小ネタはHonorable mentionsとして別に整理している
2010年の映画、The Social Network
- The Social NetworkはFacebook創業を描いた伝記ドラマ映画
- 若きZuckerbergがHarvardの寮の写真をかき集めてFacemashを作る際、Emacsを起動し、Leverett HouseのウェブサイトをクロールするPerlスクリプトを書いている
- シーンの中でZuckerbergは、「500ページを1枚ずつめくって写真をダウンロードするわけにはいかないから、Emacsを開いてPerlスクリプトを修正しないといけない」という趣旨のことを言う
2010年の映画、Tron: Legacy
- Tron: Legacyは2010年公開のSF映画で、Tronシリーズ第2作
- 冒頭の場面でEdward Dillinger Jr.がEmacsの
eshellを起動し、Sam FlynnがENCOMの新しいOS 12を攻撃するために開始したシステムプロセスをgrepして終了させる - この場面に触発され、Tron: Legacyのカラーパレットを基にしたEmacsカラーテーマが作られ、そのリポジトリはGitHubで200以上のスターを集めている
2010年の映画、Arctic Blast
- Arctic Blastはオーストラリアとカナダの共同制作によるSF災害映画
- 約20分30秒の場面で、科学者のJackとZoeが凍結したハードドライブから衛星写真を復元しようと試みる
- コンピューター画面にはEmacs Lispコードが一瞬スクロールし、Jackはほとんどのファイルが破損していると話す
;;;###autoload、interactive、save-excursionはEmacs Lispの構文として識別できる- 画面上のElispプログラムは、John Wiegleyが2001年に書いたxml-parseモジュールのソースコードである
2014-2019 HBO、Silicon Valley
- Silicon Valleyはテック業界文化を風刺するコメディシリーズで、ソフトウェアエンジニアの生活、VC資金調達、スタートアップと大企業の対決を扱う
- シーズン3第6話でRichardとWinnieは、コーディング中のスペースとタブの使用をめぐって衝突する
- Richardはインデントにタブ文字を使うことにこだわり、「なぜタブではなくスペースを使うのか分からない。EmacsではなくVimを使うのと同じだ」という趣旨のことを言う
- Winnieは「私はEmacsよりVimを使う」と答え、Richardは「Oh, God help us!」と叫ぶ
- この場面は、インデントスタイル論争の最中にエディタ戦争を短く差し込んだ例である
- シーズン4第2話では、Pied Piperチームが製品機能のアイデアをブレインストーミングする場面の黄色いポストイットにEmacs keybindingsが見える
- Emacsのキーバインドはbashやzshのようなシェルのデフォルト行編集モードであり、macOSも
C-a、C-e、C-kなど多くのキーバインドをテキストフィールド全般でサポートしている
- Emacsのキーバインドはbashやzshのようなシェルのデフォルト行編集モードであり、macOSも
1992-1993 DC Comics、The Hacker Files
- The Hacker Filesは、フリーランスのハッカーが多国籍の陰謀を暴き、邪悪な企業を打ち倒す全12巻のDCコミックスのミニシリーズ
- 第1号で主人公Jack Marshallは、コンピューターウイルスに対抗するためEmacsでソースファイルを編集する
- コミックスにはエディタのユーザーインターフェースは描かれず、
emacs cure.cコマンドだけが登場する
2013-2019 マンガ、Ōsama-tachi no Viking
- Ōsama-tachi no Vikingは、高校生ハッカーが裕福なエンジェル投資家と手を組み、世界秩序を変えようとする日本のマンガシリーズ
- あるページでは、敵のハッカーがEmacs Lispを使って監視カメラをエクスプロイトする
- 画面上のコードは普通のLispに見えるかもしれないが、
pcaseとseq-mapはEmacs固有の構造であるpcaseはpcase.el由来で、Emacs 24.1から一部になっているseq-mapはseq.el由来で、Emacs 25.1から一部になっている
seq-mapは実行性能の面ではmapcarやcl-mapより好まれないかもしれないが、その場しのぎのハッキングスクリプトでは微細な最適化より動くかどうかの方が重要である
1994-1996 OVA、Key the Metal Idol
- Key the Metal Idolは1990年代の日本アニメシリーズで、ロボット少女Tokiko “Key” Mimaの物語を追う
- 作品はメカとSF要素を含むややダークなドラマとして描かれる
- 第9話
Returnで、謎の人物“D”はコンピューターターミナルしかない独房に閉じ込められる - クローズアップの場面でDがリターンキーを押すと、端末画面にEmacs Lispコードがスクロールする
save-excursionとset-bufferはEmacs Lisp専用のキーワードなので、他のLisp方言と区別できる
2013年の映画、The Internship
- The Internshipは、40代の営業マン2人がGoogleの仕事を得るため、より若く技術に熟達した応募者たちと夏の間競い合うコメディ映画
- Googleの実際のソフトウェアエンジニア生活の描写にはいくつか不正確な点があるが、気軽に楽しめる映画として評価されている
- Nick CampbellはGoogle幹部のプレゼン中に、「UbuntuのデフォルトエディタとしてなぜViではなくEmacsを使わないのか」と質問する
- 幹部は「とても良い考えだ」と答え、その場面のプレゼンスライドはソースコードエディタの人気を比較している
2014-2015 アニメ、Aldnoah.Zero
- 日本のSFアニメAldnoah.Zero第5話では、2機のメカの戦闘中にEmacsとEmacs Lispが一瞬映る
- 画面右下では、パイロットが
.emacs初期化ファイルの問題をデバッグしているように見える .emacs初期化ファイルをバックアップして新しく始めることは、.emacs bankruptcyという表現と結び付いている- その後の画面にはEmacs Lispの断片が現れ、
progn、insert、beginning-of-line、forward-charといったキーワードを確認できる
2017年のドキュメンタリー、AlphaGo
- AlphaGo - The Movieは、Google DeepMindが開発したAlphaGoがAIで囲碁を学び、トップ棋士のLee Sedolと対局した過程を扱う受賞ドキュメンタリー
- ニューラルネットワークとは何かを説明する導入場面で、ソフトウェアエンジニアがEmacsでLuaを書いているUbuntuデスクトップ画面が映る
- そのエンジニアは、Gnome Terminal内のTmuxでTUI版Emacsを使っているように見える
- 画面はUbuntu標準のターミナルアプリ、標準のUbuntu Monoフォント、GNU Emacs標準のダークテーマを使っているように見える
- 背景色は
nilに設定されており、端末の紫色の背景がそのまま見えている
2019-2025 Netflixシリーズ、How to Sell Drugs Online (Fast)
- ドイツのNetflixシリーズ**How to Sell Drugs Online (Fast)**シーズン2第1話には、Emacs支持者で優れたハッキング技術を持つKiraが登場する
- KiraはViには2つのモードがあるとして、「ずっとビープ音を鳴らすこと」と「すべてを壊すこと」だと冗談を言う
- デート相手のLennyは、Emacsの方が優れているのはショートカットを打っているうちに手がもげる前までだ、という趣旨で言い返す
- その後Lennyは顔にフライドポテトをぶつけられる
- Emacsのデフォルトショートカットをめぐって、ViユーザーとEmacsユーザーが互いにからかい合う場面になっている
2023 Huluミニシリーズ、A Murder at the End of the World
- A Murder at the End of the Worldは、殺人ミステリーと心理スリラーの性格を持つTVミニシリーズ
- ある場面で主人公Darby Hartは、ある女性に突然「Vi派、それともEmacs派?」と質問する
- 質問の目的は、相手が目立った反応を示すかどうかを確かめ、反応がなければハッカーではない可能性が高いと判断することにある
- 関連GIFはXenodiumの記事Are you Vi or Emacs?から取られている
2002年のポーランド映画、Haker
- Hakerは、ハッキングへの情熱を共有する高校生の友人2人が本物のギャングたちと関わることになるポーランドのコメディ映画
- ある人物がファイアウォール突破に苦労すると、別の人物が「sendmail経由でEmacsを試したか?」という趣旨の提案をする
- Emacsはsendmail経由でメールを送れるが、それは電子メール送信であってファイアウォール侵入技術ではない
- sendmailは歴史的に脆弱という評判があり、元のポーランド語のセリフに対する英語字幕の翻訳が正確でなかった可能性も指摘されている
- 「Emacsとメールでハッキング」という表現は非現実的に聞こえるが、The Cuckoo’s Eggの事例につながる実際の歴史もある
Honorable mentions
- xkcd #378, Real Programmersは、「本物のプログラマは蝶を使ってディスクのビットを反転させる」という有名な漫画で、「もちろんEmacsにはそれをやるコマンドがある… 古き良き
C-x M-c M-butterflyだ」という一文で終わる- Emacsはその後、この漫画へのイースターエッグとして実際に
M-x butterflyコマンドを追加した
- Emacsはその後、この漫画へのイースターエッグとして実際に
- Clifford Stoll, The Cuckoo’s Egg (1989) は、Lawrence Berkeley Labに侵入したハッカーを追跡した一人称の記録である
- ハッカーはGNU Emacsの
movemail関数のセキュリティホールを悪用してスーパーユーザー権限を獲得した movemailはroot権限で実行され、保護されたシステムファイルを上書きするようだますことができた
- ハッカーはGNU Emacsの
- Neal Stephenson, In the Beginning… Was the Command Line (1999) は、Emacsを愛情のこもった段落で扱い、「熱核ワードプロセッサ」や「真昼の太陽が星を圧倒するように他の編集ソフトを圧倒する」という表現を使っている
- Neal Stephenson, Cryptonomicon (1999) では、Randy WaterhouseがOrdoemacsを使う
- OrdoemacsはEmacsの改変版で、すべてのファイルをディスクに書き込む前に暗号化する
- 有名なEmacsユーザー一覧にはDonald Knuth、Guido van Rossum、Yukihiro Matsumoto、Simon Peyton Jones、Jeff Dean、Jonathan Blow、Julian Assange、Linus Torvaldsらが含まれる
- Linus TorvaldsはGNU Emacsではなくmicro-emacsを使う点で区別される
1件のコメント
Hacker Newsのコメント
Elif Batumanの2017年の小説 The Idiot には、純真なHarvardの学生と曖昧な恋人Ivanが登場し、数学科の学生であるIvanがEmacsを熱っぽく説明する
舞台は1995年で、本は面白かった。評価も高く、Pulitzer Prizeの最終候補にもなった
面白いことに Arctic Blast のスクリーンショットは、Audacityオーディオエディタの上にEmacsを重ねたように見える
https://ianyepan.github.io/images/arctic-blast-emacs.png
似た例として Nmap In The Movies がある
https://nmap.org/movies/
How to Sell Drugs Online Fast は、Vueフロントエンドのテストが通らなければならないことを繰り返し強調していて、素晴らしいドラマだった
ドラマや映画にコードが出てくると、いつも本物なのか気になるが、たいていは複数の言語がごちゃ混ぜだったり、ただ意味不明だったりする。最近見た Nirvana 1997 もかなり良かった
https://www.theterminatorfans.com/the-terminator-vision-hud-...
https://www.reddit.com/r/popculturechat/comments/1b8xawt/kel...
ほとんどがカナダで撮影されていたのだから、むしろふさわしい
コード一覧が画面に映ると、実際には BASICのREM文 が5画面分くらい続いているだけだ。この映画は、主にOffice Spaceのあるジョークの前振りをするために存在している映画でもある
特に、サイトのアイデアを考えながら PGP や onionサービスのようなメモを残す場面が良かった。Lennyがコードを書いたと気づくくだりも良かった。JavaScriptでsnake_caseを使う世界で唯一の人間だったからだ。自分もsnake_case異端派なので、なおさらうれしかった
Cryptonomicon には、OrdoEmacsという高度にカスタマイズされたEmacsが登場する
https://dev.to/hyenast2/neal-stephenson-s-cryptonomicon-and-...
実際に打ち込んで修正し、動くようにした記憶がある
ただ、彼のほうが先にそこにいたようではある
数年前にEmacsをやめてVSCodeに移ったが、この投稿を見て、毛を刈ったヤクの群れをまた連れ出して TypeScript開発 をEmacsでやってみるのが正気の沙汰なのか気になってきた
VSCodeに移行した当時、EmacsでのTypeScript体験は本当にひどく、VSCodeでTSをやるのは啓示のように感じられた。2018年か2019年以降なら、Emacsにも決定版のTS解法ができているはずだよね?
うまく動くよ。フロントエンドの専門家なら見方が違うかもしれない
面白い一覧だけれど、AlphaGoのドキュメンタリー を大衆文化と見なしていいのかはよく分からない
vi対Emacsについて人々が語るやり方も興味深い。vimではなくviを選んだ人に会った記憶がないし、そんな論争が成り立つほどの人数はなおさら見たことがない
コンソールでの開発時間の大半を*BSDで過ごしていて、そこで nvi に落ち着いた。vimの標準的な便利機能は邪魔に感じるので、もっと静かに設定しなければならないし、nviでは足りないと思うほど魅力的なvimの機能もよく知らない。vimはインストールしてあるが、デフォルトの選択肢ではない
ただし、viにも利点はある。ずっと軽い。vimはサイズが約 5.4MiB で共有ライブラリ依存が82個ある一方、vi[1]は約260KiBでライブラリ依存は2個だけ、libcとncursesだ
[1] https://ex-vi.sourceforge.net/
派手な色づかいなどは不要だ。Debian/Ubuntuならvim.basicよりvim.tiny寄りだ
2002年のポーランド映画 Haker という珍品があるが、いろいろな理由で埋もれており、良い意味ではない
MST3K的なB級映画のように偶然おかしいのでもなく、ただ本当にひどい。この宝石のような映画には、あるシステムをハックする会話が出てくるのだが、ある人物が「Sendmail経由でEmacsを試したか?」という、完全に意味不明な半分専門用語みたいな質問をする。冗談ではない。この表現はポーランドの技術者の間で、自分が何を言っているのかまったく分かっていない人を指したりからかったりする言い回しとして定着した
上司がデータベースを調べろと言いながら、「mauve has more RAM」と提案する場面だ
Emacsという名前の猫を飼っている
Deldo - Vibration Control and Teledildonics Mode for Emacs
https://www.youtube.com/watch?v=D1sXuHnf_lo
Interview with an Emacs Enthusiast [Colorized]
https://www.youtube.com/watch?v=urcL86UpqZc
Writing an Emacs implementation in C (Gosling Emacs) | James Gosling and Lex Fridman
https://www.youtube.com/watch?v=wA7aB-oxjVc