氏が作り上げた「超分散ファイルシステム」Winnyは、アンダーグラウンドで流行したWinMXの後継ファイル交換ソフトとして途方もなく優れた仕組みを持っていました。
WinMXでストレスを高めた「交渉による交換」を一切排し、ファイルのやり取りをした相手を特定することなく、「著作権含むけどそれと知らない人が単にデータを中継しただけ(47氏発言そのまま)」と言い訳できるキャッシュの持たせ方、より多くのファイルを提供する人が利する仕組み、そして「管理サーバを介することなく、ユーザーがいる限りネットワークが維持される」というP2Pの利点を最大限に活かした構造。その上で「何かが起きた時のブレーキをあえてかけない」という選択。
アンダーグラウンドなファイル交換を行う上で、考えられる限り最も美しく、手軽で、そして手のつけられない仕組みです。
この恐ろしい仕組みをたった一人、それも2ちゃんねるで随時実況できるスピードで作り上げたということは改めても驚くほかありません。
なんたる深遠さか、なんたる度胸か。
「善悪という枠にとらわれず、考えうる最高の違法ダウンロードソフトを作り公開した」という点こそが氏の才能の表れであると、そう思います。
そしてその行為は──技術者としての素養も技術も経験も知見も全くない自分にとってすら──何かを創り出す者にとって憧れであり、一つの尊敬できるものであります。
・すべて自分に原因がある、自分が悪いと思い込むのは、自分に万能の力があると思い上がっているのと同じだ。

『記憶する技術』:紙魚:So-netブログ (via bochinohito)

素晴らしい!

(via sweetwoodruff)

(via hustler4life)

大学の後輩が恋愛について悩んでいたので、酔っていた事もあり「まぁ、壊れるほど愛しても3分の1も伝わらないものだから」とテキトーに語ったら、元ネタが通じなかったらしく、「先輩、良いこと言いますね…」と普通に感心された時が、私の人生でも屈指の気まずい瞬間だ
「嫁欲しい」「彼女欲しい」というのは、具体的な成果物設定がないままゴールだけを規定しているという、プロジェクトマネジメントとしては失敗プロジェクトのモデルケースみたいな欲求なので、「○○さんを彼女にしたい」みたいな対象物を伴った適切なゴールラインの設定をした方がいいと思います。

一般的に言って、プロジェクト構築の際には、最低限以下のような項目を設定しておくことが必要になると思います。

1.プロジェクトの目的設定
2.プロジェクト達成の為のアウトライン設定
3.ステージごとの成果物設定
4.ステージごとの課題・リスク想定
5.ステージごとのスケジュール設定
6.予算想定
7.リソース・体制設定

細かいところは他にも色々とあると思いますが、ざっくり以上のような項目は必須と言えるでしょう。

■1.プロジェクトの目的設定

「彼女欲しい」はゴール設定ではあるのですが、聊か具体性に欠ける為、要件定義の工程が不可欠になります。出来ることなら、「○○さんを彼女にしたい」といった具体的な成果物設定をしたいところです。

要件定義の工程をまるごと省ける上、その後のアウトライン設定や、課題・リスク想定もより具体的になり、プロジェクトとしての背骨がぐっと引き締まります。

■2.プロジェクト達成の為のアウトライン設定

彼女を作る為のざっくりした工程を考え、ステージ設定します。
一般的には、

・要件定義(どんな彼女が欲しいのかを具体的に想定)
・外部設計(どういった状況、場所、手段で当該彼女と仲良くなるかの計画)
・内部設計(上記工程の為に必要と思われる事前準備)
・実装(実際に工程を実施)
・納品/リリース(彼女が出来る)
・保守/運用(彼女と仲良くする)

といったアウトラインになるのではないでしょうか。
リリース直後に不具合が頻発して業務停止、といった事態を間違っても招かない為にも、実装段階におけるリグレッションテストは綿密に行うべきでしょう。彼女モジュールとの意思疎通は密に行うべきかと思います。

■3.ステージごとの成果物設定

上記ステージごとの細かいゴールを決めます。
外部設計時点では当然外部設計書が成果物になることが多いでしょうし、実装したら当然彼女モジュールが成果物になるのでしょう。運用手順書はあるに越したことはないと思いますが、そこら辺の彼女運用手順書っぽいものを中途半端に参照すると却って彼女モジュールの機嫌が悪くなったりすることもあるらしいので気を付けてください。

■4.ステージごとの課題・リスク想定

ステージごとにどのような障害が起こりえるのか、ということを事前にある程度想定しておくと、プロジェクトの遂行におけるリスクが減り、プロジェクトの実施をスムーズに出来ます。

例えば

・具体的な恋愛対象となる女性の心当たりがない
・そもそも周囲に女性が存在しない
・母親以外の生物学的女性を8年程目にしていない

といった障害は、内部設計段階における重大なリスクです。それに対して、

・女性がいる環境へのアクセス手段を考える

といった対策をざっくり想定しておくとスムーズにプロジェクトが進行出来るのではないでしょうか。

■5.ステージごとのスケジュール設定

ステージごとにざっくりどの程度の期間が必要か、ということを想定します。

これは、要件定義の内容次第で本来大きく変わることですので、
プロジェクト計画時点では仮のスケジュールということでいいでしょう。ただ、設計期間に二年とか、余りに時間を掛けすぎると途中でどうでも良くなってしまう可能性もある為、ある程度スピード感をもったスケジューリングをするべきだとは思います。

■6.予算想定

ざっくりいくらくらいの予算を必要としそうか、またいくらくらいまでの予算を投入可能か、ということを考えます。これも、要件定義の内容に基づいて見直すべき項目ではありますが、プロジェクト計画時点でも仮設定ということで設定しておけば、後々の予算調達がやりやすくなるでしょう。

■7.リソース・体制設定

本来「誰が何を担当するのか」「どの程度の人員、設備を投入出来るのか」ということを設定する為の項目ではあるのですが、彼女欲しいプロジェクトの場合、大体「俺」としか書き込まない項目です。

ということで、駆け足になりましたが、プロジェクト構築の際必要と思われる項目について見て参りました。
これを参考に、彼女欲しいプロジェクトをより明確化具体化し、皆さんが健やかなプロジェクト運営をされることを願ってやみません。

自分がいつも心がけてるのは課題設定を無理しすぎないことかな。3日合宿があったら2日ぐらいで終わりそうだなーというものを実行する。

そうするとほんとに2日でだいたい終わるんだけど、残った1日は何をするかというとディテールの作りこみ。例えばサービスであればデザインとかレイアウトとかの微調整、プログラムであればバグ取り、リファクタリング、モジュール化、フレームワークへのフィードバック etc. 加えて、作ったものを人に説明するための段取りとかね。

つまり、合宿で自分はこんなことをやりました! っていうのをアピールする好材料を作るのに時間を作る。それで合宿終わったあとの発表で、みんなにすごいと言ってもらう。すごいと言ってもらうためにはディテール重要。すごいと言ってもらえると合宿いってよかったという気になる。非常に満足感の高い合宿になって次もがんばろうという気になる。

物づくりで地味なようで一番大変なのは実はこのディテールの作りこみを行うためのモチベーションをどうやって上げるかというところ。コアの機能とかは、作ってて楽しいから嫌でもモチベーションはあがる。でもゴールが見えてくるとやりたくないこともやらなきゃいけない。いかにそれをやりたいことに変えるか。すごいと言ってもらうために残った時間でせこせこ作ったものを磨いていると、みんなの驚く顔とかが想像できて、やる気がでる。ポジティブスパイラル。

合宿で作ったものをお蔵入りさせないためにも、合宿が終わるころにはもうリリースできる状態になってるっていうのはとても大事。そのためにはバッファを用意しておかないと、合宿から帰って疲れた体で細かい作りこみを行わなきゃいけなくなる、そうするとやる気がなくなって、モチベーションが落ちて、放置してるうちに見るのも嫌になって、お蔵入りしたりする。ネガティブスパイラル。

リンカーンは奴隷制に反対する理由を問われ、「人には好きな仕事を選び、自分の意思でそれを辞める権利があるからだ」と答えている。「選らばなければしごとはいくらでもある」なんて言う人は「若者の就労をうながしてる」のでもなんでもなく、現代によみがった奴隷商人と呼ぶにふさわしい。
ぼくは転職しやすい社会は賛成だけど、人材派遣による雇用の流動化には反対。米国型の人間を規格化された部品として扱う社会って、事実上、職業選択の自由がないのも同様だし、人材のレベルも下がる。「経営者」にとっては扱いやすい系なんだろうけどね。

Twitter / KAWANGO

とても大事な話。

(via whatsmyscene) (via handa) (via quote-over100notes-jp) (via gkojax)