たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。
以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
甘詰留太の短編集? 恋は三十路をすぎてから (ヤングキングコミックス) こうた。
ヤバいわ。たまんない。
以上。「年上ノ<ruby><rb>彼女</rb><rp>(</rp><rt class="読み">ヒト</rt><rp>)</rp></ruby>」が好きな人には超お勧めだと思った。ほんま「ごちそうさま」いう感じですわ。
Mozilla Party JP 10.0のライトニングトークでの発表資料「UxUを使った自動テストで安心アドオン開発」を公開しました。何度か練習してなんとか5分以内に収まるように直前まで削ってましたが、結局早口でまくし立てるばかりの通訳泣かせな発表になってしまいました。
宴会で、おそらくAir Mozillaあたりで使うであろうメッセージビデオの撮影に呼び出された。当たり障りのない無難なことを喋った(自粛してそうしたわけではなくそれくらいしか言うことがなかった)ので採用されない可能性は高いと思う。
その後残りのメンバーの一部とカラオケに行き、終電の時間で仕切り直して徹夜カラオケして、帰ってきて寝て起きたら19時だった。親に電話した(荷物が届いたことを連絡しようと思った)ら「声がおかしいぞ」と言われた。
Windows VistaにSP2を適用して再起動してから先日導入したTwitterIrcGatewayが動かなくなった(*Error(403) No such nick/channelというエラーメッセージが出て#twitterに繋がらない)。
これは困った。ということでmayukiさんに泣きついたところ「Configs以下のファイルを消してみたらいいかも」と言われたので、Configsフォルダを見てみたらフォルダがひとつだけあったのでとりあえず移動してバックアップしようとして、UACの警告が出たところではたと気がついた。
これってアクセス権の問題なんでね? と。
移動しようとしたフォルダのプロパティを見てみたら、今ログインしてるユーザからは書き込めないようになってた。なので、今のユーザに対してフルコントロールの権限を与えてみたところ、TwitterIrcGatewayが期待通り動くようになった。
実は恥ずかしながらここしばらくUAC無効の状態(常時administratorでログインしてるのと同じアレな状態)で使ってて、TwitterIrcGatewayもその期間中に導入したんだけども、GENOウィルス騒ぎでまたUACを有効に戻したのでした。その後再起動したのがちょうどSP2適用のタイミングだったので、SP2の問題かと思ったんだけど、そうじゃなくてUACの問題だったと。情けない話です。
追記。どうも似たような問題が起こるアプリケーションが他にもあるようだ。今の所、UAC無効の間にインストールしたTortoiseSVNがUACをオンにした後に使えなくなるという現象に遭遇してる(上書きでインストールし直したら使えるようになった)。
id:piro_or と ID コールではダメ?特定URLで言及されたリスト一覧として見たいと云うことかなぁ。
先日、こう書いた。
今日は、こう書いた。
メタブクマとidコールで意外に議論が成立してたりするよ。そこじゃ済まないとブログへという流れ。最近はハイクでidコールしつつという流れも
言ってることが矛盾している? 今日書いた方の「一言ブログ」を書きながら自分でも考えていた。
僕は1対1のコミュニケーションツールではなく、1対多のコミュニケーションツールとして、はてなブックマークに勝手に期待し勝手に失望しているのではないだろうか。
「話題が自分を押し出すためのツールで、全ての話題が自分のプレゼンである」というジャンルの人を「ヲタク」と名付けたほうが無難そうだなあ。趣味とか、引きこもり生とか、そういった可視的な問題じゃない。DIOに対するぼたもち、窮屈に対する日照り、そのぐらい、何もかもが違うんだ。
あるジャンルの方達→「わあ、この水おいしいねえ!」「その水は硬度が高いですね。日本では珍しいわき水です」
ポストに対しそれの正答を求めていることは、あたしに限っては100%無い。「教えて下さい」とか「急募」とか書いている場合を除いて。「絶対折れない針が欲しいなあ」って書こうとして、誰かが「布地にあった針を使えばいいよ」って云いそうな気がして、心が折れているところ‥‥!
lovalottaさんは「あたしはあんたという人間と会話したいんだ、客観的事実の指摘とやらに興味はないんだ」的な事をことあるごとに言っている。secondlifeさんやotsuneさんやKoshianさんが「idコールがあるからいいじゃん、何が問題なの?」と言うのもひょっとしたら根っこの所はlovalottaさんと同じなんじゃないだろうか? 「 僕 | secondlife otsune Koshian lovalotta 」という風に、ここに壁があるんじゃないだろうか?
むしろ、この壁の向こう側(lovalottaさんらがいる側)というのが「1対1の心のぶつかり合いという物を本当に理解している、人として正常であり完全に望ましいあり方をしている人達のクラスタ」であり、こっち側というのは「1対1のコミュニケーションを実は求めていない、自己愛しか無い自閉アスペヲタのクラスタ」である、ということではないのか? だから彼らは生産的に健康的に生きられていて、僕は元彼女と共依存して破綻して今こうして独りでグズグズな鬱々な時間を過ごしているのではないのか?
Mozilla Partyの発表用資料を準備してる最中、自分で作っておきながら画像の埋め込みの仕様がクソ過ぎることにブチギレて、高橋メソッド in XULを久しぶりに改良してた。
公開ページはまだ更新してない。改良されたバージョンはリポジトリに置いてある。
FireMobileSimulatorでのローカルプロキシ実装の試みを見て、UxUでデバッグ用ローカルプロキシみたいな事をできるようにしてみたい、と思った。
ただ、HTTPのことはこれっぽっちも分からない。ソケット通信も、一応独自プロトコルっぽいものを使って別プロファイルで動作中のFirefoxからテスト結果を受け取るということはできるようになったけど、それ以上の事は分かってないまま。なので、まじめにローカルプロキシを立てる以外の方法で、「特定のURIにアクセスしようとした時だけ、あらかじめ定義しておいたルールに従って別のリソースを返す」ということをできるようにしてみようと考えた。
僕が現在把握している方法としては、以下の物がある。
http-on-modify-request
イベントのタイミングでリダイレクトするやり方。shouldLoad()
の中でリダイレクトするやり方。1はthorikawaさんが頑張っておいでなので、それに期待している(ソースがGPL互換ならUxUにそのまま入れられるので)。他人のフンドシ。他力本願。ここでは後の2つについての挫折の経緯だけ書き留めておく。
結論を先に言っておくと、2も3も実装上の制限により全滅っぽい。やはり、ローカルプロキシをちゃんと実装するしか完全な解決策はないようだ。thorikawaさん期待age。
http-on-modify-request
イベントを使うやり方これは、現在FireMobileSimulator等ですでに使われている。nsHttpChannelはリクエストを送信する前にnsIObserverServiceを通じてhttp-on-modify-request
イベントを、レスポンスが返ってきた後にhttp-on-examine-response
とかhttp-on-examine-merged-response
とかhttp-on-examine-cached-response
とかのイベントを通知する(SubjectはnsHttpChannel自身)ので、このタイミングでリダイレクトをしようという話。
FireMobileSimulatorの場合、nsHttpChannelの現在の通信をキャンセルした上で、nsHttpChannelからnsIWebNavigationを引っ張ってきてloadURI()
で新しく通信を始めてる。
var redirected = 'http://www.example.com/';
var observer = {
observe : function(aSubject, aTopic, aData) {
if (aTopic == 'http-on-modify-request') {
var httpChannel = aSubject.QueryInterface(Ci.nsIHttpChannel)
.QueryInterface(Ci.nsIRequest);
// ここでキャンセル
httpChannel.cancel(Components.results.NS_ERROR_FAILURE);
// リクエストし直し
httpChannel.notificationCallbacks
.getInterface(Ci.nsIWebNavigation)
.loadURI(redirected, Ci.nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null);
}
};
Cc['@mozilla.org/observer-service;1']
.getService(Ci.nsIObserverService)
.addObserver(observer, 'http-on-modify-request', false);
通常のbrowserやiframeの場合はこれでいいんだけど、img要素やXMLHttpRequestからの通信では失敗する。具体的にはhttpChannel.notificationCallbacks.getInterface(Ci.nsIWebNavigation)
の時点でエラーになる。例えばXMLHttpRequestによる通信なら、httpChannel.notificationCallbacks.getInterface(Ci.nsIXMLHttpRequest)
とすれば元のリクエストを取得できるので、こんな感じで場合に応じて再リクエストの方法を振り分けてやる必要がある。(XMLHttpRequestの場合については、どうやれば再リクエストできるのかまではたどり着けてない。もしかしたら無理なのかも。)
spec
を書き換える場合nsIChannelのURI
プロパティはnsIURIインターフェースの読み取り専用プロパティなので、通信先のURIを書き換えることはできない……ように見える。でも実はnsIURIのspec
プロパティの方は書き換え可能なので、ここに新しいURIを代入することででもリダイレクトできてしまう。
observe : function(aSubject, aTopic, aData) {
if (aTopic == 'http-on-modify-request') {
var httpChannel = aSubject.QueryInterface(Ci.nsIHttpChannel);
httpChannel.URI.spec = redirected;
}
とはいえこの方法は全くお勧めできない。動く場合もあるけど、動かない場合もある、という感じで実に不安定だ。nsHttpChannelの実装を見れば分かるけど、http-on-modify-request
が通知された段階ですでにその時のリクエスト先URIに基づいた初期化処理がいくつか終わってしまっているので、それと矛盾するURIを設定する(例えば、HTTPのリクエストだった物をFile URLにリダイレクトするとか)と、この後の内部処理でエラーが起こるっぽい。
http-on-examine-response
の方ではnsIHttpChannelのsetResponseHeader()
を利用できるので、Location
ヘッダにURIを設定してみたんだけど、ダメだった。残念ながらヘッダを解釈してくれなかった。
nsHttpChannelの実装を見たら、HTTPのステータスコードが301とか302とかの時だけLocation
ヘッダを見るようになってた。ステータスコードを保持しているプロパティは読み取り専用なので、強制的にLocation
ヘッダを読ませるということはできそうにない。
shouldLoad()
を使うやり方これはURNサポートなどで実際に使っている。詳しい方法は2007年当時のエントリに書いてあるけど、要約するとこういうことだ。
やってみると、一見上手く動いてくれてるように見えるんだけど、XPConnect特権がある実行コンテキストで作成したImageやnsIXMLHttpRequestのインスタンスからの通信が捕捉されなくて、UxUの用途では使えない感じだった。まあ仮に捕捉できたところで、元の通信を止めて別のURIで通信するようにさせる方法は分かってない(もしかしたら無いかもしれない)んだけど。
あと、shouldLoad()
の第2引数はnsIURIインターフェースなのでこれのspec
プロパティを書き換えたらどうだろう?と思ってやってみたけど、これもうまくいかなかった。browser要素等での読み込みの場合だと、nsDocShellのInternalLoad()
でエラーが発生する。実装を見た感じでは、nsIContentPolicyに処理が渡ってくるより前に元のURIに基づいてセキュリティ関係の機能が初期化されてるので、その後でURIを書き換えたのがいけなかったんじゃないかと思う。
とにかく、nsHttpChannelのインスタンスが作成された後からどうこうしようと思うのがそもそも手遅れくさい。それより前のステップでアクセス先のURIを書き換えようと思ったら、ローカルプロキシを立てる以外に手は無いようだ。
いいかげん諦めてMozilla Partyの発表資料作ることにします……
健全な論評の場
とか批判とかしちゃだめなんでしょ?
とか書いてる人がいるけど……それらを見て、「え、はてブがまともな批判や論評や議論の場だとマジで思っちゃってるわけ? あんなのでちゃんとした議論ができるわけないじゃん常考。何期待しちゃってんの?」と思ってしまった。
ここ数日自分のはてブを一言ブログとして運用してみてるけど、タグも含めてタグを除いて100文字しか書けなくて、あるブクマコメントからそのコメントに付けられたメタブクマを辿るという事も容易にはできなくて、こんなんでまともに議論できるわけ無いよという思いを改めて強くしている。
いや、できる人もいるのかも知れないけど。たった100文字の中ですべての事を鋭く指摘して批判できる、凄い文章力のある人もいるだろうけど。でもほとんどの人はそうじゃないんじゃないの? 僕も含めて圧倒的多数の凡人は、まともに批判や議論しようと思ったらもっと言葉を尽くして丁寧に書かないとお話にならないんじゃないの? これでは、印象操作なんだか負け犬の遠吠えなんだか訳わかんないつぶやきを書き捨てるだけになるのが関の山なんじゃないの? 建設的な批判じゃなくて、ただの否定、あるいは誹謗中傷にしかならないんじゃないの? それは「議論」とはほど遠いというか……むしろ、なんだろう。言いたい事だけ言い散らかして……ツッコミから議論が広がっていて後からそれを一望して知見を得るとか、そんな事はとてもとても無理なんじゃ? と思う。
別にはてブが特別酷いわけではない。この点はtwitterも大して変わらない。作った人達も、はてブやtwitterの上で喧喧諤諤の議論をして欲しいだとか、そんな事は思ってなかったんじゃないのかなあ(「して欲しくなかった」と思ってすらいなくて、全く想像すらしてなかったんじゃないか?)。気軽につぶやきを書き捨てるという程度の使い方なら十分事足りる、そういう用途の上で必要最小限の物しか備えなかった、って事なんじゃないのかなあ。
まあ、僕のように主観的で視野の狭い人間が、自分の気にくわない物事に出くわした時に、こんな風にわざわざエントリ書いて屁理屈こねくり回して自分の主観・感情をあたかも客観的事実やら公正な意見であるかのように飾り立てて、他人も(「わあこの人冷静なんだなあ! 色々知ってるんだなあ、色々考えてるんだなあ!」)自分も(「わあ俺って冷静だなあ! 色々考えてて賢明だなあ!」)欺いてるのと比べれば、100文字の中にプリミティブな感情だけぽつりと「ムカツク。嫌い。」と書いてある方が、ずっと正直で健康的だと思う。それが一番言いたかった事なんでしょ、だったら最初からそう言っとけばいいじゃん、なんでそれを偽ってゴチャゴチャ言うわけ? と。悪口書いてスッキリして「批判」とか「議論」とかをした気になってるだけ、なのに比べれば、その方がずっと健全だと思う。
要は用途に応じてツールを使い分けましょうよってことですよ。本当に実のある議論がしたければ、ブログ書いたりトラックバックしたりコメント欄に書いたりすればいい。実のある議論には興味が無くてとにかく発露したい感情がそこにあるのなら、twitterを使えばいい。ツールを使い分けるんじゃなくて何でも今手に持ってる物で済ませてしまおうというのは、僕のようなズボラな人間にみられる悪いクセだと思う。
ローマ字入力で日本語ページ内の検索を可能にする「XUL/Migemo」拡張 - SourceForge.JP Magazine
さて、もう一つの検索方法である「英語(辞書アシスト検索)」であるが、これは英単語を入力するとその対訳となる日本語の単語が検索されるというモードだ。なぜか筆者の環境ではうまく機能しなかったのだが、一応使い方を説明しておく。
そんな機能実装した覚えないんですけど……
英語モードは、僕が正式にXUL/Migemoを引き継いだ後に行った大改造において、将来的に日本語だけでなく中国語や韓国語などのIMが必要な他の言語に対応できるよう、言語依存の主要モジュールを差し替え可能にした時に、日本語特有の処理(ローマ字入力を平仮名に変換するなどの処理)を含まないプレーンなモジュールの実装例として用意した物だ。
Firefox自身の通常の検索機能と比較して、このモードで具体的に起こる変化としては、「ext」まで入力した時点で「extension」「extend」等の英単語が強調表示されるようになる、という感じなんだけれども……これってぶっちゃけ無意味なんだよね。
あとは、発音記号付きのアルファベット等を区別せずに検索できるようになるけど、それとて日本語用のエンジンに既に包含されている機能だし。
強いて言えば、日本語とかローマ字とか全然興味がないし必要も無いという英語圏のユーザの人が、Safari風の強調表示だけ利用する時に、ほとんど何も余計なことをしないから邪魔にならない……ということくらいだろうか。英語モードのメリットは。とにかく、「これこれこういう凄いことができるようになる」といった類の意義は皆無だ。そのモードを作った本人が言うんだから、間違いないよ。
ことあるごとに言ってるけど。もしクリアコードが解散することになったとしたら、僕以外の人は普通に他の所で仕事ができるだろうけど、僕だけは行き場所が無くて野垂れ死ぬんじゃないか、と僕はずっと思ってる。
ブートローダに機能を加えたり、組み込み機器向けに低層の所をCでゴリゴリ書いたり、そんな事ができる人達の中にいて、それじゃあ僕という人間は何ができるのかというと、MozillaのそれもXULより上の層のことしか分からない。第1言語がJavaScriptのくせに、Webアプリを書けない、jQueryもYUIもExt JSも知らなくてクロスブラウザなスクリプトを全然書いたことがない。なんていう著しく偏った人間は、どこからも誰からも必要とされないんじゃねえの? と。
「技術力十分あるじゃないか。他でもやっていけるよ。もっと下の人がいっぱいいるよ。」と、誉めてるのか慰めてるのか、言葉をかけてくれる人はいる。そう言われて悪い気はしない。でも心のどこかで「本当に僕に『技能がある』からじゃなくて、単に外野から見てて『そう見える』から言ってるだけなんじゃないのか? 僕と同じ分野に手を着けて、その後で僕のことを見たら、『ああなんだPiroって全然大したことねえな』って思うんじゃないのか?」と思う部分がある。
料理に例えれば、僕が大変ショボい自炊をしてるのを、料理が全くできない人が見て、「料理ができるなんてすげえ!! お前、料理人で商売できるんじゃね?!」と、何を勘違いしてかそう言ってしまっているような状況であるとか。あるいは、フランス料理の一流シェフが沢山いる中に一人だけ手巻き寿司しか作れないド素人寿司屋が紛れ込んでいて、フランス料理のシェフ達が「(何だコレ? スシっていうの? 俺フランス料理以外わかんないんだよね……でもまあこうやって店持ってるって事は多分スシの世界じゃそこそこの腕前なんだろうな、じゃあ敬意を払っとかないとな……)スゴイネー!! スシサイコー!!」と言ってるような状況であるとか。「僕が評価されてる」ってのは結局そういう事なんじゃないの? という風に思ってるところがある。
本当の意味で適正な評価をできるのは同じ分野で活動してる人だけなんじゃないのか? そういう人が「確かにPiroは技能がある」って言ってくれて初めて、本当に技能があるって言えるんじゃないのか? 同じ分野に身を置いてる人以外からピントの外れた誉め言葉をもらって、それを、同じ分野の人に言われる言葉と同じ重みで受け取って勘違いして喜んでるだけなんじゃないのか? という風に思うところがある。
しかし同時に、僕は、(元)彼女に絵や仕事やカラオケのことを「すごい!」「上手い!」と言われた時には、大変嬉しかった。絵も歌も普通に素人で、ましてやプログラミングなんてこれっぽっちも分からない、門外漢も門外漢な人からの誉め言葉を聞いて、僕は嬉しがっていた。
何故だ? これは先の話と明らかに矛盾しているのではないか? 同じ分野で活動している人からの適正な評価以外は評価としては全くアテにならない、だからどんなに誉められてても不安なんじゃなかったのか?
ひょっとしたら、自分の技能が人より高いかどうかが分からなくて不安なのではなく、「貶される可能性が残っている」「価値が無くなるかもしれない」ことが不安だったんじゃないのか? 「技術力が高い」と言われていても、何もしていなければすぐに他の人に追い抜かれる。貶されるようになる。商品価値が無くなる。それが怖いのではないか?
これは僕の勝手な思い込み、願望の勝手な投影だけれども、多分(元)彼女は、僕の絵を好きで居続けてくれてたんじゃないかと思う。僕の絵柄が流行りの絵柄でなくても、僕より絵の上手い人がどんどん現れていっても、他の凄く上手な絵と僕の絵を見比べた上で僕の絵を「嫌いになる」、ということは無かったんじゃないか、と思う。まあ僕は勝手にそう期待していたし、そう期待してしまいたくなるくらいに僕は舞い上がってた。
母は、僕の絵の技術力は多分認めてくれている。「こういう絵を描いて欲しい」と依頼されたりもする(頼まれ仕事を今まさに絶讃放置中で申し訳ない限りです)。でも、僕の絵が好きかどうかで言うと、多分好きではないと思う。母が好きな絵は、例えばいわさきちひろだ。いわさきちひろの絵と僕の描いた絵を商品として並べたら、いわさきちひろの絵の方を迷わず選ぶと思う。
あと、親は、僕が(共著で)本を出してもあまり派手に喜んではいなかったと思う。報告?した時も、「へぇ、(技術的なことはさっぱり分からんけど、世間的には多分)すごいねえ」くらいの冷静な反応だったと思う。少なくとも僕にはそう見えた。(元)彼女は、「すごいやん!」と、顔文字付きで大げさに反応していた。その反応が僕は非常に嬉しかった。これが欲しかったんだ、と、思っていたと思う。そういう風に大げさに反応されることに僕は飢えていたのではないかと思う。
僕が真に欲していたのは、他と僕とを比べても僕の方に他にはない価値を見出してくれる人、そしてそれを好いてくれる人、好きで居続けてくれる人、さらに言えば、それを(大げさにでも)表現してくれる人、ってことだったのではないのか。そういうシンプルな話なのではないのだろうか。
技術の分野では、それは期待するだけ無駄なことなのだと思う。技術の世界では全ての物事に優劣がはっきり付く。「好きか嫌いか」には全く価値が無く、「より生産性が高いかどうか」だけが唯一の価値基準だ。技術的に劣ってるけどそれが好きなんです、では通らない。そういう世界で、「絶対に見捨てられない安心感」を求めることがそもそも不毛な、そして見当外れな欲求だったんだ、ということに、今頃になってやっと気がついた。
好かれたいんです……
19 :名無しさん@お腹いっぱい。:2009/05/28(木) 19:52:51 ID:c8qpWzOe0 わかってる人から見たら、piro氏の技術力は大したことないの? 23 :名無しさん@お腹いっぱい。:2009/05/28(木) 21:10:28 ID:6eFkxD7g0 >>19 大したことない。Firefoxのバッドノウハウを猛烈に抱えているから余人が簡単には真似できないとは思うが、 たとえば昔のメインフレームのメンテ一筋の団塊世代エンジニアの技術力が高いとは言いがたいでしょう。
ですよねー。
ノベルティやらパートナー企業の作るチラシやらが全部作り直しになるやんけ、という点を除けば、新しいドラフトはイイ感じに仕上がってきてると思う。
正直、初期のドラフトは端的に言って「え、これにリニューアル? ははは、またまたご冗談を」という印象しかなかった。「変えなきゃ、とにかく新しくしなきゃ」という意図が強く働いていなかったのか、何もかもを台無しにぶち壊していたように思う。それに比べたら最新のドラフトは、旧アイコンの解像度を上げた物として正当な進歩を遂げた形に落ち着いてると思った。カトキハジメの言うところの「マッハの戦い」とは、こういうことなんじゃないかと思う。
ここからまた変な方向に行ってしまわないかが心配だ。