今朝は、いつもの木曜日の朝と何ら変わらない始まりだった。お腹が空いて、コーヒーが欲しくて、Slackで朝のブログ記事を書くために、ゴミ山積みのニュースをかき集めていた。すると、まるで魔法のように、同僚が「最高のピーナッツバター&バナナサンドイッチ」というブログ記事へのリンクをシェアしてくれた。
このブログは、完璧なピーナッツバターとバナナのサンドイッチに焦点を当てています。これはSquareのデータサイエンティスト、イーサン・ローゼンタール氏の発案によるもので、隔離期間中に一人の男性が、エルヴィス・プレスリーも認めた定番のピーナッツバターとバナナのサンドイッチにおいて、一枚のバナナスライスの「覆い具合を最大化する」機械学習モデルを構築するという崇高な探求を詳細に描いています。ローゼンタール氏が説明するように、問題はバナナがまっすぐな果物ではないことです。楕円形で、大きさも様々であるため、バナナを均一なスライスに切るのは非常に面倒です。
ローゼンタールの解決策は、パンとバナナの写真を分析し、バナナをどの角度で切るか、そしてバナナの円盤をパンのどこに置けば最もよく覆われるかを教えてくれる機械学習モデルを作ることでした。これは馬鹿げているでしょうか?はい。私の内なる非合理的な完璧主義者の心に響いたでしょうか?もちろんです。
https://[削除されたリンク]/china-bans-videos-of-people-eating-bananas-1775218100
実は私も、ローゼンタールのようにバナナのスライスが不均一になってしまうことに、なぜか激怒しているんです。1週間前に焼いたバナナクリームパイが、そのせいでほぼ台無しになってしまいました。それに、午前9時が近づき、お腹が鳴り始めていました。編集者から、プログラムをダウンロードして自分で試してみて、ブログに書いてみたらどうかと提案されました。ブログのためなら何でもするのですが、少なくともこれなら朝食も食べられる、と心の中で思いました。
少なくとも私はそう思っていた。自分のバカさ加減を忘れていた。これまで受けたプログラミングやコンピュータサイエンスの授業は、ことごとく落第寸前だったのだ。RosenthalがGitHubで提供していた手順は意味不明だった。コーディングが下手なわけではないウェブ開発者の親友に助けを求めた。彼女は聖人ぶっているので、GitHub、HomeBrew、Anaconda、Cmake、Boostのダウンロード手順を丁寧に教えてくれた。もっとも、私の方にもいくつか間違いはあったが。pip install が一体何なのか、いまだによくわからない。でも、まあいいか。午後1時20分(休憩して別のブログを書いていた)には、Rosenthalのnannernestをコンピュータにインストールし終え、いよいよバナナをスライスする時間になった。

まず、パンとバナナを真上から撮影する必要がありました。これで完了です。それから、写真をパソコンにアップロードする必要がありました。簡単です。それから、ターミナルにコマンドを入力する必要がありました。数時間後、私のようなバカでもやり方がわかるようになりました。約1分後には、perfect_sandwich.jpgというタイトルの写真が完成しました。これは、ピーナッツバターとバナナのサンドイッチに最適な、バナナのスライスを最大限に覆うための設計図です。
興奮しすぎて、同僚たちにこの同じ写真をアップロードして、自分の素晴らしい成果を自慢してしまいました。すると、ほぼ同時に焼き始めました。皆が、バナナのスライス1枚目がパンの上に完璧に置かれていないことに気づき始めました。「お前のダメなスライス1枚をクラストの上に出して、さっさと切り始めろ」と私の編集者は言いました。「パンを手で平らにしてバナナを潰せばいい。これぞオーバーエンジニアリングだ」と別の編集者は言いました。
空腹だった私は、この装置が機能するまで頑なに食事を拒んでいたが、その後、最高のピーナッツバターとバナナのサンドイッチを台無しにしてしまった。
まず、実際のバナナのスライスのパターンを合わせるのに少し苦労しました。それに、どのバナナのスライスがどれなのかを覚えておくのを忘れてしまいました。それで、写真に合わせて10枚のバナナのスライスを並べなければなりませんでした。そして、実際にそうしました。ところが、最初にピーナッツバターを塗るのを忘れていました。バナナのスライスを全部取り除き、ピーナッツバターを塗ってから、またスライスを並べ直すという作業を繰り返しました。

それでも、サンドイッチは食べました。Slackにまた写真をアップしたら、何人かから「ピーナッツバターとバナナのオープンサンド、なんてみすぼらしいんだ」とコメントが来ました。「せめてパンはトーストした?」とまた別の編集者が尋ねました。いや、空腹でトーストするのも忘れていたのです。
何でもいいよ!ねえ、知ってる?すごくお腹が空いた時は、何でも完璧なサンドイッチになるんだよ。
もう一度これをやるだろうか?いいえ。普段、ピーナッツバターとバナナのサンドイッチを作るときは、パンをトーストして、両面にピーナッツバターを塗り、片方のパンにバナナのスライスを乗せ、蜂蜜を少し垂らし、食物繊維が体に良いので亜麻仁を振りかけて、全部混ぜ合わせます。ところが、完璧なピーナッツバターとバナナのサンドイッチは、ずっと私の心の中にあったんです。普通の人のように、朝9時半に食べられたのに。