コミュニティに戻る

麻痺を乗り越え、片手用キーボードをプリントする

開いていた扉が突然、目の前で閉ざされたらどう感じるでしょうか? ボビーは、生活を大きく損なうほどの怪我を乗り越え、プログラマーとしての道を歩み続けました。その物語は驚くべきものです!

Youtubeで見る
長さ 01時間 04分

Jonathan: みなさん、こんにちは。私の名前はJonathanです。私はBobbi Towersと一緒にポッドキャストをお届けしています。BobbiはExercismコミュニティのメンバーの一人です。今日は彼に来てもらえて、本当に光栄に思っています。私は今、南アフリカのケープタウンにいます。ある意味で、世界のいちばん端っこの場所です。Bobbi、今どこにいますか? Bobbi: 私はオレゴン州ポートランドにいます。こちらこそ光栄です。普通、こういうことをするには有名だったり、ものすごく成功していたりしないといけないのに、なんだかレベルをいくつも飛ばしてしまった気分です。 Jonathan: そして、まあ、来てくれて本当にうれしいです。BobbiがコミュニティでExercismにたくさん貢献しているのは知っています。私の知る限り、メンテナンスもしているようですね。そのあたりは後でもう少し詳しく話してもらえます。でも、今日はここに来てくれて本当にうれしいですし、テックの旅について少し話してもらう機会にしたいと思っています。テックのどんなところが好きか、そういったことです。ですから、まずは背景としてどこから来たのか、あなたのストーリーを少し聞かせてください。ぜひ私もそのあたりをもっと掘り下げてみたいですし、そのあともう少し技術的な話もできるかもしれません。 Bobbi: そうですね、私はニューヨーク州中部の農場で育ちました。といっても、動物を飼っていたわけではありません。父はどちらかというと原始主義者で、伐採業界向けに一人用と二人用の横引きのこぎりを作る仕事をしていました。チェーンソーが普及する前に使われていたようなものです。でも、これがテックにつながるんです。父はコンピューターの初期の愛用者でもありました。父はオリジナルの、というか、オリジナルのIBM PCのクローンを持っていました。これは自宅の仕事、データベース管理やデスクトップパブリッシングでカタログを印刷するために使っていました。そして、私がこの機械を受け継いだんです。ええと、それは1981年に発売されましたが、私がこの世に出たのも同じ1981年です。家庭用として最初の音声合成装置もありました。Speech Thingと呼ばれていて、コンピューターのパラレルポートにつなぐ小さな装置で、しゃべるんです。家族全員がその周りに集まって、本当にすごいものだと騒いでいました。 Jonathan: なるほど、それがテックの世界との出会いだったと言えますね。では続けてください。私が興味を引かれたのは、 Bobbi: それで、ええと……。あのね、私が本当に欲しかったのはNintendoでした。でも両親は許してくれませんでした。普通の農場の子どもみたいに、外を走り回って、砦を作って、通りの向こうの牛と遊んでほしかったんです。おそらく木も切り倒せと。 Jonathan: おそらく、両手用のこぎり、あるいは二人用のこぎりで木を切り倒していたのでしょうね。 Bobbi: Jonathan: どうぞ Bobbi: ええ、ええ。でもそう、うちにはテレビゲーム禁止という厳しいルールがあって、それがずっと理解できませんでした。でも結局、友達はみんな楽しいおもちゃで遊んでいました。私はそれがとても嫌でした。それでコンピューターで妥協したんです。ある意味では感謝しています。そのおかげで、メディアを消費してばかりの人ではなく、ハッカーに憧れるような人間になったんですから。自分たちで楽しみを作るしかありませんでした。 Jonathan: それは、 Bobbi: それで……。この音声装置には、BASICで書かれたしゃべるブラックジャックのゲームが入っていました。BASICは、人々が学ぶのが本当に簡単だった最初のプログラミング言語です。BASICだっけ? 何て言った? BASIC。そう、初心者向けの汎用記号命令コードです。 Jonathan: それって……basicだったと言えますか? 定番ですね。いいですね。なるほど。つまり、多くの人が使えるようにしたわけですね。 Bobbi: そして、そう、そんな時代でした。当時は雑誌からコンピュータープログラムを打ち込んでいた時代です。すると、自分のBASICのバージョンが彼らの使っていたものと少し違うせいで動かない。そういうのが大事だったのかもしれません。 Jonathan: つまり、バージョンの違いが、プログラム全体を台無しにしてしまうわけですね。 Bobbi: インターネットはありませんでしたから、当時はExercismもありませんでした。だから、それは大きな違いでした。問題を抱えたとき、今日のように問題をGoogleで調べて、どこかにすでに答えがある、というわけにはいきません。本当に行き詰まるしかなかったんです。当時、プログラミングを学ぶのは大変でした。正直に言うと、私はその後15年ほど、音楽に気を取られてしまいました。 Jonathan: 気を取られたというのは、どういう意味ですか? 何があったんですか? Bobbi: ああ、そうですね、私は子どものころ、実際テープで遊んでばかりいました。これが、メディアを記録して保存し、あとから作曲するという、私の大きな執着の原点です。これは本当に、一種のタイムトラベルなんです。 Jonathan: 面白いですね。音楽を録音することをタイムトラベルの一種だと考えたことはありませんでした。すごくいいですね。私も覚えていますよ、たしか4トラックだったと思いますが、あの古いテープのラックのようなものがあって、タイミングよく一時停止と再生を押して、同時に録音ボタンを押すと、ちゃんと決まるまでがけっこう機械的で。でも、ああ、自分で何かを録音して、それを別のテープのラックから再生できるんだ、と思ったのを覚えています。それでテープが2本同時にある状態になりました。1本に録音して、それをなんとか次のテープに移して、また戻したりして。音楽に気を取られたと言うのが面白くて、その経験はよくわかります。でも、すべてはテープレコーダーから始まったんです。タイミングを合わせることを覚える、それ自体が一つの問題でした。今は、使えるツールのおかげで少しずるをしているような気もします。でも、テープレコーダーのこと、それからそれがどうつながっていったのか、もう少し聞かせてください。 Jonathan: ええ。 Bobbi: そうですね、私はFisher-Priceのカセットレコーダーを持っていて、ラジオ番組をやっているふりをして、音楽を流して、自分の声を録音していました。ふざけてしゃべったりして、今でもそれをやっています。それからVHSビデオもあって、お粗末なストップモーションアニメも作れました。スナップショット機能がついたカムコーダーを持っていたからです。1フレームではなく、実際には4分の1秒のスナップショットで、それでも動きをとてもコミカルに再現するには十分でした。 Jonathan: いいですね。それで、農場で育って、妥協として古いIBMのコンピューターに焦点が当たったわけですね。本当はNintendoが欲しかったのに、それは実現しなかった。だから実際、ご両親はいいことをしたのだと思います。おかげで探究心や好奇心が育ったと言えますから。当時はそうは思えなかったかもしれませんが。 Bobbi: ええ、そうですね、その時点からの私の人生の夢は、自分だけのマリオをプログラミングすることでした。ええ。それで、考えたことはありますか、もし過去に戻って自分に何か言えるとしたら? 私の場合、間違いなくこれです。スーパーマリオブラザーズをどうやって再現しようかと考えていたあの子のところに戻って、こう言うでしょう。数学を学ばないといけないよ、と。 Jonathan: なるほど。 Jonathan: ありがとう。 Bobbi: そして、これこそ私が命を懸けてでも主張したいことなのかもしれません。ええ。でも、まあ、実際にできるかもしれません……私は…… Jonathan: でも、まあ、実際にできるかもしれませんね。私もちょっとそう思っていました。それで、数学についてそのことに気づいたきっかけは、Bobbiにとって何だったんですか? Bobbi: そうですね、私はミュージシャンでしたが、数学を本当に使ったことがありませんでした。音楽と数学のつながりについて、みんながいつも話しているのを聞いて、私は笑っていました。いやいや、それは数学じゃなくて音楽だよ、おバカさん。ロックンロールだよ、と。でも、30歳を過ぎて最初のプログラムを作ろうとするまで、何年も飛ばしますが、本格的にプログラミングを学び始めたとき、最初に作りたいと言ったのは、何らかのオーディオ、音楽シンセサイザー、音楽シーケンサーでした。テンポ、つまり1分あたりの拍数に応じて音符の長さを計算しなければならないところまで来て。レシピの分量を増やしたり減らしたりするような小さなこと以外では、これが実際に数学を使った最初の経験でした。音楽シーケンサーを拡張して、1分60拍以外のテンポでも演奏できるようにするためです。1分60拍なら、4分音符がちょうど4分の1秒になる、といった具合です。 Jonathan: 幸運なことに、1分60拍を超えられたことで、音楽をもっと楽しめるようになったのかもしれませんね。もし音楽全体が60bpmに固定されていたらと考えると。ええ。 Bobbi: ええ、そこからどんどん進んで、終わりのない深みにはまっていきました。次に、音符の周波数を計算する公式を探さなければなりませんでした。最初のバージョンでは、すべての音符の周波数をヘルツで並べた、ばかばかしいほどの参照テーブルを苦労して作りました。プログラムはそのテーブルを参照するだけです。でもやがて、MIDI番号を変換する公式を覚えました。中央ハが60で、そこから整数が1つ増えるごとに五線譜上の半音になります。 Jonathan: すごい。 Bobbi: ええ、数学のことですが、実は私をコーディングに戻してくれたのは数学の先生でした。私はテキサス州オースティンの大学に通っていて、数学の授業を取らなければなりませんでした。そこでとても面白いシステムを使うことになりました。ALEKSという名前のシステムで、Advanced Learning Environment for Knowledge Spacesの略です。対話型の演習を通して数学を学ぶもので、私にとって本当にうまく機能した最初の経験でした。そして気づいたんです。数学には互いに依存し合う概念がとても多くて、何百、もしかすると何千ものトピックからなる巨大なグラフになっているんだと。普通の教室環境で、たとえ一人の生徒でもこのグラフ上のどこにいるのかを把握して、次に何を教えるのが正しいかを知るのは、先生にはまず不可能です。それで、こういうものはコンピューターで教えるべきだと気づいたのは面白かったです。それが大きな発見でした。対話型学習の力と、教育のプロセスをテクノロジーで支援できるということです。 Jonathan: それは、Exercismがトラックで実現しようとしていることにとてもよく似ていますね。 Bobbi: まさにそれを考えていました。概念のグラフですからね。 Jonathan: それで、大学に行ったわけですね。ニューヨーク州北部で育って、農場で暮らして、ごく原始的な環境でコーディングに触れた。Googleもなく、参照できるインターネット上の情報もほとんどない。行き詰まったら、自分で何とかするしかない。徹底的に分解して理解するしかない。その後は音楽と、機械がどう動くのか、どう組み合わせるのかという好奇心があって、大まかに言えば音楽の方向に進んだ。そして今、大学にいる。そこで、自分が学ぶには演習をこなすのがいちばんいいのかもしれないと気づき始めた。それが、実際に手を動かして学ぶという流れを生んで、世界とつながる実用的な接点ができる。ここまでの、大学にいるところまでの歩みをそうまとめてもいいでしょうか? Bobbi: ええ、ええ。私は音の世界で、直感を通して人間の創造性を表現していました。逆の道を行く人もいるでしょう。もっと抽象的なところから学んで、それから音楽のようなものを後で学ぶ人もいます。それで、あなたは? Jonathan: ご自身ではどうやって橋をかけるんですか。もちろん、演習はとても自然な橋だと感じたでしょう。創造性や、枠にとらわれない考え方が必要になりますから。Bobbiは、与えられた枠の外で考えるのが好きな人のように思えます。ですから、音楽や芸術、創造性と、科学的で理性的なもの、その重なりをどうとらえているのか、もう少し深く理解したいと思っています。それがBobbiの学びの中で具体的にどう現れたのか、そして今、問題への向き合い方にどう影響しているのかを知りたいです。 Bobbi: そうですね、ええと…… Jonathan: ふむ。 Bobbi: ええ、実は、それにどう答えればいいか、よくわかりません。 Jonathan: なかなか、たぶんかなり探究的な質問ですね。カテゴリーとしてはっきり答えを出せるものでもないかもしれません。では、言い方を変えてみます。Bobbiがコードを学び、成長してきた経験について。創造的な視点から始めて、そこに構造を持ち込もうとするのか、それとも逆の道のほうがよかったと思いますか。つまり、構造を学んでから、そこから抜け出して、より創造的に物事に向き合うやり方を学ぶという順番です。 Bobbi: そうですね、私のとらえ方としては、以前は歌を書いていましたが、今は何かをする歌を書いています。ええ。それで、ほとんど練習のようなもので、私がプラトン理論と呼んでいるちょっとした考えにつながります。 Jonathan: なるほど、説明してください。 Bobbi: これは、父の仕事以外で初めて働いたときのことにつながります。よその場所で初めてした仕事は、地元のピザ屋でした。まず皿洗いをしていました。実際、長くやりすぎて、そのうち食べ始めるまでになりました。 Jonathan: 時間を見ながら。 Bobbi: どんどん上手くなって、それで全部の皿を片付けて、ピザ担当の人を手伝えるようにしました。そうやってピザの作り方を覚えました。でもいちばん楽しかったのは、生地の作り方を教えてもらったときです。ああ、もう、本当に大好きでした。家でもいつも何かを混ぜ合わせていて、よく怒られていました。生地を混ぜる何かがあったんです。それで店長に、これってPlay-Dohみたいだね、と言ったら、店長は私を見て、まあそうだな、これが何のためだと思っているんだ、遊びとゲームのためか? 子どもに商売を教えているんだよ、と言いました。そう、Play-Doh Fun Factoryです。子どもにパン屋の仕事を教えるための仕掛けなんです。 Jonathan: 本当ですか? それは、ただのおとぎ話なのか、それとも本当にPlay-Dohが子どもたちに……その仕組みだったんですか? Bobbi: プラトンです、プラトンとアリストテレスのような。ええ、プラトン理論です。 Jonathan: つまり、実際に理論なんですね。それは笑えます。私には1歳半の子どもがいて、何でも口に入れてしまうんです。Play-Dohは焼く前に食べられてしまって、それもまた新しい体験です。わあ、本当にいいですね。では、続けてください。今、Bobbiはそのピザ屋にいて、皿洗いを極めた。皿洗いの専門家ですね。そして次は、生地を作って回す段階に入った。手の上で回しましたか? そういうふうにできるようになりましたか? Bobbi: ええ、すごく楽しかったです。それから、実際にスクールバスの上にピザ厨房を作って、国中を回って無料でピザを配りました。生地も何もかもバスの上で作りました。小さなアンティークのオーブンがありました。それは1966年のことですか? Jonathan: それとも、それはBobbi一人だったんですか? Bobbi: ピザバスには友達が3人一緒にいました。新聞の一面に載ったんです。すごい。写真を送りますね、だって……。ショーノートに載せましょう、ぜひ。 Jonathan: ぜひショーノートに載せましょう。だってそれは……。ええ。なんだか、そう、だからそれは、ごめん、Bobbi、途中で遮ってしまいました。続けて、続けてください。何か思いついたんですが、私は。 Bobbi: そう、それが実は、空白の数年でした。高校を中退して、それから旅をしていました。ただ放浪していたようなものです。ピザ厨房をやったのはそのころです。覚えた唯一の技術を持って、決めたんです。最後の給料を持って、店長に50ポンドの小麦粉と、10番缶のトマトソースを6缶欲しいと言いました。そして…… Jonathan: そして、旅立ったわけですね。 Bobbi: そう、それで出発して、ピザも一緒に持っていきました。 Jonathan: ええ、それでBobbi、その高校のころですが、中退したと言いましたね。どんな気持ちだったのか、あるいは、これは自分にはあまり合っていない、と思うようになったきっかけは何だったんですか? Bobbi: ああ、そうですね、ええと……。最近気づいたんです。ここ数か月のことですが、自分はおそらく自閉症だと思うんです。 Jonathan: それはBobbiにとってどういう意味で、生活にどう影響していますか? Bobbi: そうですね、おかげで自分の人生に筋が通るというか、もっと早く知っていればと思います。自閉症が何なのか、本当に何も知りませんでした。学校にそういう人がいましたが、彼はとても……。高機能とか低機能とかいう言葉は使わないようにしています。誰でも機能しているからです。だから、ニーズで分類します。支援の必要がより多い人もいれば、より少ない人もいます。その例の一人はJoeyといって、やり取りするのがとても難しい人でした。小さなコンピューターを持っていて、それでタイプしていました。でもそれが唯一の例で、数年前に自閉症の人たちと実際に友達になり始めて、その多様さに気づくまではそうでした。もはや「状態」という言葉すら使いたくありません。一つのあり方のようなものです。それで、何というか、私は彼らの中に自分の一部を見つけたんです。 Jonathan: なるほど、それはかなりの安堵だったでしょうね。つまり、どうだったんですか……。ずっと、自分が背負っていると気づかないまま何かを背負っていたようなもので、たとえば体に大きな荷物が乗っているようなもので、それに気づいたわけです。もし私の言っていることが完全におかしかったら言ってくださいね。でも、ずっと何かを背負っていて、突然それに気づいた、そうか、これがそうだったのか、という感じです。それはどうでしたか、そしてそこからどんなふうに、次へ進めるようになったり…… Bobbi: ハードディスクをデフラグしているようなものです。人生全体の記憶を思い出しては、ああ、それは……だからそう考えたのか、と思う。そしてそれは、ほとんど生まれ変わるような、ずっと続くプロセスなんです。 Jonathan: それは本当にいいですね。素晴らしいです。それが明るみに出たと言いますか、Bobbiがそれをあるがままに見られるようになって、うれしく思います。それで、今はピザを積んで走り回って、ピザを売っている。高校は中退して、それは自分の置かれた状況に合っていなかったからだと話していましたね。それからテキサスの大学に行ったわけですね。なぜテキサスなんですか? かなり遠いですよね。 Bobbi: いや、実はそうではなくて、何があったかというと、スクールバスを衝突させてしまったんです。それが人生で最初の大きな悲劇の一つでした。しばらくは苦労しました。そのあとはヒッチハイクで移動していましたから。でも、たどり着いた先は、オレゴン州のアシュランドという町でした。そこでユダヤ教のシナゴーグ、ユダヤ人コミュニティを見つけて、受け入れてもらいました。まずはボランティアで、子どもたちに音楽を教え始めたんです。これが素晴らしくて。それだけではなく、合唱団があって、初めて正式な声楽の訓練も受け始めました。ええ。合唱音楽の作曲と編曲も学びました。これは聖書に根ざした音楽の伝統で、聖書の詠唱のためのものです。ヘブライ語のテキストには、いわば立派な句読点のようなものが含まれていて、世界の各地域で口伝えに受け継がれてきた異なる音楽の伝統が、それぞれの節を歌うための独自の旋律を作り出したんです。 Jonathan: 私は大学でヘブライ語を少しやりました。1年間ヘブライ語を勉強したんです。これまでで最も魅力的な科目の一つでした。正直に言うと、まったく理解できませんでした。半分くらいの時間は何が起きているのか本当にわかりませんでした。でも、母音記号についてよく話していたのは覚えています。たぶん合っていると思いますが、子音に母音の音がどう対応するか、そしてテキストによって、同じ母音記号なのに、解釈や見方によってまったく異なる意味を読み取れるという違いがある、ということです。それは聖書の読み方全体に大きな影響を与えると言えます。そこに口を挟むと、とても面白いです。それで、今はテキストの音楽的な側面について話していますね。続けてください。 Bobbi: ああ、そうなんですか? ええ、音楽には、学ぶこと、覚えることを助ける並外れた力があります。でも音楽は単なる音楽ではありません。統語的な構造で、テキストをどう解釈すべきかがそこでわかるんです。節を二つの詩行に分けるセミコロンがどこにあるか、といったことです。そのセミコロンには小さな音楽的な装飾がついていて、節の中で最も強い区切りになります。そして、コンマに相当するものや、強さの異なるコンマに相当するものもあります。だからもう、テキストの中にこうした原始的な楽譜の仕組みが組み込まれていることに、本当に驚きました。それで、できるだけ多くの旋律を覚えたいと思いました。実際にクラスも教えました。シナゴーグで大人に教えるのは初めてでした。トーラーの巻物からモーセ五書を詠唱する方法を教えるクラスです。預言書にはまた別の節回しがあります。そして本当に深くなったのは、というか、トーラー、諸書、預言書と諸書、たとえば詩篇や箴言、ヨブ記などは、より詩的な文体で書かれていて、実はそうした書では詠唱記号がまったく違うんです。それで、これは一体何なんだ? どうやって歌うんだ? と思いました。それで実際に、詩篇の節をどう詠唱するかをGoogleで調べました。すると、イスラエルのエルサレムにいて、M'Khon Meirというユダヤ教の学びの家、イェシバで教えていたRav Natanyel Frankenthalのウェブサイトを見つけたんです。 Jonathan: なるほど、それは。 Bobbi: それで、そこに引っ越しました。イスラエルに? エルサレムに。行ったんですか? ええ。すごい。ええ、イスラエルに引っ越して、ラビの勉強をするつもりでした。でもそれだけでなく、というか、表向きはそうしていたのですが、実際にやっていたのは、純粋に趣味としての民族音楽学の研究でした。 Jonathan: すごい。それでBobbi、ユダヤ人なんですか? それが家系の背景なんですか? つまり、なぜシナゴーグだったんですか? それとも、たまたまコミュニティに出会っただけ? それとも、ユダヤ的な背景や文脈があるんですか…… Bobbi: ええ、うちは改革派でした。いや、そうではなくて、改革派ユダヤ教があって、それから保守派があって、いや、実際にはそうは呼ばないんですが。とにかく。 Jonathan: ありがとう。 Bobbi: 祖父母がロシアからここに来て、自分たちでルールを決めることにしたんです。だからロブスターやエビは食べてもいいけど、豚肉はだめ。実際、ほとんど形式だけのものでした。 Jonathan: ご視聴ありがとうございます! Bobbi: 理解もできなかったし、楽しんでもいませんでした。でも、実は密かに音楽を楽しんでいました。それが、あの、人を染めてしまう並外れた力です。遺伝子のレベルで何かが起きているのだと思います。私たちは歌を使って、外の世界に何かあるものとつながろうとするように、精神的に組み込まれているんです。 Jonathan: それは振動ですよね。周波数です。私たちが水でできていると考えても、水は音波に非常によく反応します。癒やしでさえ、理学療法士のところに行くと、脚に小さな超音波の器具を当てますよね。あれは音を使ってしこりをほぐしています。まだほとんど探求されていない情報の領域が広がっていて、間違いなく鍵になるものです。でも私は、音楽とテックの関係がとても面白いと思います。みんな、ああ、正反対だと言いますから。音楽は芸術的で創造的で流動的、でも実際にはパターンに支えられている。一貫性があって、何と言いますか、ピアノで言えば音程があって、そういうものです。突き詰めれば、とても数学的です。だから、Bobbiが最終的にエルサレムという状況に行き着いたのが面白いです。エルサレムですよね? それともイスラエル全体? エルサレムのどこにいたんですか? Bobbi: ええ、エルサレムです。エルサレムと、カバラ発祥の地であるツファットで学びました。 Jonathan: なるほど、面白い。 Bobbi: ええ、本当に面白かったです。 Jonathan: わあ。なるほど、イスラエルに住んでいたかもしれないとは予想していませんでした。考慮に入れていませんでした。本当にいいですね、とても面白い。それで、そこで民族音楽性を学んでいたわけですね。民族音楽性とは、どう定義しますか? Bobbi: 民族音楽学ですね、ええ。イエメンの伝統がとても好きになって、習慣をすべて取り入れたいと思うほどでした。彼らはとても独特な形のユダヤ教を守っていて、その中には、最も丁寧に保存されたヘブライ語の方言も含まれます。今でも実際にアラビア語のように聞こえる方言です。それで、いろいろな音を学べました。すごい、それは素晴らしい。ええ、それで、彼らには、ユダヤ・アラビア語というものがあります。とても面白い網の目のような関係で、私自身、Qawwaliと呼ばれるスーフィーの音楽にもとてもはまっていました。スーフィーというのは…… Jonathan: それはイスラム教の神秘的な側面ですか? 合っていますか? Bobbi: ええ、ええ。それで、これまで聞いた中で最も素晴らしい音楽がQawwaliです。彼らはハーモニウムを使います。とてもいい楽器です。アコーディオンのようなもので、フリーリード楽器で、詠唱に使われます。 Jonathan: ドローンというか、持続音のような響きがあるんですね。 Bobbi: ええ、ええ。パキスタンの伝統です。それから、アフガニスタンのユダヤ人の古代音楽を見つけました。ハーモニウムを使っていて、Qawwaliのように聞こえたので、本当に驚きました。それで、Kabbalah Qawwaliというプロジェクトを立ち上げて、Yeminiyatの旋律を取り上げて、Qawwali音楽のスタイルで作ってみました。まったくクレイジーでした。 Jonathan: それは全部、家でノートパソコンとハーモニウムでやったんですか? それとも、どうやって録音して、そういうことをしていたんですか? Bobbi: 実はとても大胆なことをして、楽器を持たずにイスラエルに引っ越したんです。どうなるだろうと思っていました。楽器なしで過ごしたことはそれまでありませんでしたから。どうやって自分を表現しよう? それで、そのとき、楽譜を書くことに本当にのめり込みました。コンピューターで音楽を作るのに使っていたのは、Lilypondというソフトで、実はLaTeXの組版言語を使っています。それで、コーディングが戻ってきたようなものでした。最初のころのウェブページを作っていたのを思い出しました。実はHTMLに似ていて、テキストや画像などをマークアップする代わりに、五線譜上の音符を書くんです。 Jonathan: すると、いつも起きているように思えるのは、音楽に入っていって、結局テクニカルなコーディング、ほとんど筆写のようなことに戻ってくる、ということですね。 Jonathan: 注釈をつけたり、記録したり。それがどうも繰り返し起きているプロセスのようです。では、テックの側面に移りましょう。そのあたりをもう少し掘り下げられると思います。Bobbiは筆写のようなこと、それを紙に書くこと、いわば比喩的に言えばそうですが、何と言いますか、デジタルで書き留めることを学び始めた。それから、特定の言語も学び始めましたか? Clojureを楽しんでいるのは知っています。Clojureでしたっけ? 何と言いますか。Clojureはプログラミング言語ですか? Clojure、そう。それにどうやって入っていったのか、そして今、技術的な旅のどこにいるのかを教えてください。 Bobbi: Stack Overflowの調査で、最も報酬の高い技術としてかなり一貫して1位になっています。認めざるを得ませんが、それが最初に私の目を引いたきっかけです。グラフで見て、ふむ、これは求めているもののようだ、と思いました。 Jonathan: そんなことは、 Bobbi: 大金を稼ぎたいなら、それが学ぶべきものだ、と。でもそこで気づいたのは、それが最も報酬の高い言語である理由は、たまたまとても経験豊富な開発者を引き寄せるからだということです。Clojureプログラマーの平均経験年数は10年です。 Jonathan: なるほど、わあ。では、難しさや用途のせいではなく、シニア開発者がありふれた言語、いや、ありふれたと言うのは失礼ですね、たぶん大きな批判を浴びそうですが、言いたいことはわかってもらえますよね、もっと人気のある言語に飽きて、新しい挑戦を求めて、そういう人たちが最終的に選ぶということですか? ええ、少し教えてください。興味があります。 Bobbi: 実は、学ぶのが信じられないほど簡単な言語です。特に、私のようにADHD気質の人には、REPL駆動開発、あるいは対話型プログラミングと呼ばれることもある素晴らしい性質があります。プログラムを、ただ実行されるテキストファイルとして考えるのではなく、とても小さなかたまりとして考えられるんです。実行中のプログラムにつながったテキストエディターがあって、コードの一部にカーソルを置いてホットキーを押すと、そのフォームを評価してコンパイルし、プログラムに送り込みます。 Jonathan: つまり、ほぼ即時フィードバックの言語で、自分が作っているものが反復しながら育っていくのが見えるということですね。それが楽しさの一部になっているのかもしれません。 Bobbi: ええ、ええ。実はこれが私の裏の事情で、使っている理由は、私には頭の中で多くのことを順にたどるのがとても難しく、文脈を切り替えなければならないからで、Clojureのおかげでコードの各部分が何をしているのかを頭の中でつかめるんです。 Jonathan: それで、それが他の部分にどう影響するかも見えるんですか? つまり、小さな部分に集中しながら、作っているもの全体像も見えるようなものですね。二つの考え方が同時に働くわけです。高い視点から全体を見渡しながら、それを形作っている小さな部分、いわば小さなレンガにも目を配る。それは、仕組みのとらえ方として当たっていますか? Bobbiがそれを楽しむ理由、あるいは精神的にうまく機能する理由として。 Bobbi: ええ、ええ。今年の初め、私はCOVIDから回復しているところでした。今も回復途上です。実は、メンタルヘルスの問題を表面化させ、すべてを増幅させた大きな出来事でした。それで気づいたのは、もう一度自分に考えることを教えなければならないということでした。対処の仕組みでできたトランプの家のようなものがあって、それが突然、通用しなくなったんです。 Jonathan: 今はどうですか? ご自身の調子はどうですか? この2年を乗り越えてきて、精神的には大きな挑戦だったと思います。本当に扱いが難しいものでした。今はどうですか? Bobbi: それは、それは、ええ、実は、さっきこのために頭を切り替えようとメモを書いていたとき、いちばん強く思ったのが、この2年と、どれだけ多くのことが起きたかということでした。 Jonathan: では、いくつか重要な、Bobbiはトランプの家のようなものについて話しましたね。それはどうやって、そしてこれはかなり個人的な点で質問かもしれませんが、どうなったのか、何が起きたのか、それらはどう対処していたのか、トランプの家が崩れるとはどういうことだったのか、そしてその時期を抜けたとき、何に集中したい、何を優先したい、何を……と考えましたか? Bobbi: そうですね、私は片手用のキーボードを作りました。これがここにあります。これです! わあ! ええ、これは……実はコードを使って作りました。まあ。CADソフトウェアと、ClojureのコードをOpenSCADにコンパイルするClojureライブラリです。それで3Dプリンティングにのめり込みました。片手がうまく動かないからです。2015年に起きた事故が原因でした。 Jonathan: ちょっと待ってください、ピザのトラックの事故がありましたよね、それは重大な出来事で、それから2015年にまた別の事故があって、それが思うように動かない手につながったと。 Bobbi: ええ、これもまた、すべてを本当に変えた大きな出来事でした。というのも、私の考え方では、体を使うことを中心にしてきた自分が、より頭を使うことを中心にするようになった、ということです。 Jonathan: わあ。それはすごいことです、Bobbi。本当に大きなことです。それで、それが3つ……たぶん3年か4年かけて変化して、そこにCOVIDが来たわけですよね? 大きな精神的変化、身体的変化を経たばかりのところにパンデミックが来た。それで、それが大変な経験だっただろうと想像できます。 Bobbi: ええ、さっき話していた、つながりのことです。私が音楽のような直感的な芸術とコードの間の隔たりをどう埋めたか、という質問がありましたよね。それは音楽を使ってやりました。そして今度は逆のことをしたんです。コードの書き方はある程度わかっていたけれど、自分のコーディング能力に対してあらゆる自己不信に襲われていました。それに対処するために3Dモデリングを学びました。抽象的なコードの世界から、コードが実際に物理的な物体を作り出すところへとつながる橋になったからです。そうするとフィードバックが返ってきて、自分の頭は働いていると確認できる。プログラムの実行とのつながりがわかるんです。3Dプリンターは本当に楽しいです。これまで買った中で最高のものの一つでした。 Jonathan: つまり、設計して印刷する3Dプリンターを持っているんですね。そのキーボードですが、その後何か進めたんですか? それとも、もっと進めて、もう少し広く世に出したいと思っているものですか? というのも、片手用のキーボードというのは初めて聞きました。正直、考えたこともありませんでしたが、たしかに、そういうものへの大きなニーズが潜在的にあると急にわかります。 Bobbi: 私が初めて本格的にコーディングを学んでいたときのことです。これは事故の後でした。片手を失ったことが、物事に対して体ではなく頭を使う必要につながったからです。でも最初に問わなければなりませんでした。タイプができないのに、私はコーディングができるようになるのだろうか? これは単なる無茶な思いつきで、実際にはできないのではないか? と。それで、コンピューター科学者である友人の一人が、選択肢があると教えてくれました。調べてみると、一つありました。Maltronキーボードというものです。70年代に作られたもので、とてもいいのですが、とんでもなく高価でした。手が出ないほどで、それはとても残念でした。手の届かないものだったからです。そこで、片手用のキーボードが欲しいなら自分で作るしかないと気づきました。それでアプリを探したのですが、まともなページまで進めるためのボタンがあることがわかりました。それが製品でやることなのですが、それ自体はすぐに非常に役立ちます。ただ、そのためにはアプリの中のアプリが必要で、そのアプリはすぐになくなってしまうんです。それで、結局私は……。まあ、それをするには、3Dプリンターや道具類にかなりのお金を投資しなければなりませんでした。皮肉なことに、安い自作版を作るために、Maltronをそのまま買うより多くのお金を使うことになりました。それを正当化するために、これをビジネスにできないかと考えました。あんなに高い値段を取っていて、いちばん恩恵を受けるはずの人たちが買えない、選択肢がない、というのがどうしても納得いかなかったからです。それで、ここには本当に市場の穴があるのかもしれない、埋めるべき機会があるのかもしれない、と思いました。それに、価格のハードルを十分に下げれば、私たちが考えもしない片手タイピングの市場だってあるかもしれない。たとえば、片手タイピングの達人がたくさんいるかもしれません。 Jonathan: そうは思いません。 Bobbi: 想像できる状況はたくさんあります。たとえば、けがをして、それでも生産性を保たなければならない場合とか。 Jonathan: 興味深いですね。少し前に、2、3週間前ですが、DJと話していて、彼が命を懸けてでも守りたい主張が、まさに……。彼が明らかに大ファンなものの一つがアクセシビリティです。それで、私は考えたこともありませんでした。たとえば妻でも、あるいは子どもを抱いているときの私でも、片腕が使えません。それでも時々、手で何かをしなければなりません。これは多くの例のほんの一つです。もしけがをしたらどうなるか。それもパズルの大きな一片のように思えます。面白いですね。なぜあんなに手が出ないほど高いのか、理解できません。私が世間知らずなのかもしれませんが、普通のキーボードの半分の大きさなんですよ。 Bobbi: 搾取だと言ってしまいたくなります。保険でカバーされるなら、それはほとんど詐欺です。現実的な理由は……。この写真を見てくださいよ。ぜひ……。リンクを送ってください、ショーノートにも載せますから。ええ、ショーノートに載せましょう。とてもかっこいいですし、当時としては本当に先駆的でした。今ではエルゴノミクス機械式キーボードが流行っていますから。ボールのような形なんです。机の上に置くクレイジーな3D彫刻みたいで、ボール型なんです。だから値段が高かったんでしょうね。 Jonathan: リンクを送ってください、私もショーノートに載せます。 Bobbi: ええ、それでスイッチをすべて手作業ではんだ付けしなければならなかったんです。大したことではないように聞こえるかもしれませんが、実際にはんだ付けするとなると、64個のスイッチ、つまり128か所の接続です。 Jonathan: まあ、マイクケーブルをはんだ付けしたことがある人ならわかりますが、はんだ付けは、はんだ付け、何と言いますか、決して素早くできる作業ではありません。 Bobbi: キーボードなら1日でできるようになりましたが、キーボードを配線するのはかなりの作業でした。 Jonathan: 面白いですね。 Bobbi: 実は、医療機器の専門家と話をしています。これをマーケティングするためのリソースを見つけられないか、少し話し合っているところです。 Jonathan: まあ、やってみなければわかりません。ぜひ探ってみる価値があるものですね。それでBobbi、ここで一巡して、Exercismについて少し話したいと思います。どうやって見つけたのか、どう関わるようになったのか、そしてこの分野で次に何をしたいのかを聞かせてください。ええ、どうぞ。 Bobbi: ええ、そうですね、私は自分をExercismの子どもと呼び始めました。それがどれだけおかしく聞こえるか、実は考えもしませんでした。でもそうなんです。私のコーディング経験の大半はExercismでできているからです。コーディングだけでなく、チームで働くことも含めて。ですから、私の置かれたところからすると、学歴もありませんでした。コンピューター科学の学歴は特に。業界の経験もありませんでした。ですから、前に進む唯一の道は、しっかりしたプロジェクトのポートフォリオを作ることでした。オープンソースに貢献することは、いつも勧められます。どうやって足がかりを得て、ソフトウェアを書き始めればいいのか、と。そこで問題は、どのオープンソースか、ということです。私の最初のGitHubのプルリクエストは、Exercismのサイトで自分をメンターとして追加するものでした。正直に言うと、その時点でメンターになる資格なんて私にはありませんでした。まだ生徒だったからです。Clojureトラックを修了して、するとメンターが、おお、すべての演習を終えたようだね、と言って、メンターになることを考えてみないかというリンクを送ってくれました。私は、なんてこった、私にそんなことができるのか? と思いました。本当に、これはほとんど危険です。そんな助言をして人を悪くしたくありません。責任はとても重いです。ある人に言われました。教える相手の若い人たちのことをちゃんと心配できるような人なら、たとえ素手で扱うのが簡単でも……。若い人たち。そう感じなくていい。恐れはそこから来るんです。 Jonathan: 責任はとても重いですね。 Bobbi: それはおそらく、人に教えるのにふさわしい心の持ち方をしているということです。正しく教えられているかどうかをきちんと気にかけているなら。私はいちばん簡単な演習から始めて、それを解くさまざまな方法を見つけました。メンターに言われたことを思い出して、生徒の答えを見始めて、こう言いました。ねえ、これの代わりにこうすることもできるよ、と。そこから他の演習もメンターするようになりました。本当に素晴らしかったです。特にCOVIDが来たときは。とても孤立していて、つらかった。Exercismはそのとき、ほとんど私の命を救ってくれました。わあ、それは大きいですね。隔離されている状況で部屋に座りながら、実際に人の学びを助けられる。それが当時いちばんいいことでした。すごくいいですね。 Jonathan: それで、何というか、ごめんBobbi、それについて続けて聞きたいことがあったんだけど、すっかり忘れてしまった。だから続けてください。思い出したら。 Bobbi: そう、それでV3をローンチしました。素晴らしいものでした。あれほど多くの人が一緒に働いて、あれほど大きなものを作り上げる過程を実際に見たことがなかったからです。当時、私だけがClojureのメンテナーではありませんでした。どうしてそうなったかは、ほとんど偶然です。興味を持つ人は何人かいて、私はそのうちの一人でしたが……。私は特別な立場にありました。何しろ経験が切実に必要だったからです。すべてをその場で学んでいました。それをできることから最も多くを得られたのは私でした。カリキュラムの設計から、テストランナーなどのツールをまとめるところまで。気づいたときには、残っているのは私だけでした。だから、このトラックを完成させるためには必要に迫られて、というだけのことでした。テストランナーなんて書いたことがありませんでしたし、そもそも何をするものなのか? 知りませんでした。やりながら覚えただけです。 Jonathan: 素晴らしいです。 Bobbi: 実は、完成まで持っていけませんでした。V3をローンチして、そこから1週間ほどかかりました。そのものが実際にどう動くのか、イメージがつかめていなかったからです。実際に動いているのを見て、ああ、こういうことか……と。ただ……マークダウンのファイルをたくさん書いているだけだと思っていたんです。 Jonathan: とても興味深いです。それで、今思い出したのですが、私が聞きたかったのは、先日コミュニティコールの一つで、Bobbiが、実は教えることが自分を本当に突き動かすものの一つだと気づいた、という話をしていましたね。それに気づいていなかったと。それで、今日の最後の部分として、そのことについて話してみるといいかなと思いました。少し詳しく聞かせてください。そのあとで、今どこにいるのかを見てみましょう。ええ、その話を膨らませてください。とても面白いコメントでした。 Bobbi: そうですね、教えることは……私が価値があると思えるほとんど唯一のことです。ああ、いや、そう言うととても否定的に聞こえますね。前向きに言えば、教えることは私が最も価値を見いだす活動です。ずっと、会社のためにコードを書くためにコーディングを学んでいるのだと思っていました。でも実際に起きたのは、コーディングを学ぶプロセスそのものに恋をした、ということです。何度も何度も最初から学び直すようなプロセスを繰り返して、あらゆる角度から取り組み、できるだけ多くの間違ったやり方で学ぼうとしています。これはとても大事です。教えるときには、生徒が必ず誤解するからです。だから教師は、正しい答えだけでなく、考えられるだけの多くの間違った答えを用意しておく必要がありますし、想像もできないような誤解のされ方にも備えなければなりません。 Jonathan: 面白いですね。それはたどり着くのにかなり大きな気づきだと思います。これもまた、自分がどこに価値を見いだすのか、内面から何に突き動かされるのか、それに明確さが生まれる重要な瞬間の一つですね。素晴らしいと思うのは、Exercismが、Bobbiが今話してくれたさまざまな側面、つまり教えることや人を助けること、問題解決の創造的な側面、いろいろな角度から問題を解くこと、そうしたものを一つにまとめて、すべてがどう組み合わさっているかの大きな見取り図を与えてくれることです。私にとっては、Bobbi、話せて本当によかったです。問題には実にいろいろな小さな角度からアプローチできるんだと気づかされます。私もミュージシャンです。それが私のバックグラウンドで、レーベルで働いています。ギターを弾いて、ピアノもかじっていて、ドラムも少しやって、録音もして、そういうことをしてきました。コーディングや開発と、音楽との共通点には驚かされます。ミュージシャンと話せば話すほど、彼らは実に並外れた開発者になるんだと気づきます。共感する側面があるからです。音楽のバックグラウンドがない人が共感しないというわけではありません。ただ、抽象的な感情や情緒を受け取って、それを音楽的な形や、実際に譜面に書き表す形に解釈できる力があるということです。これこそが鍵だと気づきました。話してくれて、自分のストーリーや背景をさらけ出してくれて、ありがとうと言いたいです。あなたとは夜更けまで、私とは夕方遅くまで話していられそうですね。Bobbi、時間をくれてありがとうございます。Exercismへのすべての貢献にも感謝します。率直に話して、世界中のさまざまな人たちとチームで一緒に取り組む旅に前向きでいてくれて、ありがとう。ありがとう、そしてコミュニティコールのどれかでまた会えるのを楽しみにしています。このセッションはここで終わりにして、すぐにまた連絡します。でも、2022年9月13日の今日、時間をくれてありがとう。ありがとう、Bobbi。メモとショーノートはすべて概要欄に載せて、みんなに見てもらえるようにしましょう。Bobbiのキーボードのことを考えています。それから他には? イエメンの話とか、共有してくれたすべての情報です。本当にありがとう。 Bobbi: ええ、ありがとう、Jonathan、楽しかったです。

コミュニティのその他のストーリー

コミュニティのメンバーの話を聞いて、学び、刺激を受けましょう。