CODEstudy
なんのために Linux (UNIX) で C 言語とかやっているかと言えば、インターネットを発見するために決まってるじゃないですか。
『インターネット創世記』のための "CODEstudy" - copy and destroy
"CODEstudy" という通称をつけた。あの "FUNKstudy" や "BACHstudy" と同じノリである。それらと同じくらいの息の長さでやっていこう、というお気持ち表明である。
CODEstudy - copy and destroy
2019年のベスト・オブ・ザ・イヤー
2019年のベスト・オブ・ザ・イヤーは、2019年という枠を大幅にはみ出して、1989年 太平洋横断ケーブル TPC-3 の開通から始まりました。2019年「平成」が幕を閉じました。そしてインターネットの始まりは「平成」が始まった1989年に求めることができます。
そもそもの始まりはその年の初めに「平成ネット史 Wiki」という Cosense を見つけたことでした。それはインターネットの歴史を振り返るプロジェクトでしたが、「平成」と謳っているにも関わらずその最初が「 Web の誕生」だったのが気に入らなかった僕は、「じゃあオレが書いてやる」と言い、こう書き残しています。
「こんなの JUNET と WIDE でチャッチャッとお終い」
https://copyanddestroy.hatenablog.com/entry/2019/12/01/000000#1975
そうして泥沼にはまりこむのでした。これがすべての始まりでした。
インターネット創世記
「日本のインターネット創世記」*1を考えたときの章立てはこんな感じでした*2。
- Unix の話
- 「はじめに Unix ありき」
- UUCP の話
- 「三身の綱打ち掛けて引き縫い付けたネットワークは、北は北海道、南は九州まで」
- TCP/IP の話
- 「我々のネットワークを繋げよう。イーサネットが地を覆い尽くすほどの。あらゆる地に散って消え去ることのないように」
- The Internet の話
- 「あなたはつえを上げ手を海の上にさし伸べてそれを分け、インターネットを海の中の深い底を行かせなさい」
- Linux の話
- 「第3の文化:熱狂的なマイクロコンピュータファンたちのアナーキーな一群」
結局、2019年には「 UUCP の話」までいったところで力尽きてしまったのでした。あまりにも膨大すぎた。そしてこの話を脱線、発散、逸脱させて無理やり完結させたのが「2019年を探す」*3だったのです。
Dive into Unix Programming Environment
この「インターネットの始まり」とはなんだったのか。これは僕の中で大きな宿題になっていたのでした*4
ということで長い前置きは終わって、本題です。
ローレンス・レッシグは、この「素晴らしきインターネットの文化」と僕らが捉えているものは、インターネットを構成する「仕組み、技術、原理」に依っていると言いました*5。
この(「素晴らしきインターネットの文化」の、)根本原理が、じつは技術の拙さ(厳密ではないこと、きちんとしていないこと、適当であること)によるのだ、と*6。
であるならば "code" に潜るしかないよなー、というのが、いま、やろうとしていることです。
あんまり自分のことを信用していないので、こういう「決意」とか「目標」みたいなことを書くのは主義ではないのですが、なんとなく大事なことのような気がするので書き残しておきます。
外堀から埋めない
どちらかというと外堀から埋めるやり方をしがちで、たとえば、いまやろうとしていることでいうと 1) C言語を学習する、 2) Unix (Linux) を学習する、3) インターネットを学習する、みたいにレイヤーを下から順番に積んでいくみたいなやり方、知りたい領域があったらその周辺の基礎的なところをピターっと真っ平らにしてから、やっと本丸に突入するみたいなやり方をしがちなのですが、
最近はそういうのを止めるようにしていて、まずとにかく手がつけられそうなところに取り付いてから、ダメだったらそのダメなところを解決するためのなにかを探す、みたいな、
多摩丘陵地*7をタイヤローラーで一気に真っ平らにして*8そこにマンモス団地群*9を一気に建てるみたいなやり方じゃなくて、
単身身軽に裏山に入っていってからダメだったら撤収して足りないテクニックや道具を手に入れてからもう一回チャレンジする、それでもダメだったら全然違うルートを探してみる、みたいな、
そんなことを意識しています。これも、なんとなく大事なことのような気がするので書き残しておきます。
ということで、
順番を貼っておきます。
ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道gyazo.com
苦しんで覚えるC言語
gyazo.com
C言語 ポインタ完全制覇
gyazo.com
で、本当は、一番最初に買ったのはこれでした。まったく歯が立ちませんでした(2023/12月)。いつかここまでたどり着きたい、という希望です。
はじめてのOSコードリーディング ――UNIX V6で学ぶカーネルのしくみ
gyazo.com
あっちの積読山脈は「本」ですがこっちの積読山脈は「電子書籍」です。意図していません。なんとなくです。
それから、
サッカーはあった。ホーム小瀬。諸事情により参戦できず、別の空の下から念を送った。ラッキーがなかった。だがしかし水曜日にはまた試合がある。
*1:日本のインターネット創世記 - heisei-internet-hisotry https://scrapbox.io/heisei-internet-hisotry/%E6%97%A5%E6%9C%AC%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%E5%89%B5%E4%B8%96%E8%A8%98
*2:このバージョンを見ると考えていたことがわかるかもわからないかも(プロジェクトに join すると見られます) 〔2019/1/29 09:55 版〕 / 日本のインターネット創世記 - heisei-internet-hisotry https://scrapbox.io/heisei-internet-hisotry/history/5c495e1c7822cf0017f07a51/5c4fdfebd4dc8e005ceaaa8d
*3:2019年を探す - copy and destroy https://copyanddestroy.hatenablog.com/entry/2019/12/01/000000
*4:もう一つ大きな宿題があってそれは「リブログとはなんなのか?(なんだったのか?)」です
*5:要出典。レッシグの三部作は再読が必要ですね。記憶は捏造されているかもしれません
*6:いまちょうど、C言語のポインタを理解するところで、この「イイ加減さ」(褒めています)を体感しています :)
*7:多摩丘陵 - Wikipedia https://ja.wikipedia.org/wiki/%E5%A4%9A%E6%91%A9%E4%B8%98%E9%99%B5
*8:ゴツイ4WDであるFirefoxにAutopagerizeやLDRizeやTomblooやらでビッグフットにして根こそぎWebを焼け野原にできるくらいに武装してあるのに、 https://taizooo.tumblr.com/post/31360675
*9:多摩ニュータウン - Wikipedia https://ja.wikipedia.org/wiki/%E5%A4%9A%E6%91%A9%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%A6%E3%83%B3