たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。
以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
勉強会って何なんだろう。何のためにあるんだろう。という事が、考えれば考えるほど分からなくなってくる。
僕がWeb標準に傾倒してたりMozillaの拡張機能開発に持てる限りの時間をつぎ込んだりしてた時は、そもそもそれらをテーマにしたイベント自体が存在していなかったか、存在していても僕はそれを知らなかった。知識を得たかったらソースコードや英語の原典に当たるしか無くて、ノウハウを得たかったら自分で試してみるしか無くて、同じ事に興味を持ってる人同士で集まって勉強会を開くというのは想像もできなかった。技術的な向上は、人と会ってする物という認識があまりない。
だから、僕にとってMozillaのイベント(当時で言えばMozilla Party)とかは、知識や経験を得るための場というよりも、お祭りのような意味合いの方が強かった。Shibuya.jsもそうだった。行って何を得て帰ってくるかではなくて、行く事自体が目的だった気がする。
大阪から新幹線なり夜行バスなりで時間とお金をかけて東京にまで出かけて、長くても1日とかそのくらいだけ滞在して、帰ってくる。その過程で技術的な物を手に入れる事はあまり考えてなかった気がする。それだったら、大学の必修の講義を受けた後の有り余ってる時間で調べたり試したりした方が効率いいじゃんって思ってたんじゃないかと思う。
話を聞きに行きたかったというよりも、同じ事に興味がある人と会う機会が欲しかったんだと思う。だから懇親会には必ず参加するようにしてるし、そっちの方が自分にとっては重大事という気がする。この間テスト駆動開発の勉強会の後で懇親会に出れなかったのはとても残念だった。
勉強会的な物に全く意味が無い、とは思わない。JSDeferredのコードリーディングやテスト駆動開発の実習のように、コードと向き合う時間がある物は自分にとっては得る物が多かったと思う。こういう事こそまさに、実際に集まってやらなきゃできない物なんじゃないかと思う。逆に、「前に講師が一人立って淡々とプレゼンして大勢の聴講者がそれを聞くだけ」というスタイルの物は、極論すれば別に実際に集まってやらなくたっていいんじゃないのと思う。そういうスタイルでやる意味があるのは、Shibuya.jsとかジョジョ勉強会とかのように、その場の空気を共有する事に意味がある物くらいなんじゃないかって思う。
まあ、世に多数ある一般的な「勉強会」にはほとんど参加した事がない人間だから、そう思うのかもしれないんですけど。
夜フクロウというMac OS X用のメジャーなTwitterクライアントがあるんだけど、夜フクロウのアップデートに伴って、作者のポリシーによって一部の機能が削除されたというか使い方が制限されるようになったそうだ。それに対して、その機能を使っていたユーザが「なんで機能を削除したんだ」「作者の横暴だ」「作者にはユーザの要望に応える義務がある」「作者の思想を押しつけるな」といった発言を作者に対して行ったそうだ。
以前、僕はこんな事を書いた。
あなたが使いたい物がどこにもないのなら、あなたが自分で作るしかない。使いたい物があっても作る気が無いのなら、誰にも文句は言えない。作る気がなくても使いたいのなら、賃金なり労力なりのコストを負担するのが当然。あなたのためにタダで働いてくれる都合のいい奴隷は、そうそういない。いまあなたがタダで利益を得られているとしたら、他の人がその人自身のためにやったことのおすそ分けを貰っているからにすぎない。おすそ分けが少ないぞと文句を言う権利はあなたにはあるけれども、それに応じる義務は誰にも無い。なんでおすそ分けをもっとよこさないんだ、と不満を述べる姿はただ滑稽なだけだ。
この辺の僕の認識は今もずっと変わっていない。
しかし作者がどう考えていようとも、「お客様は神さまだろゴルァ!!!」と横暴な物言いをするユーザは出てくるし、「ちょっとくらい耳を傾けてくれてもいいのに」と言って結局は全面的に要求が受け入れられるまでいつまでもしつこく食い下がるユーザも出てくる。それは避けられない。
でも、そういう声に毎日のように晒されてウンザリしてやる気を削がれたり、強迫観念に囚われて精神を病んでしまったりすることは、避けられると思う。自作のソフトウェアをオープンソースなライセンスのもとで公開するのは、そのための自衛の手段として有効なんじゃないかと僕は結構本気で思ってる。
フリーソフトウェア(※ここではストールマンが言う所の自由なソフトウェアの事)やオープンソースの考え方がどういう理由で出てきたかは、この際どうでもいい。重要なのは、「嫌ならフォーク(元のプロジェクトと袂を分かち、別プロジェクトとして分岐・継続すること)してよ」と言えるようになるという点だ。
こういう声を受けてストレスを感じる人というのは、多分、責任感が強いとかマジメだとか、そういう気質を持ってるんだと思う。だからこそ、要望が寄せられると「自分がやらなきゃいけない」と感じて抱え込んでしまうんじゃないだろうか。
クローズドソースだと、まさに文字通り「自分がやらなきゃ誰もできない」ので言い訳ができない。要望に応えないことを選ぶ場合、それに対する責めに真っ正面から立ち向かわないといけない。精神力が強くないとやってらんない。
でも、オープンソースにしておけば、言い訳ができる。自分がやらなくても、他の誰かがソースコードに手を加えて実現することが、理屈の上では可能なのだから。自分一人で抱え込まなくてもよくなる。
あるいは、「どうしてもやりたいんだったら自分でやってくれ」と言うこともできる。僕はよく、そういう言い方をしてると思う。自分自身が、他の人の作った拡張機能が動かなくなったのを見よう見まねで改造して動くように修正した、という所からアドオン開発のキャリアがスタートしているから、実感を持ってそう言ってる。やる気と時間さえあれば多分できるはず、本気でそれが必要なんだったら何が何でもやるはずだ、そう思ってる。こうなると、その機能がいつまで経っても実現されないのは、「僕のせい」ではなく「自分でやろうとしないその人のせい」になる。
相手がどう思おうとどうでもいい、とにかく自分の中でそういう理屈で言い訳ができるって事が大事なんだと思う。
同じ理由で僕は、Mozilla Add-onsの寄付募集機能も使わないようにしてる。
AMOでは、作者が設定しさえすればPayPal経由で寄付を受け取れるようになっている。ちょっと前にそういう機能が付いた。機能を使ってる人もちょっとずつ増えていってるみたいだ。でも僕は今の所、寄付機能を使って寄付を募るつもりはない。
何故かというと、「金払ってるんだから言う事を聞けよ」って言われるストレスに晒されたくないからだ。「いい物にはお金を払いたい、だから寄付したいんだ」と言われたらそれはそれで嬉しい。でも、金と一緒に「そしてお金を払ったんだからこっちの言う事を聞いて欲しい」という要求がくっついてくるんだったら(「寄付」のためのシステムを「対価を払うため」に使われるんだったら)、金は受け取りたくない。受け取らない代わりに自由でいさせて欲しい。
というか、相手がそう言っていなくても多分自分の中で「金を受け取っておいて無視するのか?」という声が聞こえてくるだろうと思う。金を受け取っていなければ、「別に、応えなきゃいけない義理はないんだし」という言い訳をしやすい。相手に対してというよりも、自分自身に対して、そう言い聞かせやすくなる。
アドウェア(広告を表示する機能をくっつけて公開することで、費用を広告収入でまかなうという配布形態)にしないのもこの理由が大きい。まあ、広告を入れる余地がどこにもないという設計上の理由もあるんだけど。
確かにソースを公開しないでいれば、競合相手が登場しにくくなって、名声を独り占めできるかもしれない。確かに寄付を募れば、お金が手に入るかもしれない。でも、何かを得るためには何かを失わないといけない。自由な時間、自分自身からも追い立てられることのない気楽な状態、そういう物が代わりに失われる。それに耐えられない脆弱な神経しか持ち合わせていないので、僕は、地位名声の独り占めも寄付金も諦めることにした。僕は、気楽な方がいい。ストレスに追い立てられながらこなすのは、生きるために避けられない仕事だけでいい。生きるために必要でない余暇のことにおいてまで、ストレスに追い立てられなくてはならない道理はない。
このエントリを見て阿久根市長みたいだなと言う人もいるようだ。
阿久根市長がどういう事を言ってるのか逐一ウォッチしてる訳じゃないからちゃんと把握してないんだけど、「自分でやれ」「嫌ならフォークしろ」とかそういう言い方が該当するんだろうか。それとも、作者が暴君のように振る舞う限りは作者自身は気楽だけど、その分のストレスは善良なユーザにしわ寄せが行ってるということだろうか。
僕は、善意のソフトウェア作者に精神を病んで欲しくない。フリーソフト作者(※言うまでもないけど、ここでは自由ソフトウェアではなく無料ソフトウェアの方ね)の中に一定数いるであろう「便利な物を作ってみたから、みんなもどうぞー」という素朴な善意でソフトウェアを公開している気のいいあんちゃんが、たかり体質の人間にまとわりつかれて疲弊して潰れる姿は、見たくない。だからこのエントリは、そういう人に自衛のための手段を紹介するという点にフォーカスして書いたつもり。
たかり体質の人は、「それが当然だ」という理由を尤もらしい言葉で強い語調で語る。だから気が弱い気のいいあんちゃんはうっかり「もしかしたら本当にそうなのかな」って思ってしまうかもしれない。
もう一度引用する。
あなたが使いたい物がどこにもないのなら、あなたが自分で作るしかない。使いたい物があっても作る気が無いのなら、誰にも文句は言えない。作る気がなくても使いたいのなら、賃金なり労力なりのコストを負担するのが当然。あなたのためにタダで働いてくれる都合のいい奴隷は、そうそういない。いまあなたがタダで利益を得られているとしたら、他の人がその人自身のためにやったことのおすそ分けを貰っているからにすぎない。おすそ分けが少ないぞと文句を言う権利はあなたにはあるけれども、それに応じる義務は誰にも無い。なんでおすそ分けをもっとよこさないんだ、と不満を述べる姿はただ滑稽なだけだ。
ユーザからの要望に応えることが作者自身にとっても当たり前になってくると、そもそもなんで要望に応えなきゃいけないの?という事が分からなくなってくる。自分で自分をがんじがらめにして、「要望に応えなきゃ」というプレッシャーだけが一人歩きしてしまう。
だから、思い返してみて欲しい。何故自分がそれを始めたのか、そして、何故それを続けているのかを。あなたは、エンドユーザの奴隷になるためにソフトウェアの公開を始めたのか? 違うだろう。
1つ前の話の続きかもしれない。
僕自身は、「努力できる人っていいなあ羨ましいなあ」と思うけど、大抵の事は努力しようと思っても続かない飽きっぽい人間だと自覚しています。自炊、続きません。運動、続きません。やってもすぐに成果を得られない事は大抵、やってる途中で飽きちゃいます。自分の飽きっぽさを認められない、自分はそんな飽きっぽい人間じゃないはずだ、自分が悪いんじゃなくて自分を飽きさせるその対象の方が悪いのだ、と思う人がひょっとしたら「努力なんてかっこ悪いよ」と斜に構えて言うのかも知れません。少なくとも過去の自分はそうだった気がします。
でも、楽しい時ってホント、秀丸エディタに10時間以上連続して向き合ってても苦にならないですね。食事をする時間も惜しいくらいにのめり込むことが結構ありました。今は、毎日ちゃんと会社に行かないといけないので、やりたくてもできないんですけど。
彼らは、プログラム書いててノリにノッてる時の僕みたいな感じで、仕事(=儲けに繋がる事)をしてる時はそれが楽しくて楽しくて仕方ないというタイプの人なんじゃないかと思います。僕は金に繋がりやすい事に彼らほど熱中できる気はしない(金儲けが嫌いなのではなく、好きな事が金になりにくい事ばかりだという意味ですよ)ので、彼らのように大儲けはできないんだと思います。残念ですが仕方ないです。彼らの真似はできないので、羨んでも無意味です。
「さあ努力するぞ」と思って努力できる・努力が続くのは、何でもいいから努力するのが好きだという人なんだろうと思います。ある意味マゾだと思います。僕も大概マゾいと思いますが、そういうマゾさは無いので、残念ですが努力が続きません。仕方がないので、やってて苦にならない事に没頭して現実逃避するのです。それが僕の場合は、Web標準だとかCSSだとかJavaScriptだとかMozillaだとかだったりなんでしょうね。
ただ、幸いな事に自分は、そうして現実逃避して没頭した対象に関する知識とか経験とかがそれなりのお金になるという状況に居る事ができています。「仕事なんか辛くて当たり前だ」という話をよく聞きますが、自分はそういう意味ではとても恵まれた状況にいるのだと思います。
とりあえず、何かやるならやってて苦にならない事をやる方がいいと思うし、やってて苦にならない事がいくつかあるのならその中で一番お金になりそうな事を優先すると、色々ラクになるんじゃないかなと思います。
僕の場合、Mozilla以外ではRails(Ruby)やり始めた時は右も左も分からなくて辛かったですけど、分かってくるとそれほど物凄く辛いという事もなくなってきた気がします。やっててそれほど辛くないと思える事がいくつか手持ちであると、つぶしがきいていいと思います。なので、そういう物がまだないという人は、そういう物を見つけてみるといいんじゃないかと思います。
ただ、「あ、それほど辛くないな」と思えるようになるまでにはひょっとしたらそれなりに時間がかかるかもしれませんので、最初のうちは、辛くてもちょっと無理して続けてみるという事が必要なのかもしれません。考えてみれば、自分もMozillaの中を見始めた時は色々辛かった気がします。
そこで諦めないで続けざるを得ない何らかの事情(Mozillaの時は「他にやってくれる人がいなかった」、Railsの時は「仕事で仕方なく」)があると、「あ、それほど辛くないな」と思える所まで辿り着きやすくなるのかもしれません。そういう意味では、他に手を付けてる人が居ない事(自分がやらなきゃ他に誰もやってくれない事)に手を付けてみるというのは、いい選択なのかもしれないなと思います。
「みんなと同じ事やっててもつまらない」というのは、そういう話なのかもしれませんね。
進むべきか退くべきか。違う道を選ぶべきか、今いる道を歩き続けるべきか。@saneyuki_sさんのそういう悩みと、内田樹氏の「なんとなく、で始めた人のほうが長続きする」という話を見てて、こんな事を思ったんですが。
結婚は「好きな物が一致する人」ではなく「嫌いな物が一致する人」とした方が長続きする、という風な話をどこかで見たか聞いたかしました。どうも世の中は、「好きな事が一致してたら、他の所でどんなに相性が合わなくても大丈夫!」という人よりも、「どーしてもここだけは我慢ならない! という点で問題がなければそれ以外の事はだいたい妥協できるよ」という人の方が多いみたいです。僕自身もそういうタイプな気がします。
思い返してみれば僕自身、プログラミングでご飯食べる事になるとは小さい頃にはこれっぽっちも全く考えてなかったと思います。どちらかというと、数十人にも及ぶキャラクター達の膨大な設定と、彼らの暮らす世界の通貨やら単位系やらにまで言及した細々とした世界設定と、世界の始まりと終わりを股にかけるようなやたら壮大なストーリーを盛り込んだ、超大作RPGを作るプランナー的な立場に超憧れていて、RPGツクールとかRPGメーカーとかを買ってはみたものの、最初の村すら完成させる事ができず、いやまあそんな事はどうでもいいんですが、とにかく「クリエイター」に憧れてはいたけれども「プログラマー」には憧れてはいなかったと思うんですよ。
そもそもこのサイトを作り始めたきっかけは、自作の絵をメインコンテンツとして公開する場所を設けたかったからだと思います。そう、今じゃ年に2回くらいしか絵を描かなくなってしまいましたが、当初の自分の心の拠り所は「絵描き」だったのです。将来はキャラクターデザイナーになりたいとか、イラストレーターになりたいとか、そんな事を夢想していたりもしたのです。
またある時は、プロモデラーに憧れた事もありました。プロポーションをいじる加工のやり方や関節を増やす加工のやり方を勉強して、MG RX-78-2 Ver.kaをスマートにする改造とか電撃ホビー付録のとにかく動かない1/144 TR-1ヘイズルをフル可動にする改造とかやったりもしました。が、今では成形色仕上げのお手軽パチ組みが関の山です。
どうしてこうなったのか、理由はたくさんあると思うんですが、自分の内面的な最大の理由は「面倒だったから」で説明できる気がします。
絵を描くのってめんどくさいんですよね、ぶっちゃけ。背景を真面目に描こうとすると、パース取るのに気をつけなきゃいけないし、木の葉っぱとか窓とか真面目に描くと本当に単純作業だし。それでも頑張って完成させたとしても、雰囲気のいい写真には絶対敵わないわけですよ。風景を描くのが好きで描いてるんじゃなく、風景がないとみっともないから嫌々描いてるだけだから、そこには愛がないのです。
プラモは、塗装がとにかく嫌なんですよね。道具の準備と片付けがものすごくめんどくさい。気が短いから半乾きで触ってしまって指紋べっとり、なんてのはしょっちゅうですよ。乾くの待ってる間に熱意が冷めてしまうし、なんとか頑張って最後まで仕上げた所で、中国のおばちゃん(お姉さん?)が手がけたGFFよりもヘボい仕上がりにしかならないし。とても報われません。塗る楽しさじゃなくて、できあがった物でブブーンドドドドドと遊ぶ方が楽しいのです。いわゆるブンドドです。
それらに比べるとプログラミングは、まだ長続きしてるんですよね。面倒な所はコピペしても誰も文句言われない、むしろそれ(車輪の再発明をしないで、ライブラリを利用するようにする事)が奨励されてるくらいです。自動テストを書くのも、果てしないリグレッションの嵐に終止符を打つ事ができるからです。手作業で10時間かかる面倒な事を10時間かけてこなす事が尊ばれるのではなく、仮に10時間でも20時間でもかかったとしても、実行したら1分で自動的に片付けてくれる自動処理を書く事の方が尊ばれる。それが自分の性に合っているのだと思います。
ただ、すべての人がそうだとは思いません。人によっては、自動化の手順やらなんやらを考える事が苦痛でたまらない、そんな事するくらいだったら淡々と手を動かす方がいいよ、って場合もあるだろうと思います。
そこが多分、自分が一番多くの時間を過ごす事が何になるのかを決めるポイントなんじゃないかと思います。
自分にとって、何が耐え難い苦痛なのか。どうであったら我慢できるのか。苦にならないのか。苦にならない物であれば長続きするわけで、長続きすればそれだけ沢山経験が蓄積されるわけで、嫌々やらされる場合に比べたらそれは大きなアドバンテージになると思うんです。やる気の燃費がいい、というか何というか。
でも、何が耐え難い苦痛になるのかなんて、実際やってみないと分からない部分が大きいんですよね。やってるうちに慣れるかもしれない。というか大抵の事は慣れてしまう。人間の適応力ってすごいみたいです。「美人は3日で飽きるけど、ブスは3日ですぐ慣れる」なんてフレーズもありました。だから、恐れることなく色々手を出していいんじゃないかと思います。若くても、大人でも、それは変わらないんじゃないかと思います。
ドラえもんの4次元ポケットについて真面目に考えてみた。
4次元ポケットの中には、外見から想像される容積より遙かに多くの物を格納することができる。また、内部空間はスペアポケットとの間で共有されているため、スペアポケットから入ってドラえもんのポケットから出てくるということもできる。(実際に、行方不明・回収不能になったドラえもんを発見するためにこの方法を使ったエピソードもある。)
4次元という物を正しく理解すると、どのようにすればこういった仕組みを実現できるのかが見えてくる。
4次元を理解するには、2次元と3次元を対比した場合を考えるのが手っ取り早い。
話を我々が暮らす3次元を基準にして考えてみよう。
こうして考えてみると、どこでもドアや道路光線や通り抜けフープ、ビッグライトやスモールライトやガリバートンネルも、おそらく同じ基礎技術に基づいて開発されているのだろうと考えることができる。
同じような理屈で、移動する物や大きさを変える物、形を変える物の「原理」を色々と説明することができる。ひょっとしたらタケコプターすらも、同じ基礎技術を使っているのかもしれない。ドラえもんが開発された22世紀というのは、このような4次元を扱う技術が高度に発達した時代なのかもしれない。
この考えの中で一番問題になるのは、「空間を折り曲げる」という所ではないかと思う。
ところで4次元ポケットは、ドラえもんに限らず誰でも任意の道具を取り出すことができる。また、ドラえもん自身ですら、混乱している時には望みの道具を一発で見つけることができない。この事から、4次元ポケットは利用者の思考を何らかの方法で読み取ってそれに対応する内容物を返す、汎用的な物体格納・運搬デバイスなのだと考えられる。
ケータイ世代の女性が企画:男の知らない“きれい”とは――4000枚以上の写真から完成したカシオ端末の「美撮り」 - ITmedia +D モバイル
リンク先の記事にある写真を2つのタブで開いて何度かタブを切り替えてみると、違いがよく分かる。「美撮り」の方は肌をソフトに・目を若干大きめに加工してあった。リアルタイムに自動で行うちょっとしたフォトレタッチだけど、よく考えてみれば今の携帯端末はそれなりの性能のPCみたいなもんなんだから、ソフトウェアさえ載っければこういう事は造作もないんでしょうね。そういえば懐かしい記事で、美人フィルタなんてのもありましたね。
こういうので撮った写真を「偽物だ」と言うのは容易いけど、こういうリアルタイム自動フォトレタッチがあるといいなあと自分も思いますよ。
自分の携帯のカメラとかで彼女の事を撮っても、後で見返してみると、ちょっとションボリする写りで残念になる事がある。肉眼で見てその時感じた「この瞬間の画が欲しい」と思った映像と比べて、蛍光灯の光が青白かったり顔に影が落ちて薄暗くなってたり。一眼レフのカメラを借りて撮った写真は、それに比べるとまだ「思った通り」に近い写真になってたと思う。でもそれでも、肉眼で見た時の通りというわけではない。
人の目というのは、眼球を通して網膜に映った光を視神経で脳に伝えてそこで改めて映像として再構築する物らしいけど、思うに、その過程で周囲の様子とか音とか匂いとか思い入れとかいろんなものが反映されて、物理的な形状とは違う人それぞれの見え方になる物なのではないだろうか。だから、3次元の物理的な形状をレンズを通して2次元に写し取っただけの写真を見た時に、他の情報が欠けているために「あれ、なんでこんなにショボく見えるんだろう……」ってなってしまうんじゃないだろうか。動画の方がまだマシに見えるのは、情報の欠落が写真に比べればまだ少ないからじゃないだろうか。水彩画や油絵なんかの絵が時に写真よりも美しく見えるのは、僕ら凡人が実物を見ても感じることのできない美しさを、画家が敏感に感じ取ってキャンバスに描き付けるからだったりするんじゃないだろうか。
いや、単に、僕のカメラの扱いがなってないだけというのも多分にあるとは思いますけどね。カメラの使い方を心得てる人達なら、同じカメラでもきっと、僕が撮った写真よりずっといい写真を撮れるはず。
ともかくフォトレタッチというのは、写真というメディアの特性や、あるいは撮影者の腕のヘボさによっていくつかの情報が欠落してしまった結果の画像に対して、欠落していた情報を加味した補正を加えて、自分の目でその人や風景を直接見た時に感じていた物に近い情景を再現する作業なのだと僕は思う。「偽物の像を造る」作業ではなく、「自分の記憶に焼き付いた唯一無二の『本物』を復元する、再現する」作業なのだと思う。CGを駆使した映画というのも、偽物を作ってるんじゃなくて、監督の頭の中に思い浮かべられた映像を再現してるんだと思う。(絵を描くという作業だってそもそも、思い浮かべたイメージを画面上に正確にトレースする作業なんですよね。だから、完成図を細部まで思い浮かべる想像力と、それを正確に描写する力とが重要になる。グラデーションがどうとかのテクニックは、思い浮かべた物を画像として再現するための道具でしかない。)
写真を撮るのが下手糞な僕でも、彼女を見て「かわいいなあ」と思った時の感動をそのままフレームに収められたら嬉しいだろうなあと、僕は思うんですよ。そのために何十万円もするカメラやレンズや撮影環境を整えなくとも、いつでも持ち歩けるサイズの携帯電話の組み込みのプログラムで補えるのなら、それはそれで手軽に使えて嬉しい便利な道具だと思うのです。
eval否定論への反論を書いてて、「以前あんだけ理想論垂れ流してた自分がどの口でこんなことを言うのかね」という事をちょっと思った。でもよく考えてみたら、(ただの自己正当化かもしれないけど)昔から自分の考えは結構一貫してるんじゃないかという風に思えてきた。
僕は元々、自作の絵の公開場所としてWebサイトを作り始めた。当時はNetscape Communicator 4付属のNetscape Composerでページを作ってたけど、凝ったレイアウトをしてたら当のNC4でページ読み込みに死ぬほど時間がかかるようになってしまった。凝ったレイアウトをしつつ逐次レンダリングができるようになるということでCSSの存在を知って、勉強するのにいい本を教えてくれと2chのスレで聞いたらスタイルシートWebデザインを勧められた。その本で「ページの内容と外観の定義情報は分離できる」ということを知って、僕はW3C信者になった。
W3C信者というのは、以下のようなことを言う人間のことだと思ってもらえばだいたい合ってると思う。
で、そういう人の特徴的な行動として、lint等のバリデータでエラーが出るページをあげつらって文句言ったり、「間違ったHTML」を教えてる人がいればそこの掲示板に殴り込んで「あなたの書いている内容は間違っています」と言ってまわったり、日記で名指しで「こいつは何も分かってない」と非難したり、まあそんな感じのことがあって、僕もそういうことをやってたわけですよね。
そういう時に返ってくるお決まりの言葉が「理想論を垂れ流してるんじゃねえ!! 現実はお前の言うような綺麗事じゃ動かねえんだよ!!!」というものだった。うん、自分が今言ってることとソックリだ。
現実を知らなかった当時とは違って今は考えも変わって丸くなりましたから、という自己弁護も可能かもしれないけれども、できれば「考え方が変わってしまったから」だとは思いたくない。昔から一貫して1つのことを言い続けてきたのだと思いたい。そこで、その頃自分が受けた反論と自分が今している反論に違うところはないかということを考えてみた。
自分自身当時から意識していたことなんだけど、「代替案が無いくせに理想論を押しつけるな」という事はずっと考えてた。理想的な手段では現実のニーズに対応できないから「間違った」手段に流れてしまうのであって、ニーズに対応できる答えを示せない限りは「間違った」手段は使われ続ける。理想的な「正しい」やり方を使うことで失われる物は何もなく、今抱えているニーズにもきちんと対応できて、その上新しく色々なメリットを享受できますよ、という風に説得しなければ人は動いてくれない、そう思ってた。「理想のためなら素人受けするようなレイアウトはできなくてもいい」などとW3C信者自身が言うのは、Pure CSSでかっこいいレイアウトを作ることができない自分の視覚的デザイン力の欠如を棚に上げた、怠惰な言い訳でしかないと思った。
だから僕は、「CSSじゃレイアウトとも呼べないようなダサいページしか作れない」という偏見に基づく嘲笑の声に対して、HTML 4.01 Strict(あるいはXHTML 1.1)とCSS2というWeb標準の技術だけでもきちんと「素人が喜びそうな派手なレイアウト」は可能なんだということを、実例を示してアピールしようとしてきた。JavaScriptやPerlで「スタイルシート切り替えスクリプト」を作って、ページの内容と外観を切り分ければこんな事ができるようになるんだというのを示そうともした。
今eval恐怖症とも思えるようなeval否定論を見て思うのは、「お前は間違ってる、正しい物を学べ」「理想のためなら何を引き替えにしてもよい、失われる物が多くても何ら構わない」と言うW3C信者によく似てる、僕が目にして「これじゃあ駄目だ」と思ったパターンにそっくりだ、という事だ。また、そういうW3C信者に対して、技術的なことを知らない・CSSでレイアウトはできるという事を知らない人が行っていた「CSSでまともなレイアウトなんかできない」という偏見に基づいた事実に即していない言いがかりを見た時の、「それは違う!」という思いにも似たものをも、同時に思っている。
当時は「非難する側、正義を背に付けた側」の立場から、「技術的な正しさと現実のニーズを満たすことの両立は不可能なのだ」という双方の偏見を取り除き誤解を解こうとしていた。今は「非難される側」の立場から、双方の誤解を解きたいと思っているのではないか。自分ではそう認識しています。
ひょっとしたら同じような事を既に書いたかもしれないけど。
僕は、あまり束縛はしたくないと考えてる。理由はいくつかある。
「不安にならないのか?」と訊かれたけれども、不安がってもしょうがないというか、相手が束縛を嫌がるからという理由でまず「束縛したくても束縛できない」し、束縛されるのを嫌がってるのを無理に束縛するのはただの嫌がらせにしかならないと思うし、束縛したって(腰の退けた束縛の仕方にしかならないから)いくらでも浮気二股やろうと思えばできると思うし。結局、相手の言ってる事を信じるしかないよね。という感じで僕は開き直ってます。
もちろんその信用を裏切られる事はないと思いたいけれども、もし裏切られても、まあいいか、と。もちろん、本当に裏切られたらきっとものすごいショックを受けるだろうけれども、でも「裏切られる事」を恐れて束縛を強めることが結果的に相手を「裏切り」に走らせる事に繋がるのなら、束縛してもしなくても結局同じだと思う。僕は相手の事を信じる事にした、その上で相手が僕の事を裏切る事にしたんだったらそれはもうどうしようもないだろうなあ、と。裏切って欲しくないと僕が思っていて、そう言っていて、それでも裏切らずにはいられなくなったのであれば、そりゃもうしょうがないよね、と。
ところで、束縛というと「相手が自由意志で何かをしようとすることを、無理矢理引き留める」というイメージがあるけど、「相手がやりたくないと思ってる事を、無理矢理やらせる」のも本質的には同じ事だと思う。料理が嫌いな人に手料理を無理矢理作らせたりとか。クリスマスやバレンタインデーといったイベント事に何かする事を強要したりとか。
束縛って、要は相手の事を完全に支配したい、コントロール下に置きたいと願うという事だと思う。相手をコントロールしたいなんておこがましいと僕は思うし、コントロールしきれるとも思ってない。じゃあ、そんな僕が相手を束縛するというのは、コントロールしきれるとも思ってないしコントロールする権利もないと思っている相手の事を、コントロールしようとするという、賽の河原で石を積むような行為だよね。それって意味無いよね。と思ったら、束縛する気が萎えてしまいました。そんな感じ。
FUEL廃止はJetpackの台頭と対になっているよ、という話。
FUELとJetpackは、コンセプトが確かに重複してるんですよね。
違うのは、FUELはあくまで既存の「拡張機能」という枠組み(JavaScriptやXULやCSSを使って、XPI形式にして、云々)の中でそれを達成しようとしていたのに対して、Jetpackは「そもそもXULとか要らなくね? JavaScriptだけでよくね?」とちゃぶ台をひっくり返してその目的に特化した物をゼロから作った所だと思う。
「Firefoxに機能を追加するなら拡張機能を使いましょう」というのは、実装の仕方をなるべく1種類にまとめて世界を分かりやすくしたいという、開発者目線の考え方のように思う。そうではなく、「Firefoxに機能を追加できるなら、拡張機能でもGreasemonkeyでもUbiquityでもJetpackでもStylishでも何でもイイじゃん。なんで拡張機能に拘らないといけないわけ?」とユーザー目線の発想で考え直したら、FUELみたいな子供だましではなく、Jetpackのように実行環境を1個丸ごと作りなおす事になりました、と。そういう話の流れなのだと僕には思えた。
既存の拡張機能の作り方に特化して知識を溜め込んできた僕にとっては、はっきり言って恐怖ですらある。自分の存在価値、アイデンティティを揺るがす事態だ。だって、大学在学中からMozillaにのめり込んで、それが縁で就職までしてしまって、今もそれをネタに仕事してるんだもの。
そんな僕にとっては、Jetpackが優遇されてFUELが廃止されるというのは、今まで自分が慣れ親しんでいたやり方が否定されて、開発元からも邪険にされて、お前らは時代遅れなんだよプギャーと指さして笑われて、時代の変化についていけない奴らは死ねばいいじゃないと見捨てられてる、正直そんな気分です。
でも、「今までのやり方が全く通用しない世界に飛び込んでいく」事を恐れて今いる所に留まり続けるのは、それこそ座して死を待つだけだという事も分かってる。
それに、そういう「今までのやり方が全く通用しない世界」を作るのであれば、どうせなら、今までのしがらみから完全に切り離された理想の世界を作って欲しいとも思う。XULやXPConnectといった古いやり方しか知らない僕みたいな人間のために「ほうら今までのやり方も使えるんですよ? だから怖がらないで入ってきて下さいよ」と媚びを売って、古いしがらみまでまた抱え込んでしまうのは、やめて欲しい。
僕はそう考えているので、だから今のJetpackでXULやXPConnectを触れるのは非常にマズイ事態だと思ってる。せっかく理想郷を作ろうとしてるんだったら、そこにつまんないしがらみを持ち込んでくれるなよと。僕みたいなロートルが、新しく出てきたJetpackという世界を、古臭い駄目なやり方で汚していってしまう事が許せないのです。老兵は潔く去らないといけないし、潔く去らせないといけないじゃないか。老兵に取り付く島を与えちゃ駄目じゃないか。そんなことをしたら、僕みたいにだらしのない老兵は甘えてしがみついちゃうじゃないか。
まあそれはさておき、FUELを出してきた時に「これで簡単に作れるようになれますよ」「安定したAPIが提供され続けますよ」なんて夢みたいな事を吹聴していた人達には、「すんません自分はバカでした。見る目がありませんでした。」と謝罪して欲しい所ですよね。それを真に受けて酷い目にあった被害者までいるんだし。うん、僕のことですね。ごめんなさい……
僕は、整形手術には(自分がするのも、他人がするのも)抵抗があるのに、歯列矯正には抵抗がない。もし仮に自分に子供ができたとしたら、多分問答無用で矯正させると思う。
はい、何を隠そう僕自身小学校までずっと矯正やってました。ほっといたら酷い受け口(下の前歯が上の前歯よりも前に出る、アゴの出た状態)だったのを、長い時間かけて矯正しました。つまり「生まれつきの、自然に成長した状態」とは明らかに異なる形の顔を、今の僕はしてるわけです。
それって整形手術と同じじゃん。と、唐突に思った。(僕がしたようなマウスピースによる歯列矯正は保険適用外ということなので、扱い的にも「美容整形」と同じ。)
だいたい、成長してからやる歯列矯正ともなるともう完璧に「整形手術」の域だし。骨が固まってるから切って削って貼ってで形を変えてやらないといけない。骨までいじるって、整形手術の中でも相当な部類ですよね。やってる事は整形手術と何も変わらない。やってる事が同じなのに、どうして整形手術はイヤで、歯列矯正ならOKなんだろう。
というところを突き詰めて考えると僕には整形手術と歯列矯正の違いが分からなくなってきて、同じ物なんだったらなんで自分が過去にやった事は肯定する(わざわざ「本来の姿」であるところの受け口の状態に戻そうとはしない)のに他人がこれからやろうとする事は否定する(「本来の姿」を受け入れてそのままで生きることを求める)のかって話になるので、健康その他に害を及ぼさない範囲であれば、整形手術をしたがる人の事を止めてもいい道理が僕には何ら無いよなあ、だったら止められないなあ、と思いました。
追記。歯列矯正は医学的健康的にうんたらかんたらという言い訳は当然僕も考えたけど、他人から見て別にそんなブサイクでもない人が自分の容貌が自分の理想からかけ離れてる事でストレスを感じているというケースでの整形は、心の健康・安定を手に入れるための治療とか予防とかの一種であると僕は真面目に思うんですよ。前にどっかで、整形前でも十分イケメンなのに、整形してなんかオカマっぽい顔になって、でも本人はそれですごく喜んでる、そんな例を見て、美容整形も突き詰めると「本人の健康のため」「QOLを高めるため」なんだなという事を改めて感じさせられた。だから歯列矯正との違いが分からなくなったと書いたんです。