There’s nothing impossible

Z社の仕事で生活を繋ぎながら、SBCに触れたり既存のアプリケーションをハックしている。T社の仕事も進めている。本も読むし映画も見る。明後日は美術館も行く。ゲームもやる。散歩もするし新しく立ち上げた会社の基盤作りもしている。財務・税務面の課題もクリアするために活動している。知らないこと|知るべきこと|知りたいことが無数にある。知れば知るほどに世界はより広く深くなっていく。行きたい国もたくさんある。出逢うべき人もたくさんいるのだろう。モンキーで風を切って走るのも楽しい。自転車もそろそろ修理したい。エリーゼを取り返すのはいつの話になるのかわからないが、そのことについて考えるとお金のことを考えてしまうから、楽しいことから順番にやっている。

様々なアイデアの組み合わせから生み出されたひとつのアイデアがここにある。僕がずっと心を痛めてきた情報処理の世界における問題をクリアにして、明るく楽しいコンピューティングの未来が見えるアイデアだ。超えなければいけない山がたくさんできた。僕はそれをひとつずつ越えていく決意をした。そのために必要なことは、仕事としてではなくライフワークの一部としてやっていこう。壮大すぎてマイルストーンが立てられないから、まだ仕事なんて呼べる状態ではない。

決意1:数学を極める

ゆっくりゆっくりと進めていた数学の復習と学習の優先度を上げる。長岡先生の教科書を使って高校数学から進めていたつもりが、いまKhan Academyの数学クラスで小学生レベルからやり直している。これが結構面白い。日本での算数/数学の教え方と違うので、いままで当たり前のように使っていた四則計算のレベルから新しい氣付きがある。

過去に設定した、アインシュタインの一般相対性理論を理解できるようになるという目標はいま、他の目的もできてモチベーションが上がっている。相対性理論はマイルストーンだ。量子学、超弦理論、その先はまだまだ続く。そして実用的に、決意2にも関わることだ。

決意2:Linux Kernelを読み解く

Linuxカーネルのソースコードを理解するためには、C言語の習得が必要だ。それだけではない。根気と覚悟が必要だ。Linuxカーネルのソースコードのライン数は、バージョン5.0でC言語(.c / .h)とアセンブラ(.S)に限定しても約2400万行だ。1人月で1000行とすると、2.4万人月の工数になる。気の遠くなるような規模だ。すべてのコードを読む必要はない。しかし基礎的な理解はどうしても必要なのだ。

決意3:OSを作る

これはどうしても、ある程度自分で踏み込まなければならない。なぜならアイデアを出したのが自分だから、自分で実装を理解してある程度の形を自分で定義したいから。どのようなOSを作ろうとしているのか、そしてそのOSの使用目的は何かについては、そのうち書こうと思う。

決意4:自社製ハードウェアを作る

ハードウェアの設計まで抱え込むつもりはない。仲間がほしい。

決意5:オープンソース文化に貢献する

そうせざるを得ない。

決意6:財団を作る

さまざまなやりたいことを実現する方法を総合的に判断すると、財団が存在することが必須条件のように思えてくる。財団の財源はもちろん自分だが、将来的に仲間ができたらどうなるかはそのときに考える。

決意7:世界中に学校を作る

再発明はしない。だが、無いものは作るしかない。

決意8:作品を残す

これは、情報処理とは別の話。