Mozilla編ずっとコミット権は持ってたんだけど、去年くらいからちゃんとアクティブに復帰し始めたんだっけなぁと。Testなバグを一つ間に合わせられなかったのが心残りだったかも。TestにSVGものがいっぱい入ってるのは個人的にはどうかと思うけどね。DOMとかCSSのレンダリングとかはわかるけどさ。Thunderbirdはやっと3.0がリリース。荒削りだけどメジャーリリースされたのはよかった。ベータ版だと誰も使ってくれることもないし、問題点を把握できないからね。3.0については、最後の最後でGlodaの件を無理矢理入れたんだっけ。「ホント、ありがとう。あれは助かった」って感謝されたんだけど、慢性的に人手不足だから、もう少しいろいろ手伝う羽目にはなるだろうね。個人的には、MobileとEmbededingをもう少しやりたかったんだけど、Mobileはいい端末不足なのと、Embededingはもうすこし整理しないとダメだね。来年は、、、、来年に考えます。今年は平穏に過ごすつもりが非常によくわからない年だった。Managerが辞めることになったところから始まっていた気がする。3月くらいにイヤーな雰囲気が会社にあって、結局のトコロ、5月末で退職する羽目になって、まさかの無職。そこの会社で学んだことと言えば、オープンソース業界のビジネスの幼稚ぶりと国からどう金を巻き上げるかという大手企業の動き。それに関しては、非常に勉強になった。オープンソース業界は、ビジネスを組み立てられる人達がプロプラ業界に比べて圧倒的に不足してる。MBAとか取ってないオレでもそう感じるくらいお寒い状況。辞める時にビジネス作る側でやってくれない?って打診された時は、正直結構悩んだけど断った。理由は給料下がってまでそこの会社にいたいとは思わないからだけど、冷静に勝つプロセスと現在ある駒を考えると、勝つための駒が不足している状況で戦っても勝てるとは思えないのもある。ここでの駒というのは人数じゃなくて、質の話ね。オレの考えるあの会社が勝つための方向性については散々話していたので、それの一割でもやってくれれば、絶対生き残れるとは思うけどね。退職したおかげでハロワに凄く詳しくなった。人生初ハロワだったんだけど、国のシステムってよく出来てるなぁと改めて関心。景気が悪い状況で就職先見つけないといけないから、無職生活を満喫せずに、海外の会社何社か受けてたけど、条件が全くあわなくてって感じでいたら、どこかの組織に捕獲されてしまったのが今年の後半。一年前は想像できん状態だった。ホント、人生は先が読めん。プライベートももうグタグタというか、まーいろいろあったなぁと。口の悪い人は、ノースウエスト航空のことをノースワーストと呼んでて、この航空会社は安いけどサービス微妙っていう認識な航空会社。ホントはAAとかが好きなんだけど、ノースウエストは安いのでたまに使ってる(しかも便数多いしね)。チェックインしてない客の後ろに回されて、なおかつオンラインのカウンターじゃない方に送られそうになったとか(成田でだったんだけど、英語で暴れたらオンラインのカウンターへすぐ入れてくれた。なんだそれ)いろいろあったんだけど、今回もやってくれた。いつも通路側の席をとるんだけど、食事のときになぜかオレの席に2人分の食事が運ばれて、「それスライドして、隣の人に渡してくれない?」って。すげーよ、ノースウエスト。(寝てたから、起こさず渡すにはどうしたらいいかと考えた挙句だとは思うけど)、もう予想を超える感じ。日本でもこんな感じの航空会社あってもいいと思うよ。安いけどサービス悪いみたいな。IMEで入力している最中にキャレット表示しようとして落ちる。キャレット表示の際に選択文字列(IMEの変換文字列だったような)を取りに行くんだけど、それが取れなくなるから。変換文字列がキャンセルされたとか)んじゃないかなと思うけど、再現する方法わからなかった。名無しさん@お腹いっぱい。U17だけであとは無効にしてる3.5で起きる原因は、そこのコード3.5からだから。request取ろうかな、やっぱり。某先生も引っかかってるらしいし。ちなみに、これはcrashkillの流れで直したもののひとつ。コメントから見る限りCJKな人だらけっぽいから、IMEがらみ(IME使わないと通らないような場所)の話みたいだけどね。再現方法がわからなくても、クラッシュネタの場合は、クラッシュレポーターで送ってください。TOP100に入るようなものであれば、見てるから。3.5.8でも直ります。:というか、@ebpが0のつもりで生成してる気がするんだけど、1だし。2005のx64コンパイラってOxとか02とかの最適化オプション使うと不思議なコードをたくさん生成してくれるんだけど、2005のx64コンパイラ使う気失せた。2008も0xだと変なコード吐くんだよな。x642009-12-02text-overflow画像を投稿してみるテスト。なんか、Gecko以外実装されてんだよね。いうか、どのブラウザもellipsisとclip以外の場合は実装されてないみたいだけど、やっつけな中途半端好きじゃないから、たぶんstringの時も動くようにするかも。Mozilla2009-12-01GPU!GPU!MicrosoftのIEで役職的に一番偉い人がIE9ではDirect2Dでグリグリ!って言って宣伝したのに、FirefoxでもDirect2Dの話がでちゃって、インパクトなさすぎな状態なんですが、cairoとかpixmanの話を触れておく。FirefoxでDirect2Dを使うってのは、cairoのバックエンドにDirect2Dバックエンドを追加するってことなんだけど、cairoの現在の開発版にはそれ以外にも、OpenVGとOpenGLとSkiaのバックエンドがすでに存在します。OpenGL版のパフォーマンスについては、このメールスレッドにいろいろ書いてあります。グラフィック周りやってるJeffも食いついてるので、将来的には、UNIX版においてのOpenGLサポートってのは考えるんじゃないのってところです。(ARMのCortext-A8からのSIMD。(N900って、TIのOMAP3だから、NEONサポートしてるんだよね)、結構パフォーマンスアップしてたりします。パフォーマンスデータはこのメールスレッド参照のこと。3.6だと間に合わないけど、3.7だとこれらのいくつかは考慮されるんじゃないかな?なんてね。3の話をしてきました。Japanのサイトで公開する予定です。(公開できない場合は、大人の事情ということでご理解ください)その際に、いくつか質問を受けたことの補足しておきます。ThunderbirdやFirefoxの自動更新は、Mozillaのサイトを参照してますが、これを企業側のサーバーに変更することは可能です。アップデート用のサーバーを構築する方法については、以下のドキュメントが参考になるかと思います。https://developer.mozilla.org/ja/Setting_up_an_update_serverまた、集中管理の方法については、https://developer.mozilla.org/ja/MCD%2c_Mission_Control_Desktop_AKA_AutoConfigを見ると参考になると思います。企業系に関するいろんな機能ってのは、FirefoxなりThunderbirdなり、実装されているのだけど、これらを集めたいい情報源がないのは、これからの課題にしておきます。資料張り付けておきます。Thunderbird2009-11-19ウィジェット、ウザいどこのケータイもブラウザメーカーもウィジェット、ウィジェットってやってるけど、あれ、どうみてもPointCast再び!ってしか見えないんだよね。PointCastって知らない人多いと思うけど、約10年前にはやったWebアプリみたいなもので、データをユーザーに配信(プッシュ配信って言ってたけど、実際には自分で取りに行ってる)して、デスクトップに表示するもの。詳しくはウィキペディアの英語記事でも見てくれ。対抗で、MicrosoftもActiveChannelってのがあってだな、、、って話がそれた。PointCastのときは、PointCast上からデータが配信されてくるイメージなのだけど、ウィジェットってのも、それが自身のサーバーから持ってくるだけで、やってること同じ。昔はPointCastに縛られていたけど、今度はWeb標準技術だけでできるようになったってことだけ。あのころに比べて、ネットワーク帯域は上がっていて、コストは劇的に下がってるわけだから、PointCastが叩かれていた帯域を占有するという問題は解消されるんだけど、人間はそんなにリアルタイムに情報をほしがるのか?ってのと、情報が氾濫してきて整理できなくなるという問題の二つを全く解決できていないので、ウィジェットもまた廃るだろうね。Mozilla2009-11-10ラーメンズAzaの話はいつも面白いよね。(よくバグくらいで人は死なないよっていうけど、今度は本当な話)。Azaもラーメンズ(またラーメンかよ)知ってるってのはさすがだと思ったが、ラーメンズと言ったら、寿司屋のネタで盛り上がる。次の日の朝、築地の寿司屋で全員そのネタをやり忘れるというガッカリな展開。Conferenceでこぼれ話として話したけど、来ていない人のためにも書いておく。ここで出てくるFrankってのは、多言語対応やってたNetscapeの人。自分「じゃ、スクリプト経由で使える文字変換Interface作らないと。自分「Frank、こん感じでInterface追加していい?Chatzillaで文字コード変換が必要だから。(スクリプトから使えるコンバータが必要だから、そのままの名前でいいや。名前が非常に長くなってるんだよな。やっつけで作って、後で後悔した例の一つ。ちなみに、Chatzillaは、初期Mozillaクライアント(現SeaMonkeyね)ではデフォルトで含まれていたので、Chatzillaの都合でいろいろ変えられたんだよ。2009皆様お疲れ様でした。来ていただいた方々はありがとうございます。プレゼン資料は後でアップします。Japanのところかココかどこか個人的にはライトニングトークは非常に面白かった。各々の発表者のネタの面白かったこととキャラが立ちすぎ。プレゼンはインパクト強すぎたなと。Japanのアクセスが増える原因は天候の悪化ってのもなるほどだよね。Chromeネタもいくつかあったけど、どれもシャレが効いてて面白かった。goo辞書は今度から使います。(次はちょっと真面目ところでの講演なので、「文字コード変換に使うときに使うInterfaceがnsIScriptableUnicodeConverterという長い名前ですみません、やらかしたのオレです。適当にChatzillaのコード直そうと思ったときに、、、」ってことは言いません)、その際にはよろしくお願いします。あと、Twitterのアカウント間違ってました。@makoto_katoです。Cause+Workaroundについて顧客にミーティングで説明したり、その合間に修正コード作ったりしてた自分にとっては(もちろんそれは仕事での話)、オープンソースカンファレンスのLTでOpenOffice.orgのコミュニティの人の話は全然ダメ。自分を高めたいんだったら、OSSじゃなくて、レベルの高い人たちのいる一流企業(MicrosoftとかGoogleとかAppleのHQ)で働いた方が、自分を高められると思うよ。OSSには自分の方が良いコードを書いたとしても、それを納得させる努力ってのが結構必要で、それは企業でコードを書くよりもより重要なんだ。コードを書くだけじゃなくて、妥協点を考えることをより考えされられる。いう交渉ごとに対して、自分を高めているということであれば、別にいいけど。OSSに携わる理由ってそういうことじゃないと思うんだよね。自分自身は開発者だから違うのかもしれないけど。自分は欲しい機能があったり、使えないと思うバグが合ったから修正コードを投げつけたところから始まったんだけど、誰かがコードの読み方を教えてくれた訳でもないんだよね。デバッガで動きを理解すれば別に大体の動きは把握できるから。そもそも、このソフトウェアいいんだけど、こういう機能がないから使えねーとか、何だよこのショボイバグとか思ったときに、直してやるかと思うかどうかだと思うんだけどね、開発者の本質っていうか、オープンソース的なものって。そこからコアの部分のコードを再実装したりしていくようになっていくと。レベルの高い人たちとやることが目的じゃなくて、ただ単にこのソフト使ってて、納得いかないから直している・実装するのがOSSだろ。いう考えの自分だから、彼らのプレゼンが残念。すごい違和感のある内容だった。Officeに勝っている部分を増やすこと。フリーとか無料とかじゃないとついて来ないようじゃ、一生勝てないし資金も集まらない。(前の会社で社長に「OSSで失敗するものは、劣化版コピーもの」っていう話をしたっけ。プロプラ)ものに比べても、劣化版コピーじゃないしね)。最後に、日本語翻訳系プロジェクトが分散するのはいいけど、どのソフトウェアも語彙とかのために合同ミーティングとかカンファレンスした方がよくね?(って先週だれかに話した記憶が。searchの実装において、補足しておく。U+2000以下の文字についてはそのままなので、U+0100移行の文字はスペースがワードブレーカーになっている作りになっている。検索で問題となるのはタイ語のみ(CJKと同じでワードブレーカーがスペースではないはずだったような。3.1までにちょっとタイ語勉強してくる)で、それ以外は網羅できてるはずです。U+0100未満の文字については、porterによる正規化ができているので、検索精度が高くなっている作りです。ここらはテストを細かくできてないというのが実情なので、問題があれば、バグをファイルしてもらえると助かります。bi-gramを使っているけど、1文字で検索しても、検索結果が引っかかるようにしています。コードを見れば分かるけど、1文字の場合はワイルドカードを使うように強制変更してます。4のユーザーがnightlyやRC1にアップグレードすれば、何も作業なしに日本語の全文検索ができるようになります(データベースの再作成が行われるため)。buildを使っている場合はデータベースを削除してもらったほうがいいです。Fluxでいろいろ書かれたからというのが、今回の実装をやり始めた理由なので、感謝は私にいうより、煽った人たちに言ってください。OSSの開発プロセス上、開発者が興味のあるところが開発が進むことが多いので、ユーザー側が声を大にして言ってくれたほうが、本当の問題点が見つかりやすいとは思う。これからも何かやって欲しいことがあれば、いろいろ言ってください。search周りやっているAndrewがアナウンスしてるけど、一応チェックインされました。Buildから使えるはずです。フィードバックを聞いているものはもうすでに直してありますが、何かバグを見つけたら、報告してください。bugzilla.mozilla.orgがベストですが、Twitterで@makoto_katoに文句垂れるなり、直接メールくれてもいいです。ゆらぎとかはサポートしてないので、それは許してください。今後どうするか考えます。いうか、辞書持つのってのはちょっとなぁと思うけど、ゆらぎを正規化するライブラリを書いた方がいいかもね。個人的にはやっとという感じだなぁと。ブラウザでネイティブコードが動く以上、ホワイトリストとブラックリストってのは、実装されるべきだから。Explorerだって、KillBitというのがあって、セキュリティ問題のあったActiveXコントロールは、このKillBitで無効化される(他社製であっても)。各ActiveXコントロールがCLSIDを持っているので、そのCLSIDをブラックリスト(KillBit)に追加するというだけのこと。Updateで配信されているのは、そのリストを追加するだけのもの。問題を修正した場合、そのActiveXコントロールが新しいCLSIDを使えば、それはKillBitに入ってないので問題なく動作する。アプリケーション側は直にCLSIDを使わずにProgIDという別名を使っておけば、アプリケーションを再コンパイルすることもないし。そもそも、プラグインの実行する場所にサンドボックスがあったとしても、それが逆にプラグインの動作に対して制限を加えることになるし、セキュアなプラグイン環境を作るためには、別のバイトコードで実装する方向にいくんだろうな。javaじゃないけど、JavaScriptで実装できるとか。3では添付ファイル忘れ防止用の機能が入ってたんだということを最近知った。詳細は、http://level.s69.xrea.com/mozilla/index.cgi?id=20090802_Tb3_attachmentに譲るとして、Beta4での日本語通らないから直してといわれたので、見てみた。簡単に原因を説明すると、\bの正規表現がどう動くかというところがポイントで、日本語の文字列だと\bが思ったように動作しないので、日本語通らなかっただけだった。簡単に修正コード書いてもうCheck-inしたので正式版までに直るはず。testがないとか言わないで。Checker自体にTestコードが一切ないんですが。つめるんだったら、そっちだろうって。使えるjs-ctypesの話をします。懇親会でタダメシ食えるから来てというわけでないですが、興味があればどうぞ。Azaはここ以外にもK...にも出るけど、Blizzardが日本で話すのは初めてじゃなかったかなあ。彼は元RedHatでMozillaをやってた人で今はMoCoでエバンジェリストやってる人なんで、いろいろ聞けると思います。MobileAndoridにXULRunnerが移植できるのかどうか最近Mozillaでコソコソ技術的な検証が行われてて、技術的な調査が行われている。昔にAndroidのブラウザを調べた時にある程度技術的な見解を持っているので、覚えている範囲で書いてみる。グラフィックエンジン自体は、OpenGL直叩きまたは、Skia経由での描画でいけるので、これはC/C++のインターフェイスを持っているから、楽勝。いうか、VladがSkia<->Cairoのバックエンド書いてたから、そんなに心配することない。gfxはまだ楽なわけだ。問題は、ウィジェットコード。結局C/C++だけでの実装は無理というのが結論。WebKitのコードを見てたところ、JNIを使って、ActivityなどのDalvikのクラスを呼びだして、OSのWidgetにアクセスしてる。アプリケーションのラウンチャーもJavaで書かないといけないので、ラッパー用のアプリを書いて、それから、JNIで実装したクラスを呼び出す感じじゃないといけない。OSのサービスが基本的にDalvikに閉じてしまうので、そこをどうにかしないといけなくて。いうか、Vladさすが。5のWebブラウザN900に入っているWebブラウザは、Geckoベースなのだけど、NokiaのデモがYouTubeに残ってる。これ見てると欲しくなるなぁ、N900。PowerVRだったから、SnapDragonよりも若干劣るけど、NetWalkerに採用されているi.MX51とはほぼ同等くらいの速度でこれ。Mobile2009-10-12自分のBioとある場所でBioを書いてって言われたので、整理がてらに自分のPCの経歴を適当に書いてみる。まともに書いたものはどこかに使われるかも。小学生の時、PC-6601(しゃべる&歌うヤツ)を買って貰って、BASICをちょっとやってたんだけど、すぐ飽きてZ80のアセンブラに手を出す。ハンドアセンブルやるのがウザかったので、自作アセンブラ書いてた。その後、そのパソコン取り上げられたので、パソコンから離れる。PC-6601は大人になってからヤフオクでゲットし直した。PC-6001シリーズ全部コンプし直す荒技。1.2.8をさわり出す。1.3.xツリーを試そうということになるんだけど、もうトラブルだらけなんで、コードを触り出す。2.x(だったはず)でインターネットを体験。学校のネットワーク回線は昼間は遅すぎ。そのおかげで、夕方しか学校(研究室)に現れず(昼間・夜間はバイトとか飲みしまくり)。夜はソースコードダウンロードしまくってた。その後、Javaがリリース。Javaのコード動かして遊ぶ遊ぶ。2.0が出てきて、もうウキウキ状態。なんか、世の中で革命が起きているってのはあの頃感じたよね!大学卒業して、とあるSI企業(現在は買収されて跡形もない)に就職。その頃Netscapeのコードが公開される。ビルドしてみて、動かしてみたけど、これ、ビミョーじゃね?と思う一方、自分の環境用のウィンドウマネージャにAfterStepを使ってて、これがバグバグなので、直しまくる&パッチを送りつける。してたらメンテナーになってた。それ以外にもLinuxとかいろいろOSSに手を出しまくり&パッチ投げつけ。いろんなところのchangelogに名前残ってたり。仕事には一切関係ないことだったけど。学生自体にバイトしてたころよりも収入減+車(田舎だったんで、ないと死ぬ)の借金で金がなかったので、Webアプリ書きのバイトをほそぼそとやる。そこで、いろんな言語で覚える。この話は経歴書には書かないけど。5のコードが捨てられ、Geckoベースになったんだけど、良い感じにバグバグすぎるので、しょうがないのでパッチを書き始めた。その頃コード書いてた日本人は、ボランティアで自分一人、あとはNetscapeの堀田さんとSunの田島さん(後から片貝さん)で、堀田さんと台湾人(だったよね)のFrankでと私でいろんなI18Nバグを直してた。1.0やるからプレゼンやってと言われたので、簡単なアーキテクチャのプレゼンやる。その頃にNetscpaeのI18Nメンバからいい加減にコミットの権限取ってって言われたので、Netscapeへ書類を送ってCVSの権限取得。バグを見つけて、自分で直しての繰り返し状態。金稼いで来ても全く評価されない会社に見限って、知り合いのツテで某社に転職。そのおかげで徐々にOSSから離れる(超プロプラなところね)。気づいたら(いろんな事情があって)、そこの会社でもブラウザやることに。ブラウザも片手間のはずが、もろ100%その仕事だけになってしまう。日本で自分一人だけだったからなぁ、ちゃんとコード直してた人の数。いろんなトラブルで徹夜でデバッグ&修正コード書いたっけ。いう状態だから、LinuxのツリーとかMozillaとかに行方不明と載る(すごく後でそういうことになっているというのを知った)。それはそれで面白い状態。それが直接の辞める理由じゃないんだけど)、数ヶ月遊んだあげく、とある企業に入社。(詳しくは絶対書かないけど)安易に会社を選んで後悔するはめに。Mozillaにもちゃんと戻ってくる。CVSのパーミッション残ったままだった。昔々に自分でバグをファイルしたものが残ってるのが多数発掘されるので、ちびちびバグつぶしとか。表舞台には出てこないので、Mozilla関係者にも面識が割れてない状態だから、イベント行っても、誰も気づかない面白い状態。