2010/06/03
選ばなかった道
あなたは42歳、技術者として安定した職についている。 過去にビジネスを立ち上げようとしたこともあったがうまくいかなかった。 今は裕福ではないが、日々の暮らしに困ることはない。
ふとしたきっかけで、あなたは20歳そこそこの2人の若者と知り合う。 一人は弁舌の立つ、エネルギッシュな若者。技術者としてはまだまだ経験不足のようだが。 もう一人は技術の天才。ただ、あまりビジネスに関心は無いようだ。 さて、この二人は画期的な新製品のアイディアを持っていて、 それを商品化しようとしていた。2人の意見が対立した時 (それは頻繁にあった)のために、彼らはあなたに調停役を頼む。 結局、10%をあなたが、残りを彼らが半々で持つことにして、会社を作ることになる。 あなたはこれまでの経験を活かしてすぐに必要書類を作り、役所に届けを出す。
しかしこの若者達はあなたの予想以上にワイルドだった。 一人は早速、販売店に掛け合いに行くと、出来上がった製品を 卸す約束でかなりの資金を前借りして来た。 もし製品がうまく出来なかったら…あなたの出資分は10%とはいえ、 他の二人は素寒貧の若者である。会社が負債を抱えて立ち行かなく なった場合、あなたが前面に出て後始末をせねばならないだろう。
彼らの熱意とビジネスセンスを見ていると、きっといつかは成功するだろうと思う。 けれどそれまでにどれだけ、不安で眠れぬ夜を過ごさねばならないだろうか。 過去の失敗が心をよぎる。心臓をわしづかみにされる感覚。 景色が色褪せ、足元から世界が崩れて行く幻想。
あなたは熟考の末、手を引くことを決断し、2週間を経ずして、 会社のシェアを二人に譲ることにする。
変更の書類を役所に提出して表に出ると、 世界はまた色彩を取り戻したように見える。 傍観者であることがこんなに楽だとは。 彼らにはこれからも、技術者として、またビジネスの先輩として、 必要ならアドバイスしてやれるだろう。中にいないからこそ、 余裕を持って見えることもある。それが自分の立ち位置なのだろう。 帰りしなにカフェに寄り、ゆっくりとコーヒーを味わいながら、 あなたはここ数週間の行動を、満足して振り返る。
---主観的に脚色してるけど、下の記事を読みながらこういったシーンを思い浮かべていた。
ちなみにこの記事において、「あなた」はRon Wayne、 「二人の若者」はSteve JobsとSteve Wozniak。 つまり、「作った会社」はApple Computer Incだ。
成功者の物語は、成功した地点から振り返って語られるものだから、 すべての道筋が必然的に成功につながっているように見える。 けれどもその道筋には至るところに分かれ道があって、 大勢の「その道を選ばなかった」人たちがいる。 その分岐に立っていた時点で、先のことは全くわからない。 右を選んだ人も、左を選んだ人も、自分の基準で正しいと思う選択をしただけだ。
この業界で20年もやっていれば、 事業を立ち上げて失敗した話は成功した話の10倍くらい聞くものだが、 「選ばなかった」話についてはさらにその100倍くらい転がっている。 選ばなかった人の物語は、成功者や失敗者の物語に比べれば華やかさに 欠けるかもしれないけれど、実際に分かれ道に立って選んだ時の 葛藤に思いを馳せれば、同じくらい劇的な人生であるはずなのだ。 成功者のわかりやすい物語よりも、 一見「平凡」な人生に隠された、そういったドラマをもっと知りたいと思う。
Tag: 人生
2010/05/31
消すの取り消し
Firefoxのプロファイルがどう動くのかちょっといじって試してる時に うっかり
$ rm -rf ~/.mozilla/firefox
としてしまった。あうち。
ホームディレクトリのバックアップを参照しようとしたら
$ ls /mnt/backup ls: reading directory /mnt/backup: Input/output error
うわ。いつ死んだ。
メインで使ってるfirefoxは立ち上げていたままだったので、 とりあえずそれがopenしてるファイルの実体はまだ残っている。 あと、確かbookmarkとかprefs.jsは正常終了時に書き出されるはず。 まあ無くなったら無くなったでひどく困ることはないとは思うのだけど、 ちょっとは不便なので救出を試みる。
- lsofでプロファイルのディレクトリ名を確認。念のためmkdirしとく。
- 走ってるfirefoxがオープンしてる、プロファイルディレクトリ以下の
ファイルについて、必要そうなものを
$ cp /proc/{pid}/fd/{n} ~/tmp/firefox/...などとしてコピー。 - firefox落として再立ち上げ。
- profiles.iniも無くなってるから、プロファイルを聞かれる。ここは 新しいのを作ってすぐ終了。
- コピーしといた *.db ファイルなどを旧プロファイルディレクトリに 戻す。
- profiles.iniを編集して旧プロファイルを指すようにする。
- firefoxを起動して拡張を入れ直し。
だいたい元に戻った。保存しといたパスワードの類は綺麗に無くなってたけど。 あれはやっぱり安全のためにオープンしっぱなしにはしないのかな。
まあアホなミスではあったが、バックアップディスクが死んでるのを 発見できて僥倖だった。早速交換せねば。
Tag: System
2010/05/27
リストモナドと非決定性
わかりやすいんだけれど、「リストモナドは非決定性の文脈を表す」 と聞いたときに引っかかるのは、 リストには順序という概念も入っていること。 余分な制約がついてたら
リストモナドの表す文脈 ⊂ 非決定性の文脈
ってことにならないのだろうか。(もちろんそうだとしても 「リストモナドは非決定性の文脈を表す」という命題は否定されないけれど)。
例えばリンク先のpathFindの例では、試行の順番が究極には networkのソースに与えられてる順番によって決定されちゃってる。 この例だけで言えば、Mapをそのまま使ってるからそうなってるだけであって、 例えばlookup時に値のリストをシャッフルして返すような構造を使えば ソースのリストの順番と試行は無関係になるけれど、 やっぱりlookupから一度リストを返しちゃったら、その順番というのは その後の計算に引きずられる。
いやもちろん、ランダムな試行が欲しければそういうのを書けばいいだけなんだけど。 どっちかというと「順序という制約を暗黙にも含まない形で 非決定性を文脈を表すモナドを実装するとしたらどうなるのかなあ」 という疑問かなあ。
いや実装がある必要はないか。 単に抽象的な、例えばAmbモナドというのがあって、 リストモナドがその一形態、となっているんだったらわかるんだけど。
それともHaskellerはそもそも順序という発想をしないのかも。 答えはすべて記述されている。順序というのは使う人が値を取り出す時に のみ問題になる、そいういうことかなあ。それならまあ、シャッフルが 欲しければ最終的な値を取り出す時にかき混ぜてやればいいってことになる?
Tags: Programming, Haskell, Monad
2010/05/16
ちょっとものを数えたかったのでローカルにcountという関数を定義したら:
(labels ((count (...)
...))
...)
Allegro CLに怒られた。
Compiling a function definition for the name count as a labels. This name is in the common-lisp package and defining it will be a violation for portable programs.
そりゃ名前はぶつかるけど、俺のcountはローカルな範囲でしか 使わないんだからcl:countをシャドウしていいんだよ。 わかっててやってるんだから好きな名前使わせてくれよ。
Allegroがこんなお節介を焼く理由(のひとつ)は、 CLのマクロが健全ではないからだろうけど。 ローカルなcountのスコープでマクロを使って、その展開形にcl:countの 呼び出しが含まれていると、グローバルなcountを呼ぶつもりがローカルなcountを 呼んじゃう。でもコンパイラはマクロ展開結果を知ってるんだから、 せめて展開してぶつかる時だけ教えてくれてもいいのになあ。
Tags: Lisp, Scheme, Programming

Comments (2)