たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。
以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
plus7さんによるXUL/Migemoの実装の解説を見ると分かる通り、XUL/Migemoでは正規表現での全文検索を実現するためにDOM2 Rangeの機能を使っている。この方法は素直に使うとscript要素の内容やstyle要素の内容、その他非表示の要素の内容にまでヒットしてしまうということで、氏は色々と工夫されていた。
takenさんが紹介されている、nsIScriptableUnescapeHTMLを使えばこの件について改善できるか……? と思ったけど、調べてみたらこの機能はFirefox 2以降でしか使えないっぽい(Fx 1.5では使えない)。残念。
まあ、軽く見た感じでは、全然別のDOMDocumentFragmentを生成するものということで、どちらにしろXUL/Migemoでは利用できなかったかもしれないんだけど。
Mozilla Europeの中の人による関連エントリの和訳シリーズも併せて。
池添さんは、「建設的な事もせずにグダグダ言うだけの周辺の人間を切り捨てれば開発はもっとスムーズに進む」「内輪ノリのコンテンツなんかを手作りするのに無駄な時間を割くくらいなら、プロモーションはプロに任せて、プロモーションの素人であるMozillaの中の人はもっと別の事に時間を使うべき」と言っていた。効率を重視して、最終目標を「良いプロダクトを作ること」「そのプロダクトを広めてより良い世の中にすること」と考えるのなら、それが一番だと僕も思う。
XUL/Migemo [Forked Edition]の挙動がおかしいのを直そうとしてハマってしまった。検索欄に長い文字列をペーストして検索を実行しても正常に検索できないという問題。
色々条件を変えて試してみたら、どうも、検索できなくなってるんじゃなくて、リンク内の文字列のみ検索するモードに強制的に切り替えられてしまっているようだった。しかし検索モードを指定するフラグの値を変更しても全然効果が現れない。
Type Ahead Findの実装の深いところを見てみてびっくらこいた。検索バッファ(最後に検索した文字列)が空の状態で検索を始めて、且つ、accessibility.typeaheadfind.linksonlyがtrueの時は、強制的にリンク内検索モードになるように書かれてるじゃあないですか。そりゃあ、いくらやっても無駄なはずだよ……
つうかコレ書いた人何考えてんだろう? 普通のページ内検索でこの設定を参照する意図が全然わからない。これってクイック検索の時専用の設定じゃないのん? まあ、そもそもこの問題に引っかかったのは何らかの理由でaccessibility.typeaheadfind.linksonlyがtrueになってしまってた(初期状態はfalse)のが原因なので、こっちのせいといえばこっちのせいなんだけど。
とりあえず、検索を実行する前に検索文字列の最初の1文字で検索してからもう一度長い文字列で検索するようにしてみたところ、accessibility.typeaheadfind.linksonlyがtrueでも問題なく意図通りの動作をするようになってくれるところまでは確認できた。でも、これって変なやり方だよなあ。たぶんaccessibility.typeaheadfind.linksonlyをfalseに設定するのが本道なんだと思う。でもこの設定を本来の目的で使いたい人はどうすればいいんだろう? 全く訳がわからない。
Fx2でこの問題が起こることを確認したけど、Fx3ではどうなのかは未確認。そっちでも起こってるようならいよいよバグ報告してみようか(どちらかというと機能要望?)。
コメント書いた後から、Amigomr氏が新しいエントリで事実上の決別を明言されていたことに気がついた なんだ自分……まるっきりアホやん。
僕から見ても、ああ若いなあ、と感じた。かつての自分を思い出す。「(誰)」とか「(謎)」とかのジャーゴンを公の場で使って内輪ウケしてそれ以外の人を消極的に拒絶するサインを無意識下に放っていた人達に対して、「過去ログ読め」とか「まず自分で調べろ」とか「そもそもこの用語は云々」と含蓄を垂れ流すとかの「技術系」コミュニティに対して、激しい反発を感じ、それらを正すことを己の使命と感じていた頃のことを。しがらみに囚われていない素人ならではのストレートな意見こそが世界を変えるのだ、それを受け入れられない奴らは自己保身のことしか考えていない、と考えていた。NOを表明することで、厳しく非難することで、正義の鉄槌を下しているつもりでいた。その快楽に酔いしれていた。あの頃の僕は。
今でもそういう気持ちを全くなくしてしまったとは思いたくない。それを全くなくしてしまったとしたら、現状に流されるだけの人になってしまったということだから。
ただ、あの頃からちょっとずつ思うようにはなっていて、時間が経つごとにだんだんハッキリとしてきた、一つの思いがある。それは、自分の最終的な目的がどこにあるのかをハッキリさせなきゃいけないっていうこと。そうしないと無駄ばかり大きくなって、得る物がないということ。
Multiple Item Packaging……必要になったのでちょっと検索してみたら、MDCの方は未訳だったので、訳してみた。他の文書でマルチアイテム拡張XPI
という訳があったから、それに倣って「マルチアイテムパッケージ」としてみたけど……勝手に造語増やすなよと怒られたりせんかな?
そもそもパソコン雑誌やWEBで評判になってる代物は別段最新って訳じゃ無いって話。(私も優越感に浸るのは三度の飯より好きな方だが)
ラボのなかでクローズドで開発されていてその成果も表に出ていないか出ていても僕ら一般大衆の目に触れる・手に届く所には無いという風な場合、地球以外のどこかの星で人類の科学よりずっと高度な科学技術を持ったETが暮らしている、というのと主観的には違いが分からない訳で。ラボの中の最新技術というのは異星人からもたらされたオーバーテクノロジーみたいなものなわけで。そういう意味では、MozillaもOOoも最初はオーバーテクノロジーからスタートしたようなものなわけで。
「最新」とだけ言うとまた意味が違ってきそうな気がするけど、なんだろう、うーん。べつにprototype.jsもscript.aculo.usもRubyもRuby on Railsも僕が開発した訳じゃないしそもそも一遍たりとも関わったことが無いくせにこんな事言う資格無いわけだけれども、「僕達一般大衆の血肉になっている範囲の最新」とか「僕達一般大衆が生み出した物の中の最新」とか、それはそれで価値があるものだと依然として思うのですよ。
「ブログに載る(略)よくある」既出指摘されると怒る若人には済まないがその通りだったり。基本は黙って商品化。しかもしばしば特許化。良いアイデアや先進技術はHTMLではなく製品で表現。社会貢献は製品の効用と納税。
Google従業員が仕事のことをblogに書かない。富士通の人の批判は「梅田的blogプロパガンダ」に囚われ過ぎ。など冷ややかな意見もあり、自分はこちらに注目した)
技術とか全部オープンにしてて、競合するクローズドな所に比べて儲かってる所って、実際あるんかね? ギークに好かれてるGoogleは大儲けしてるけどコアの製品技術は秘密だし、Mozillaは儲けてるって言っても実際にはGoogleに飼われてるだけみたいなもんだと思うし。
オープンにした場合、大抵は金を消費して減らすだけで、新しい金を生み出すことには繋がっていないんではないか、という気がする。
ただ、金は生み出せないかもしれないけれども、別の形の何かは生み出せるのではないかとも思う。例えば、便利で有用で守秘義務とか特許とかでがんじがらめになっていなくてみんなで自由に使い回せるコードなんかは、「スポンサー自身が金を儲けるために金を出してくれるスポンサー」に飼われた状況下では、生み出しづらいことも多いのではないかと思う。
資本主義社会に生きる僕らだから、金を生み出せない物には価値がないと考えがちだけれども、でも、本当に生み出したい物は何かと問うた時に「金ではなく豊さだ、幸福だ」と考えて、そして最終的に豊さ・幸福を生み出せるのであれば手段は問わないと言えるのであれば、オープンにすることにも意義が感じられると思う。
っていうかbrazilさん自身も、こう書いている。
ブログを書くことで、良い仕事に参加できた。
素晴らしい人にも出会えた。
今は、金は儲かっていないが、いずれどうにかなるだろう。
「スポンサー自身が金以外の価値を手に入れるために金を出してくれるスポンサー」に飼われて、金を燃料にして、豊かさや幸福を生産する。そういう世界に多分僕はちょこっとでも関わっているはずだ、俺はカネにしか目が行ってない奴とは違うんだぜフヒヒヒそんな俺カコイイ、とかなんとか考えて、僕はちっぽけなプライドを満足させることにしています。
MozLabの一機能の単体テスト用ツールMozUnitではasync型のテストケースを書くことができる、というのは前にここでも書いたんだけど、使い勝手の悪いポイント?が一つある。それは、テストケースの中で、ある処理が終わってから次の処理に進むといったことが簡単にはできないこと。
現状の仕様では、
という書き方しかできなくて、各テストケースの中でコールバック関数を使って準備が整うのを待つという使い方はできない。一般的な意味での単体テストというのがどうある「べき」なのかは知らないけど、やりたいこととしては、
の方が便利ですよね? ね?
んでscript.aculo.usのユニットテストの機能ではwaitという機能を使って処理待ちができるそうだから、MozUnitステでscript.aculo.usを拡張機能の開発でも使えるようにせよ!という指令が須藤さんから下ったのだけれども。
なんか仕様があちこち違うから今までMozLabベースで作ってた物をこれ用にするにはscript.aculo.usのソースもガッツリ読まなきゃいけないっぽいし、どうもscript.aculo.usは複数のテストが同時に動くことを想定していなさそうな雰囲気だったので、MozReplみたいな機能を使って同時に複数人でテストするようなことは難しいっぽかった(そんな事ほんとにやるのかどうかはさておき)ので、新しいこと覚えるよりは今までの知識がそのまま使えた方が僕が楽だと思った。
ということでMozUnitのTescCaseクラスの定義をゴニョゴニョと書き換えて、JavaScript 1.7のジェネレータを応用し、テストケースの中で yield 5000;
とか書くとそこで指定時間(ここでは5000ミリ秒=5秒)待ってから次の処理に進むということができるようにしてみた。テストケースの実行結果の返り値を見て、 [object Generator]
である場合は、StopIteration例外が出るまでタイマー使って何度もnext()
を実行して、それが済んでから次に処理を進めるようにした次第です。
……ということなんだけど、yieldってこんな使い方しちゃっていいのかしらん? yield(生産)って書いてるのに何も生産しとらんし。
<object width="320" height="258"> <param name="movie" value="http://www.youtube.com/v/Kk5jJMGCgPM"></param> <param name="wmode" value="transparent"></param> <embed src="http://www.youtube.com/v/Kk5jJMGCgPM" type="application/x-shockwave-flash" wmode="transparent" width="320" height="258"></embed> </object>
MJ根来さんの壊れっぷりが加速してる件(まずそこを見るのか)。鼻眼鏡とか狙ってるなこれは。
タブの紹介ってことで、これはあんまりFirefoxならではって感じは無いですね。でもこれ無しにいきなりタブの高度なテクニックなんか紹介されても、前回のインストール手順が役に立つような層には確実に届かないだろうしなあ。っていうかそもそもそういう人に「Amazon」が通じるんか? 楽天とかの方が良かったんじゃね?
ようつべのMozillaJapanアカウントの詳細ページ見ると、これまでの映像の閲覧数が分かる。最初の奴のアクセス数が多いのは単に物珍しさからだろうか。インストール紹介の閲覧数は4000回強なのでこっち基準で考えた方が良さげだけど、これも海外のアクセスがあるだろうし、本来この映像が想定してるであろう人に届いてる割合はまだまだ相当低いんだろうなあ。
久々にXUL/Migemoを更新した。標準の検索ツールバーの挙動を見てたら、XUL/Migemo入れてると検索ツールバー出しっぱなしにしたままタブを切り替えるとかそういった操作ができなくなってしまってたことに気付いたので、その辺りをきっかけに色々改修した。
元のXUL/Migemoでは、ヒットした語句全部をハイライト表示したらシャレにならんからということでこの機能が無効になってたんだけど、よく考えたら、ヒットした正規表現の内容を全部ハイライトせんでも、実際に今ヒットしてる単語でハイライト表示したらよくね? ということに気がついたので、この機能は復活させた。
一番手こずったのは、テキストエリアの中も検索できるようにするという変更。色々試行錯誤してどうにか形になったので入れてみたけど、若干動作が怪しいところもあるので、まあ、そういうものだと思ってください。
ついでに先日Trunkに入ったという、選択範囲の内容で検索を開始する機能も入れてみた。秀丸とかのエディタでは普通にこういう挙動だしね。
とまあそんな具合で、常時XUL/Migemoをオンにしててもそれなりに使えるようにはなってきたと思う。