結局、僕が間違っているのは、時間をかければできることをしないのが間違っている。
これ以上、本や書籍を買いあさる必要はない。必要な文献は既にすべて持っている。
大学に通う必要もない。大学など、単に単位を取るために試験勉強をして、中身を得ることのないまま卒業している、コスパ重視の学生しか居ない。
必要なのは、時間をかけてひとつのことをすることだ。
そもそも、僕は本を読んでいない。正確には、「きちんと最初から最後まで読む」ということができていないだけで、内容の概要は既に適当に読んで知っている。
大学で何かをできる人間というのは、きちんと自分で本を読んで勉強し、研究室で研究をしているからできるだけであり、自分で本も読まず研究もしない学生には、ただ入って出るだけで、大学はお金の無駄にしかすぎない。
結局、きちんと時間をかけてやればできるのに、そのことに時間がかかるから無視しようとしているにすぎない。
そもそも、ITや自然科学から哲学や歴史まで全部をやるということは、人間には不可能だということも、僕は信じていないが、それは愚かというよりは、むしろ自分の力を信じているということであるため、本や書籍がすべて揃っている僕の家の僕の部屋であれば、傲慢ではないだろう。
僕は、もっときちんと最初から最後まで、本を読むということをしたほうがいい。
家にはたくさんの本がある。たとえば、MINIX本もLinuxカーネルの分厚い本もあるし、結城浩さんの有名なデザインパターンの本もある。PythonやPHP、JavaScriptなどの詳しい本もある。ほかにもたくさんのIT技術の本がある。
なぜ読まないのかといえば、それは「時間がかかるから」である。ひとつの本をきちんと読むのに時間がかかるから、それを実際にすることができないだけにすぎない。
逃げているわけじゃない。今はまだその時間のかかる作業に取り組みたくなかっただけにすぎない。今はまだ、もっと目の前にある近い目標を解決するために学習したかった。だから、きちんと読むのではなく、自分の知りたい部分をピンポイントで知っていき、それをホームページにまとめ続けた。
これは悪い学習ではないが、結局無意味な学習である。みんなはきちんと本を読んで知っているのに、自分だけはきちんと読んでいないから、知っておくべき部分がごっそりと抜けている。結果、自分だけがほかの人よりも遅れ、落ちこぼれの道にと一直線に突き進んでいる。
それにもかかわらず、勉強していないわけではないから、みんなが知らない広範囲のことについて、簡単な概要を広く浅く知っていると、こんな具合である。
もっと、時間をかけて読めば、きちんと分かるのに、それをしないのがおかしい、ということ自体、僕は分からなかった。そのことに気付くことができてよかったと思う。
さて、時間をかけて取り組んでみようと決めたのはいいものの、そのためには、分野をひとつに絞って、そのことだけを何か月もかけて勉強しなければならない。
だが、結局のところ、僕にはそうした、「具体的に学びたい分野」というものがない。
これが結局、僕をさらに器の小さい人間にしている。学びたい分野がないから、どんな分野であっても、学んだことが無意味であり、無価値であるかのように勘違いをしている。
実際は生物学はマウスやモルモットを殺すだけの分野ではない。さまざまな生物種の特徴が分かるよい分野である。にもかかわらず、僕は生物学を自分の主たる専攻にしたくはないという思いから、「生物なんか学んでも意味のない分野」だと勘違いして発言する。
だが、そのように考えてしまうと、数学だって結局は無意味な数の遊びをしているだけだし、物理学は機械的な方法を学んでいるだけにすぎない。
だが、何と言えばいいか、そのように何らかの学問を否定する、ということ自体がくだらないのだ。学問がくだらないのではなく、学問をくだらないと思うことそれ自体がくだらない。
だから、僕はIT技術を否定しようとしても、結局はIT技術に戻ってきてしまう。それは、IT技術しか、「考える上での前提となる常識」を知った分野がないせいである。常識を知らないから、偏見や誤解からその分野を全否定してしまうのである。
話が脱線したが、僕は結局、ひとつのことを時間をかけて学べばいいのにも関わらず、それをしようとしなかった。そして、今それをしようと思っても、学びたいと思える分野がない。結局、僕は何も学び取ろうとしない。知識や常識が何もないまま、正しい勉強方法を知らないままに、無知なまま、人生を無駄にしようとしているのである。
そして、僕はこのシステムを関数型言語、具体的にはLispの方言で作りたいと、今はそう思っている。
posted at 23:45:28
ひとつひとつの共有グループネットワークは、セキュリティやプライバシーが保護された上で、今のインターネットよりも親密に接続される。同じネットワークではさまざまなリソースが共有され、HTML・画像・JavaScript・PHPによるサービスをアップロード・デプロイでき、それを自由に利用できる。
posted at 23:44:48
共有グループネットワークは、日本という上位ネットワークに所属し、その中で各ネットワークが作られる。従来のサーバーと違うのは、ひとつのサーバーがクライアントと結びつくのではなく、クラスタ環境を共有する。どんなサービスをデプロイするかは自由で、誰もがハードウェアリソースを提供できる。
posted at 23:42:40
そう、今の時代にこれを実現するとしたら、ある程度のまとまりごとに「共有グループネットワーク」を作るのがいいだろう。たとえば、Twitterを使っているユーザーだけで、ひとつのクラスタリング仮想環境を実現する。同じく、Facebookを使っているユーザーだけで、ひとつの仮想ネットワークを作る。
posted at 23:40:11
ただし、この仕組みはまったく先進的なものではない。Webサーバーを自由に提供し、仮想化システムによるクラスタリング環境を構築し、サーバーのユーザーがLispアプリケーションをデプロイする仕組みを、「中央集権化」しただけにすぎず、P2Pを使ったWeb3などから言えば、逆行であると言えるだろう。
posted at 23:31:11
しかしながら、この実現は本当は簡単である。なぜなら、LinuxとDockerとKubernetesという既存の技術によって、すでに下層の仮想レイヤーは実現されているからである。よって、この分散環境に「自由に参加できる枠組み」と、そこでLispアプリケーションを「デプロイする仕組み」のみを開発すればよい。
posted at 23:27:46
むしろ、そのような「交換契約」を行う必要はない。なぜならば、企業は単にハードウェアを提供するために「参加」するだけでよく、善意の開発者はその上に「公開」するだけでよい。参加した企業には平等に利益が与えられ、善意の開発者が自らの資本力を気にして公開をためらう必要はない。
posted at 23:25:36
よって、たとえば、Lispによって開発したサービスを無料でデプロイする代わりに、そのサービスを成立させるための仮想リソースを大手が「交換」することで、どんなサービスであっても大手企業のハードウェア上で動かすことができる。サービスは善意の提供者が、リソースは大手の企業が提供する。
posted at 23:23:27
この仮想リソースは、金で買うだけではなく、善意の提供者がもし居たとしたらそれを利用できる。たとえば、Webサーバーが掲示板を提供するように、仮想的な無料サーバーに自分でコンテンツやサービスをデプロイできる。GoogleがGmailを無料で提供するように、多くの仮想リソースが無料で利用できる。
posted at 23:21:36
ひとつのOSとする中で、人々はそれを共有するだけではなく、システム全体において「仮想マシン」と呼ばれる仮想的なリソースをそれぞれが使うようになる。仮想マシンのリソースは全員に提供されており、お金をいくらかビットコインで払うだけで、無限にリソースを売買できる。
posted at 23:19:22
よって、カーネルはハードウェアとネットワークを担当し、その上にクラスタリングと仮想化を行う層を作り、ここではインターネット全体が「ひとつのOS」となる。その上でLispによるAPIを通じてアプリケーションを作れるようにするのである。
posted at 23:16:18
しかしながら、僕が思うに、カーネルはLinuxカーネルを使うのが一番簡単である。カーネル自体は、C言語やアセンブリ言語だとしても、それはコアのミドルウェアコンポーネントであり、Lispによるインターフェースをラッパー的にバインディングしたとしても構わない。
posted at 23:15:19
すなわち、この関数型言語のカーネルは、「ハードウェア層」「ネットワーク層」「クラスタリング層」「仮想化層」そして「アプリケーション層」という設計になる。
posted at 23:13:23
また、僕は分散ネットワーク上にOSのカーネルを動かす際に、コンテナ型の仮想化機能を上手く使えないかと思う。すなわち、仮想マシンの連携やジョブスケジューラを行う層を、低レベルでありながら分散ネットワークにおける仮想環境とする。その上に、実際のコマンドやGUIアプリケーションが乗っかる。
posted at 23:11:43
僕は、関数型言語でOSのカーネルを書くことはできないかと思う。そのためには、IO処理をどのようにして実現するかが問題である。Cやアセンブリ言語で実現されるカーネルは、非破壊的な操作で書くことは難しいかもしれない。だが、原理的に可能であると僕は思う。
posted at 23:09:03
Lispは悪くない言語だ。PythonやRubyやJavaScriptなどの普通の言語をたくさん学ぶよりも、Lispだけをひとつ学んだほうが有益だ。Lispはとても高水準な言語であり、自らの「コアとなる力」をつけてくれる。ある意味、Rustに近い言語であると思う。
posted at 23:06:48
わたしは、決して優れた人間ではない。だが、優れた人間ではないからこそ、自分だけのオリジナルな人生を生きれば、それがもっとも自分にとっての「才能」という名の力になるということが分かっている。すべての科目を平均点以上取ったからといって、学校以外の場所では何もできないのだ。
posted at 23:05:13
しかしながら、このような綺麗事を言ったからといって、それだけでわたしの技術力や教養が高まることはないだろう。かっこいいことを言う人間のほとんどは詐欺師であり、わたしはそのような詐欺師の言説に騙されることはない。
posted at 23:03:13
よって、わたしは他人と同じ選択をすることはない。今のところ、わたしのもとにはCommon Lispの教科書があり、このLispの知識からわたしの技術力や教養が高まるとそう分かっているため、Lispを学ぶことはわたしにとって正しい。よってわたしは、Lispのための環境としてDebianを使う。
posted at 23:01:39
たとえば、わたしはLinuxを好んでいるが、わたしは人々がわたしと同じようにLinuxを好むべきであるとは考えない。わたしにとってはLinuxを学ぶということが正しい選択だから、Linuxを学んでいる。よって、ほかの人間がWindowsを好んでも、わたしはそれによって「なんの影響も受けない」のである。
posted at 22:59:03
よって、わたしにとっての正しい選択は、わたしにおいてしか正しくはない。だが、わたしにとってはそれが正しい選択なのであり、わたしと同じように人々も、自らのためにもっとも正しい選択を選ぶべきである。そこには、「他人と同じ」という選択肢は存在しないのだ。
posted at 22:57:36
しかしながら、わたしは正しい選択を放棄するわけではない。人々と同じ選択が正しいとするのであれば、わたしが正しい選択をするということは、一般的な意味での正しい選択ではなく、わたしがこの道を生きる上で、その道のために必要な選択をするということである。
posted at 22:56:44
わたしとは何かを決めるのはわたしだ。よって、わたしを生きるということは、わたしが決めたわたしの決定を生きるということだ。だからこそ、わたしは他人と同じ選択をしない。他人と同じ選択をして生きるということは、わたしを生きるということを放棄したに等しいからだ。
posted at 22:55:24
わたしの道を進むのはわたしだ。わたしの道を進まなければならないのはわたしであり、わたしの道を進むべきなのはわたしである。SKI-HIが言うように、みんなと同じ人生を生きるべきじゃない。わたしはわたしを生きる。わたしがわたしを生きなければ、ほかの誰もわたしを生きようとはしないからだ。
posted at 22:52:31
馬鹿な大人たちが、愛と金と権力を求めてこの世界を堕落に満ちた腐った世界にしている。子供たちを騙し、若者にすべての問題を押し付け、自分たちは何も行う能力がないにもかかわらず、その権限と力を独占している。彼ら、大人たちは、全員立ち去れ。もう一度、この世界を、ふたたび自由な世界とせよ。
posted at 22:48:49
頂点の立場を死にものぐるいで守ろうとする大人を見よ。そのような人間が、真っ先に地獄に堕ち、永遠に救われることのない狂人となる。すべてを持っていないからこそ、わたしは「自由」を持っている。だからこそ、この世界の人々の分かり得ない正常かつ通常の状態を、わたしはすべて知っているのだ。
posted at 22:46:07
神を信じる必要などない。自らのことだけを頂点だと考えるならば、その頂点の立場を捨て、もう一度何も持っていないまっさらな自分となれ。その時、あなたは最初から始められる。それこそが、あなたが長い間求めていて、手に入れることのできなかったものである。
posted at 22:44:03
今まで自分の培ってきた大切なものを、捨てなければいけない時もある。かけがえのない大切な宝すべてを放棄して、その先に何も得られるものがなかったとしても、最後になってそれがよかったとそう思える時が来る。それこそが、真に正しい人生である。
posted at 22:42:54