You Are Not Late

The Technium: You Are Not Late

1985年当時に起業家であったなら、どんなに素晴らしかっただろうか。どんな.comドメインでも取り放題で、どんな単語でも、短いもの、かっこいいものなんでも取ることができた。欲しいものを取得すればよかった。取得するのに費用すらかからなかった。この素晴らしいチャンスは数年の間、存在していた。

1994年にWired誌の記者がmcdonalds.comがまだ取得されていなかったことに気づき、私たちの後押しもあり、彼はそれを登録し、それからマクドナルド社に譲渡しようとしたが、彼らがインターネットについて無知すぎたことが面白く、それはWired誌の記事になった。
そのすぐ前に私はabc.comが取得されていないことに気づき、私がABCの上級エグゼクティブに対し、デジタルの将来についてコンサルティング・プレゼンをしたときに、社内のIT部門のもっとも切れるギークに頼んで、自分たちのドメイン名を登録してもらうべきだと伝えた。しかし彼らはアクションを起こさなかった。

当時、インターネットはチャンスに満ちたフロンティアだった。どんな分野であれ、一番乗りになることは簡単だった。顧客の期待値は低く、参入障壁は非常に低かった。
それが、検索エンジンを立ち上げることであれ、オンライン商店を開くことであれ、動画共有サイトを立ち上げることであれ。
しかし、それは過去の話である。今から振り返れば、何世代もの開拓者がありとあらゆる機会を開拓し、発達させてしまい、今日の新参者に残されているのは、最も難しく、危険な小粒しかないように思われる。
30年経った今、インターネットはアプリ、プラットフォーム、デバイスによって飽和され、肥大化し、詰め込まれすぎているように感じられ、そのコンテンツは今後百万年の間、私達の注意をひき続けるに十分なように思われる。
あなたがこれに加えて、小さなイノベーションを詰め込むことが出来たとして、誰にも気づかれないのではないか、というように思われる。

しかし、過去30年で我々がオンラインで得られたことを考えれば、この豊かさはほとんど奇跡的に思われる。我々が手にしたもの、それは例えば、友人や家族といつでも瞬時につながれること、いつでも手に入るカスタマイズ可能なニュースストリーム、世界中のほとんどの町のズームイン可能な3D地図、音声による検索が可能な百科事典、ポケットサイズのタブレットで映画が見れること、翌日には配達が可能な「バーチャル何でも屋」、これらは数千思い浮かぶものうちのたった6つの例である。

しかし、しかしである、、実はこういうことなのである。インターネットの観点では、まだ何も始まっていないのである。インターネットはまだ始まりの始まりに過ぎないのである。もしわれわれがタイムマシンに乗って30年後の未来に行って、その視点から今日を見返すことができれば、2044年の市民生活を可能にしている最高の製品は2014年以降に発明されたことに気づくだろう。未来の人々はホロデック(訳注:スタートレックにでてくるバーチャルリアリティ装置)やウェアラブルバーチャルリアリティコンタクトレンズ、ダウンロード可能なアバター、AIインターフェイスを見て、こう言うだろう、2014年当時はインターネット(あるいは未来でそれが呼ばれるもの)はまだ本当に存在していなかったのだと。

そして、彼らが言うことは正しいのである。なぜなら、私たちの現在の視点からは、今世紀前半のオンラインにおけるもっとも偉大なものというのはまだ出現していないのである。
これらの奇跡的な発明は、変人の、不可能を知らないビジョナリーによってたやすくつかめる果実のように摘まれるのを待っているのである。あたかも、1984年の.comドメイン名のように。

なぜなら、2044年の髭を生やしたベテラン達はこうも言うであろう: 2014年に起業家であったならそれはどんなに素晴らしいことだっただろうか。チャンスにあふれたフロンティアだったではないか!どんな分野においても、そこにAIを追加して、クラウドに置くことが出来た。今のデバイスは数百ものセンサーを搭載しているが、当時ほとんどのデバイスはセンサーが1つか2つ程度しかなかった。期待値や、参入障壁は低かった。一番乗りになることは簡単なことだった。そして、それからため息をついて言うだろう。「もし当時何もかもが可能であったことに気が付いていれば!」

真実を伝えよう。現在、2014年の今日はインターネットにおいて何か始めるのに最高のタイミングなのである。何かを発明するのにこれほどチャンスや新規事業の機会があり、障壁が低く、リスク・ベネフィット比が高く、投資効率が高く、上昇傾向が高い時期はないのである。今、この瞬間である。
この時期を指して、未来の人々は振り返って言うであろう。「あの時期に生きていて、健在であったならば!」

過去30年を通して、素晴らしいスタート地点が形成され、真にすぐれたものを作る堅固な基盤が作られた。
しかし、最高にクールなものはまだ発明されていない。この新たに生み出される、素晴らしいものは、今日存在するようなものの延長ではない。単にそれより優れているだけでなく、異質で、卓越していて、一線を画すものである。でもあなたはそれを知っているはずだ。

あなたが気づいていないかもしれないのは、今この時代というのは、チャンスに満ちたフロンティアだということである。何かを始めるのには、人類史上最もいい時代なのである。

You Are Not Late
(あなたが生まれてくるのが遅すぎた、ということはない。)

exofs designを読んでみる

http://git.open-osd.org/gitweb.cgi?p=open-osd.git;a=blob;f=Documentation/filesystems/exofs.txt;hb=refs/heads/exofs

 

* file system control block (on-disk superblock)はIDを振られたオブジェクトに格納されている(これはcommon.hにて定義される)

  file system control blockに含まれている情報はマウント時のインメモリsuperblock構造を埋めるために使われる。mkexofs.cからファイルシステムが使われる前にオブジェクトは生成される。そこに含まれる情報は以下のとおりである。

 - file systemのmagic number

 - 次に割り当てられるinode number

* 各ファイルに含まれるデータは個別のオブジェクトに格納されている。(そしていずれファイルを複数のオブジェクトにまたがって格納できるようになるが、これはまだ実装されていない)

* ディレクトリはファイルとして扱われ、そのディレクトリに含まれている<ファイル名, inode #>のペアのリストを含む。object IDはファイルのinode numberに対応しており、bitmapに従い、アロケーションされる。(このbitmapは別のオブジェクトに格納される)現在はカウンタを使用し、アロケーションされている

* 各ファイルのcontrol block(on-disk inode)はオブジェクトのattributeに格納される。これは通常のファイルおよびほかのtype(ディレクトリ、デバイスファイル、symlink)に当てはまる。

* 認証情報はメモリ上に生成される際に(つまりディスクから読み込まれるときや、作成されるときに)各オブジェクト(inodeとsuperblock)ごとに生成される。

* Async OSDオペレーションは可能なときに使用されるが、targetはout of order実行をしてもよい。ここではcreate, delete, readpage, writepage, update_inodeおよびtruncateのことについて記載する。以下のオペレーションペアは記載された順に実行されるべきであり、この順序が入れ替わることを防ぐ必要がある。

 - 以下のものはOBJ_CREATEDとOBJ_2BCREATEDフラグで処理される。オブジェクトがcreateのcallback functionのOSD上に存在しているとわかったときか read_inodeが成功したときにOBJ_CREATEDがにsetされる。

 OBJ_2BCREATEDはcreate functionの最初にsetされるのでこの場合は待つ必要があることがわかる。

   - create/delete: deleteはオブジェクトがOSD上に作成されるまで待つべきである。

   - create/readpage: readpageは0で埋められたpageを返すべきである。writeが実行されようとしている(create, writepage, readpage) 場合は)pageがロックされ create/writepageと同様である。