Power Mac G3 ROMに27年前のイースターエッグを発見!
引用元:https://news.ycombinator.com/item?id=44365806
昔のPCイースターエッグって、すごい人間味あって開発者の顔が見える感じがいいよね。昔は変態オタクたちの情熱プロジェクトだったのに、今はプロダクト責任者が全部管理して人間味をなくしたがるんだから。もしiPhoneで開発者リスト見れたら最高なのに、きっと偉いプロダクト責任者様のお気に召さないんだろうね。
Agileになる前はこういうの多かったのかな?締め切りに追われてるとさ、他のチーム待ちとかで手待ち時間できたりするじゃん?バックログもそこそこしかいじれないし、暇つぶしに「どうせロードマップには影響しないし」って感じで、こういう余計なもん作る動機と機会が増えたのかもね。
今どきなら監査人(俺みたいにね)がITGC違反だ!って騒いで、SOCに報告書出させたり、Secure Design Document更新させたり、JiraとかServiceNowでチケット切らせたりするわけよ。おまけに”HR P&D record”に”Secure Software Policy”違反でバツつけられるだろうね…(書くの嫌だったけどマジの話)。でも2001年なら「すげー!」って笑ってたのに!
組織ってさ、色々頑張ってるのに何故かうまくいく「秘訣」みたいなのがあるんだよね。あなたがいなくても勝手に成功し続けるもんだけど、少なくともあなたは良心に従って箱を抱えて出ていける。同じテクニックで悪さもできるけどね。
最悪!この狂気、終わらせるためにもソフトウェア会社なんて「一人ユニコーン」にまで縮小しちゃえばいいんだ。プロダクト組織の政治的な合意なんかより、小さな作者(auteurs)の趣味優先でいいじゃん。(デザイナーが新しいデザイン言語!とか言い出す度に変えられるのも嫌だし)。
その一方で、本当のバグ(セキュリティ問題)とかは、よく見過ごされてるのにね。
>”HR P&D record”ってね。
HRにエンジニアリングの口出しさせたら、そりゃ破綻するわな。
IP弁護士もほとんど同じくらいタチが悪いね。会計士は残念ながら3位かな。
>”HR P&D record”に”Secure Software Policy”違反でバツつけられる
なんて素晴らしい時代に生きてるんだろうね…(皮肉)。
うん、そうそう。連邦政府はね、Win/9xからイースターエッグ削除したバージョンに、追加でお金払ってたんだよ。
へー、イースターエッグってビジネス価値もあるんだね。
昔は自分もイースターエッグ仕込んだりしたけど、今のソフトは複雑だし、失敗のリスクもあるから難しいよね。それに、もう仕事でくだらない事する時間も無い。いつも120%稼働してる感じだよ。
イースターエッグの良い場所はまだあるよ。昔テクニカルライターだった時、ドキュメントに楽しい事いろいろ仕込んだな。誕生日とかインジョークとかね。コードに何か素敵なものを隠すのを恐れちゃダメ!UFS2のヘッダーには作者の誕生日が入ってるし、OpenVMSにも面白いExit Codeがあるよ。
[0] https://en.wikipedia.org/wiki/Marshall_Kirk_McKusick
[1] https://www.parsec.com/os/openvms/undocumented.php?page=13
>コードに何か素敵なものを隠すのを恐れちゃダメ。
それ、自分のコード?それとも雇い主のだ?
だって、何年も経ってから来たエンジニアが、前の人が残したイースターエッグのせいで何時間もデバッグに費やしたら、みんなブチギレるよ。
イースターエッグは、チームがずっと同じで同じ製品を作ってた時代には良かったけど、今はすぐ人が変わるから負債でしかない。
>いつも120%稼働してる感じだよ。
それ、燃え尽きるってことじゃない?自分をちゃんとケアしないと、他のことだってケアできないでしょ。
edit: あ、遅れてごめんね、まあいいや。
ほんとそれ。他のエンジニアと話しても、今これが普通みたい。なぜか今、企業に完全に弱みを握られてる感じだよね。
>iPhoneに開発者を表示するイースターエッグが欲しい
願い事には気をつけなよ。新しいMacで特定のホットキーを押したら、Craig Federighiの胸毛モリモリな全身ポートレートがフルスクリーンで出てきて、胸毛に無限ズームできる(5GBダウンロード)とかになるかもよ。
あなたのProduct Peopleへの変な不満は何?これProduct Managementとは全く関係ないよ。
ソフトウェアは昔は数人で作ったけど、今は組織全体で数千人が関わってる。良かれ悪かれ、それが現状。
数人だけハイライトするイースターエッグは、今の巨大なソフトウェアプロジェクトでは意味をなさないね。
イースターエッグに表示される人数が少ないって意見もあるけど、開発に関わった一部の人をランダムに見せてるとか、数千人の名前や顔を素早く表示するとかやり方はいろいろあるでしょ。人数の問題ってより、品質管理とか他の理由の方が正確な気がするな。
プロダクトマネジメントってより、品質管理の問題だよね。
そうそう、品質管理とリスク管理だね。コードに秘密を埋め込むせいで、ビルドや製品を台無しにするリスクは避けたいもんね!無害だと思ってたコードで大失敗した経験は誰でもあるでしょ。
でもさ、イースターエッグは前の製品サイクルの最後に作って、次のサイクルの最初に入れるから、コードに仕込んでからリリースまで「じっくり寝かせる」時間は十分にあるんだよ。
ソフト開発にもっと遊び心が戻ってほしいのはわかるけど、リスクはマジで現実にあるよ。過去にはイースターエッグとかで結構な問題が起きた例もあるし(GMail「mic drop」、Spider-Man PS4のプロポーズネタ、GTA Hot Coffeeとか)。
リスク管理的に言うと、将来問題を起こすようなヤツの名前や写真が埋め込まれる可能性もあるわけ。「人間味」ってのは、良い面ばっかりじゃないからね。
リスクを徹底的に避けすぎると、製品から魂が消えるんだよね。ビジネス的にはアリでも、それが80~90年代のAppleにあった魂が今のAppleにない理由だと思う。今のAppleがデザインとかブランディングで無理やり「魂」を演出してるのが、逆にイラつくんだよな。エイプリルフールも同じで、安全策取りすぎてつまらなくなった。
昔Appleにいたハードウェア設計の同僚が、ハードウェアチームの血と汗と涙の努力が無視されて、ソフトチームだけがROM容量使って手柄を独り占めしてるのにキレてたって話を聞いたことあるよ。
これって結構クールだし、会社の後ろにちゃんと人間がいるんだってわかるよね。Zuckみたいなお金持ちが「俺が作った」って手柄を奪う中、名もなき開発者たちが「いや、魂込めたのは俺たちだよ」って証を残す。もちろん、Steve Jobsなら絶対許さなかっただろうけどね。
ジョブズって嫌いじゃないけど、時々描かれる悪役よりずっと複雑な人だと思うんだよね。この話題で言えば、むしろイースターエッグの生みの親の方だよ。
https://www.folklore.org/Signing_Party.html
だから「もちろん」禁止なんて話じゃない。Microsoftだって2000年代初頭には「イースターエッグなし」ポリシーだったし、ジョブズだけの話じゃないんだ。
勘弁してよ。危機に瀕した Apple に戻ったジョブズが、そんな秘密の assembly code に埋もれた obscure な ROM image について personally 知ってた可能性は低いって。たぶん、そういう “real people” の誰かが cleanup の時に削除したんだろ。ジョブズは Apple で働く amazing な人たちのことを routinely かつ publicly 話してたし、Walt Mossberg とも great team を作って creativity を育むのがどれだけ大事か話してたじゃん。
これは最後の “OldWorld” Mac (少なくとも desktop Mac で、WallStreet PowerBook G3 はもうちょっと後かな) で、traditional な Mac ROM が actual な hardware ROM に入ってたんだよ。“NewWorld” は iMac から始まって、ROM には Open Firmware だけで classic Mac OS ROM は disk 上の file だった。HW/SW team が新しい Mac を shipping して ROM を焼くときは team の写真を入れる occasion って感じだけど、ROM を焼かないで写真がみんなの disk 容量を取るとなると…そんなにね。
もっとコメントを表示(1)
すごく限られた ROM の容量を使う方が、人の HDD の容量を取るよりなんで worse なの?
physical な ROM chip は certain な size なんだよ。50kB 余ってたら、その bit が zeros だろうと easter egg だろうと matter しない。
それで、人の harddrive で 50K 使うのが mortal sin なわけ? 50Kだよ。誰も notice しないって。
これは back when people still used 1.44M floppies to boot in an emergency の頃の話だよ。
「Microsoft が “no easter eggs” policy を starting in the early 2000s」って話だけど、これは multiple major XP security issues があった summer の aftermath だったんだ。
G3 では関係ないよ。これらの system は Mac OS 8 を ship してたし、System suitcase だけで 6 MB 超だった。Apple は internal floppy drives 付きの system の ship を altogether 数年後にやめたんだよ、iMac と blue-and-white G3 でね。
ベージュG3でも軽量版Mac OS 8はフロッピーから起動できたよ。Appleも”Disk Tools”として提供してたんだ。
利益ってのはタダ働きさせた分の搾取だって考えもあるけど…Metaみたいな高給だと、Mad Menの「それがカネってもんだろ!」ってセリフを思い出すね。仕事の評価ってより、カネでしょ!
ああ、読んだよ。上の人の「Macの功績を巡る嫉妬が原因」って示唆に返信したんだ。彼の貢献者への評価姿勢は、その見方を否定してるよ。たぶんMicrosoftが後でやったみたいに、Appleが”真剣”な会社って見られたいビジネス的な理由だろ。—Edit: 2012年のGizmodoによると、Jobsはヘッドハンティング対策って言ってたらしい。Appleがヤバい時、競争相手を助ける意味はないってね。あと、Cupertinoで作ったものは全員の責任とも言ってた。80年代とは全然違うね。
Microsoft XPでイースターエッグが原因のセキュリティ問題って、ポリシー変更の前はあったの?それとも単に導入しやすかったからそのポリシーになったの?
それなら、後に起きた巨大なハイテク産業の賃金抑制スキームを考えると納得できるね。https://en.wikipedia.org/wiki/High-Tech_Employee_Antitrust_L…
うん、物理的な”署名入りケース”も普通のソフトウェアのイースターエッグとは違う点があると思うよ。
- 効果がハッキリしてる
- 変な副作用の可能性はほぼゼロ(まあ深すぎるとケースが弱くなるかもだけど…)
- 見つけた人が意図を理解しやすく、明らかに無害
- シニアの承認なしにこっそり入れられるもんじゃないから、増えすぎたり複雑になったりするのを抑えられる
こういう点が、ポリシーでソフトウェアのイースターエッグを禁止しつつも”自分の仕事に署名する”のを支持するのが両立する理由を説明してるんじゃないかな。
Microsoftの史上最高のイースターエッグはC:\CON\CONだったね。
32KのROMが必要でコードが26Kなら、誰もアクセスできない6Kの空きがあるってことだよね。イースターエッグに使わない手はないだろ?
Jobsは”Driven”だったね。”Driven”ってのは良い面も悪い面も色々ある。動かないでウロウロしてる奴は邪魔されちゃうってこと。やるべきことがある時に何もしないのは中立じゃなくて、邪魔なんだ。だからそういう奴は”Driven”な奴の敵になっちゃう。
私もそれ言いに来た!
もしイースターエッグで脆弱性が見つかったらどうする?そういう包括的な方針は、リーダーシップが最初に出す文書だよね。
政府との契約に関係してるんじゃない?ああいうのって、全ての行動を文書化する必要があるからさ。
面白いことに、Disk Tools 8.1フロッピーのSystemファイルは、実はSystem 7のビルドにHFS+を移植したものなんだ。
https://github.com/elliotnunn/HFSPlusBackport/blob/master/re…
Apple、まだMacOS 8.1用のDisk Toolsフロッピーのダウンロードを提供してるんだって!
https://download.info.apple.com/Apple_Support_Area/Apple_Sof…
OS 8ってCDで出てなかったっけ?俺、DVDドライブからインストールした記憶だけど。
G3をどんだけ古いと思ってんだか知らないけど、フロッピーからインストールするほど古くないって。ぎりぎりだけどね。
Steve Jobsが言ったとしても、そんなの無意味だよ。
どの企業の役員だって『素晴らしい社員』とか『チーム作りと創造性の重要性』なんて言うじゃん。
言葉だけならタダだし、企業イメージを出すのが仕事だからね。
イースターエッグ自体が直接セキュリティ問題を引き起こしたとは思わないけど、ポリシーは『Trustworthy Computing』イニシアチブの一環として発表されたんだ。
ちょっと厳しすぎるように見えるけど、当時のWindowsとOfficeのセキュリティ状況は最悪で、Microsoftにとって存続の危機だったって背景を思い出すのが大事。
『イースターエッグ禁止』は、コードベースへの実際の影響よりも、むしろ会社の姿勢を見せるためのものだったと思うよ。つまり、『書かれたコードは全て把握していて、説明できないものはない』ってシグナルを送るためだね。
コンピュータ業界がすさまじく成長したことも考慮に入れるべきだと思うな。
80年代半ばと90年代後半の主要なコンピュータ企業のCEOでは、責任のレベルが全く違う。
趣味や中小企業向けの環境で許容されることと、エンタープライズ以上で許容されることは全然違うんだよ。
US governmentに何かを売らなきゃいけなくなるまでは、全部お遊び気分でいられるけどね…
Amigaの「We made the Amiga, they f—-d it up!」ってメッセージを思い出すな。https://arstechnica.com/gadgets/2007/12/amiga-history-part-5…
同感!最近は小さいプロジェクトでしか見つからないかもだけど、大きいのでも見たいな。子供の頃はイースターエッグを見つけるためだけにその製品をもっと使ったりしてたよ。最近のAndroidのイースターエッグでさえ、開発者機能を解除しないといけない割に、ユーザーとのやり取りが期待外れなくらい質素で残念だね。隠された喜びの塊が以前ほど人気がないのが悲しいな。
FILE_ID.DIZにも小さいのがあったよ。https://raw.githubusercontent.com/tirrenotechnologies/tirren…
誰かが昔iPadのplaygroundアプリでちょっとコード書いて、ROMから次のロゴとかを引き出せるイースターエッグをシェアしてたな。その時再現したけど、それ以来参照を見つけられないんだ。たしか6年くらい前のことだよ。
すごいね!このイースターエッグのトリガー機構を見つけるのにそんなに時間がかかったなんて面白いな。リバースエンジニアリングって大変だね。ところでREってどこで学べるんだろう?何から始めればいいの?オンラインチュートリアルとか本とか何かおすすめある?
REを始めるならビデオゲームがいいよ、特にNESみたいな古いコンソールがね。実験の影響がすぐ目に見えるし、シンプルなデバイスだし(現代のプログラマーにはハードウェアの”API”はかなり直感的じゃないけど)、ハッキングやリバース用のツールもたくさんあるんだ。Mesenでお気に入りのNESゲームを読み込んで、nesdev.orgを開きながらデバッグツールをいじってみなよ。もし作業してるゲームが他の誰かにリバースされてるなら、https://datacrystal.tcrf.net で役立つ情報が見つかるかもね。最近のソフトウェアをリバースするのは難しいよ。ちょっと前にGamecubeのゲームをハックした記事をいくつか書いたから、興味があれば見てみて。記事: https://www.smokingonabike.com/2021/01/17/hacking-super-monk...https://www.smokingonabike.com/2021/02/28/hacking-super-monk…関連のHN議論: https://news.ycombinator.com/item?id=26315368
ビデオゲームってのに同意!最近古い3DOゲームで”開発者の写真挿入”イースターエッグを見つけたんだよ。これね: https://32bits.substack.com/p/under-the-microscope-total-ecl…
もっとコメントを表示(2)
作者の功績を貶すつもりはないけど、こういう発見をシェアするのはいつもクールだよね。でも、これ27年以上も誰か積極的に探してたのかな?
コードを掘り下げるのを試みる最初の人が見つけるってことが多いんだ。特にGhidraで人気のないアーキテクチャの逆コンパイルがずっと簡単になってからはね。やってみたら?簡単なのがたくさんあるよ!俺も少し前に別のケースを提出したことがあるんだ。
あと幸いなことに、他のOSのイースターエッグを考えると、難読化はされてないみたいだね。例えば、”サポートが悪い実行形式のビットマップリソースに保存されたチェーン化されたxor”みたいなのとは違ってさ。https://x.com/mswin_bat/status/1504788425525719043
> これはたぶんSteve Jobsが1997年にAppleに戻ってイースターエッグを禁止したとされる前の、Macに存在した最後のイースターエッグの一つだろうね。
みんなSteve Jobsを本当に神格化しがちだけど、どうかな。俺はMacが砂漠をさまよってた時代もかなり好きなんだ。こういうのを読むと、たとえネットでプラスだったとしても、彼の復帰でAppleの文化とアイデンティティが何かを失ってしまったように感じるよ。
私は大のSteve Jobsファンだけど、1985年から1996年までのAppleの「interregnum(空位期間)」と呼んでる時代も好きなんだ。
Sculley、Spindler、Amelioは最高のリーダーじゃなかったし、AppleはPink/Taligent、Copland、PowerBook 5300みたいなハードウェアの失敗で盛大につまずいたね。特に1995年はAppleにとって悲惨な年だったんだ。
でも、この時代には素晴らしいこともたくさんあったんだよ。
Jean Louis Gasséeは拡張可能なMacを主張して、Macintosh IIにつながり、それは2013年の「ゴミ箱」Mac Proが出るまで途切れなかったんだ。
System 7は一番安定してなかったかもしれないけど、UIは素晴らしかったし、Don NormanとBruce TognazziniはしっかりしたUI/UX原則を推進したんだ。
HyperCardもこの時期だし、Larry TeslerやAlan KayたちがいたAppleのAdvanced Technology GroupはDylan言語やSK8環境みたいな面白いプロジェクトに取り組んでたよ。
OpenDocもコンポーネントベースのソフトウェアプラットフォームを作ろうとする面白い試みだった。
あと、Mac OS Xへの移行期に失われちゃったクラシックMac OSの心地よくて気まぐれな感じもあったんだ。Mac OS Xにはすごく感謝してるんだけどね。
私は「interregnum」時代のAppleも、Steve Jobsが戻ってきた1997年から2011年のAppleも好きなんだけど、Tim CookのAppleはあまり好きじゃないんだ。
この頃にAppleはそのルーツから劇的に変わっちゃったなって感じたんだよね。
Appleは過去最高の収益を上げてるけど、Macには1990年代や2000年代にあったのと同じ感覚がもうないんだ。
AppleはもうMacカンパニーじゃなくて、今はiPhoneカンパニーになっちゃったね。
>Mac OS Xへの移行期に失われちゃったクラシックMac OSの心地よくて気まぐれな感じもあったんだ
そうなんだよ。
サウンドやウィンドウカラーみたいなのをカスタマイズできるのがすごくパーソナルで楽しかったんだ。ゴミ箱を空にするたびにOscar the Grouchが歌うとかね。
あの気まぐれさや驚きこそが、現代のコンピューティングに欠けてるものなんだ。デバイスはより個人的になったのに、より無菌的になっちゃったね。
CookのAppleはゆっくりとサービス企業に変わっていってるんだ。
サービスの収益はMacとiPadの収益を合わせたよりも高いんだよ。
利益率も高いし、それが重要なんだ。
アメリカでのサプライチェーンの不確実性の傾向が続くなら、Appleはユーザーに少なくて高価で利益率の低いApple製品を買ってもらうことを期待しなきゃいけなくなるかもしれないね。
でも、これらの購入が月額サービス購読に誘い込めるなら問題ないんだ。
iPadを1台しか持ってない人でも、デバイスの寿命全体で見ればハードウェア自体よりソフトウェアサービスにお金をかけるかもしれない。
それは sfruttare(利益を得る機会)なんだ。同時に、人々がとても愛してる高級ブランドのハロー効果も維持できる。
「サービス企業」っていう特徴づけは、Appleがまだたくさんの製品を持ってることを強調するために使われるけど、これが始まりなんだよ。
破壊的なイノベーションへの投資が減って、新しいAppleTV+のエピソードやApple Arcadeでのパブリッシングにお金が注ぎ込まれるようになるんだ。
Apple Car、Airpower、そしておそらくVision Proも浅い墓に埋もれてるし、AIがAppleの技術的な輝きの後継者になりつつあるね。
メッセージは明確だよ:ソフトウェアを売ることがAppleの目標なんだ。
人々はサービスと聞いてApple MusicやApple TVなんかを思い浮かべるけど、実際にはその「サービス」収益の200億ドル/年は、GoogleがAppleにデフォルトの検索エンジンであることに対して払ってるだけなんだ。
「サービス」収益の大きな塊で、みんながあまり考えないもう一つはAppleCareだよ。
1985年にはKinko’sに誰でも使えるMacのバンクがあったんだ。
私はいつも遅い時間に行けば空いてるだろうと思ってたけど、いつも利用されてたね。
Jony Iveもinterregnum時代に雇われたんじゃないかな?
Isaacsonの伝記で、Jobsが90年代後半に戻ってきたときに、1〜2年前に雇われてたIveに出会ったって読んだ覚えがあるんだ。
そうだよ、AppleはGil Amelioの下で、Jony IveがデザインしたeMate 300を出したんだ。半透明の緑色のプラスチックのやつね。
https://upload.wikimedia.org/wikipedia/commons/f/fa/Apple_Ne…
Jony IveがeMate 300をデザインしたなんて知らなかったよ!
小学校で大好きだったんだ。1999年から2001年頃、Sacramento郊外のElk Grove, CAで、授業で短い作文を書くのに使ってたんだ。
うん、Jony IveはSteve JobsがAppleに戻る前に雇われてたんだ。実際、20th Anniversary Macintoshも手掛けたけど、彼一人じゃない。俺の記憶だと、Jobsが戻る頃Iveは辞めようかと思ってたらしいけど、意気投合して、後は歴史になった。IveのデザインとJobsの後押しでAppleはiMacから復活したってわけさ。
PowerBook 5300みたいなハードウェアの大失敗には、30年経った今でもゾッとするよ…俺のがどれだけひどいゴミだったか。使ってた時間よりAppleCareにいる時間の方が長かったな。
初期のコンピューティング時代はチームがすごく小さかったのがいつも興味深いんだよね。どうにかしてあの頃に戻れたらいいのにと思うよ。
Windows 98やXPの頃、Adobe photoshopとか他のソフトのヘルプ→バージョン情報にイースターエッグがあったんだ。ダイアログ開いてCtrl + Alt + Shift + Enter(多分)押すと、クレジット高速表示やジョークとか。Adobe以外にもあった。適当なツールで試してよく見つけたけど、いつの間にかなくなって、俺も探さなくなったね。
90年代にMacWorldを読みに図書館に行ってた思い出。そんで、いくつかのクリックとキー操作でプロセッサの何かをアンロックできるって知ったんだ。何がアンロックできたか全く思い出せないけど、Apple IIciの33mhzプロセッサのことだったな。
一番好きだったのはSystem 7.5で”secret about box”っていうテキストクリッピングをデスクトップにドラッグすると、開発チームの名前が“ブロック”になってブレイクアウトゲームが始まるやつだな!楽しい時代だったよ。
モニターをカラーにして日付を1989年9月20日に設定。そんで⌘-⌥-C-Iを押しながら起動すると開発チームの画像が見れるんだ。
https://compmuseum.org/blog/iici-easter-egg/
これすごいね。こういう古いマシンってイースターエッグを作ることと発見することの両方を刺激する何かがあるんだよ。30年後にMacBook AirのEFIとか掘り起こしてる人がいるとは思えないな。もし何か見つかるものがあったとしてもね。
前のコメントであった、「もし何か見つかるものがあったとしても」だけど、そこなんだよね。誰かが探してみるまで分からないんだよ。