今回はそんなに悲観的になることはないと思う。3.6でどこが変わったの?って言われると、うーん。x64でのSSE2コード)をマージしてくれたようだ。Viktorというか、Mozillaに入ったおかげでliboggplayのコードがまともになっていっているんですが。メジャーなプロジェクトで使われると、コードがstableになっていくのが、OSSのよくある風景ですが。OS全然イノベーションを感じないのだけど、Xを捨てられるということであれば、ある意味価値のあるものなのかもしれない。Pとかに入っているLinuxを作っているようなベンダーとかを殺したりするだけというのが答えかなぁと。OSに変わるだけかもね。いうことになると、UbuntuがDELLからもらったお金がUbuntuに流れなくなってということもありうるので、Googleも本気にはやらないかもね。Desktopがダメじゃんという風評もより強くなるので、どっちに転んでもネガティブなことになりそう。1.4Windows環境でのtoolchainパッケージであるMozillaBuildが1.4にバージョンアップした。x64環境での動作にハックがいらなくなったこと。ついでにMookが作ったx64ビルド用のバッチファイルも入っているはず。(Brendanがいろいろ仕事増やしてくれたため、その対処用のチェックが非常に多い)、1.9.3以降用になるとは思うけど。Mozilla2009-07-21ITproのダメ記事http://itpro.nikkeibp.co.jp/article/COLUMN/20090710/333508/yこの記事見て。このレベルの考えで部長って富士通どうよ。現場の人間でもない部長だからこういう発言なのか。考えるべきというか、それが基準。3の場合は、おそらく今年中にセキュリティアップデートの提供は終わる。Lifeまでに移行するしかない。Lifeを迎えても移行できない場合はある。3.5で検証されていないとかね。その場合は、いろんな会社から出ているフィルタリングソフトウェアとかを導入するとかして、セキュリティを確保するしかない。Lifeの条件を考えてこないSIerのシステムなんて導入すべきじゃないと思うよ。N97が出たため、結構お安くゲットできる状態だったので買ってしまった。的にはN97とほぼ同様なんだけど、どうもタッチパネルの感度がちょっと違うらしい。以下感想ブラウザとかのUIはなぞってスクロールさせる、タッチUI系では当然のUIなんだけど、なぜか、リストボックスとかメニューとかのように、スクロールバーが表示される場合は、スクロールバーを使ってスクロールさせないといけない。それはないでしょ、NokiaさんN82よりもWebブラウザの速度感は増している指でUIをいじるとどうも使いづらい。付属のペンを使って操作というのが、正しい使い方のようだ。少なくとも、フルブラウザを使うときの解像度は横320だと足りないよねって改めて痛感。5800のように640あると便利。EditionのSDKはC++もJavaも全部入りなのね。CE用のFirefoxをVladなどのmozilla.comの人たちがやっているらしく、それ用のバグとかがたくさん開かれている。いじったという別にアーキテクチャ的にはまったく面白くないもの。CE用のFirefoxが出る(8月末RC)みたいなんだが、インパクト的に弱いよね。CEはx86でも問題ないから、パフォーマンスの問題は少ないと思うけど。AC3フォントの件直さないと、無理かと。Mobile2009-07-14バッチ処理でPPTファイルをPDF化ふと出来ないかなぁと思って調べてみたら、OpenOffice.orgを使えば以外に簡単にできるらしい。こんな感じに通信ソケットを開くようにOpenOffice.orgを起動しておく。N82に自分のケータイを戻しているんだけど、ケータイ用のフルブラウザってインラインフレームを使われると、そのインラインフレーム上のスクロールバーをクリックできないものが多い。Skyfire(こいつは、サーバーサイドのGeckoでレンダリングしてその描画データをクライアントに送っている。MiniとかJigとかと同じやり方)でも同じことが起きてて、その点が非常に使いづらい。Androidのブラウザでも同じようにインラインフレームのスクロールバーをクリックすることができないんだけどね。iPhoneは持ってないから、どうなっているのかわからないけど、何でモバイル用のフルブラウザというのはユーザビリティが欠けてるよね。作った人たちは、自分で使ってないだろとつくづく思う時がある。Dogfoodは大切だよ。Mobile2009-07-05予想通りの展開が来たわけだが。Qt.http://derstandard.at/fs/1246541386200/Maemo-switches-to-QtNokia様がお買い上げになった時点で、Maemo(N800とかN810という型番で売られているNokiaのインターネットタブレットで使われているLinuxプラットフォーム)が、Qtに移行するだろうと予測されていた訳だが、予想通り発表になった。GTKベースだけど、その将来のバージョン(おそらくOS2010)でGUIウィジェットがQtに変わるんじゃないかなぁと。SymbianもSymbian^4とかのプランだとQtをWidgetの一つにもってくるという話もあるので、NokiaはQtに賭ける戦略になってきてるね。S602009-06-22WindRiverのSymbian批判記事Intelが組み込み本気にやるんだったら、どこかのLinuxベンダーに資本投下するなり、(MontaVistaかWindRiverを)買っちまうだろうと思ってたら、予想通り、WindRiverがIntel一味になったわけだけど、WindRiverの人が面白いポジショントークしてるのがウケた。この記事は、Symbianのオープン化について、Symbianの立ち位置に対しての批判記事というかダメだし記事なんだけど、当然のことながら、Symbianからバッカじゃねーのという反論が書かれている。言って、Symbianの言っていることのほうが正しいと思うけど、WindRiverってこんな糞マーケティングする会社だったっけ?Intelになったから?。Nokiaが見捨てなければ、Symbianもまだ生き残れるとは思うけどね。あの独自のプログラミングモデルを吸収するレイヤーを最近リリースしてるし、Qt買うとかやってることは全うというか、自身の弱いところを埋める行動は納得いく。あとは、CodeSourceryに資本投下するなり、買っちまうと面白いよね。こんな糞記事書いたWindRiverも日本法人はダメダメで有名なところ(MontaVistaの日本法人も同様)だったけど、WindRiverがIntel一味になることでもう少しマシになることを祈る。Intelはソフトウェアをやる(買収含む)と常にコケるという伝説の新たな一ページになるだけというのが答えのような気がしてならないけどね。Mobileの現状なんか、Rockridgeさんは、MozillaのOfficialなコメントだけで物事言い過ぎなので、Mozillaとは関係ない私から雑感を言っておく。個人的にいえば、今のままではありえんというのが答えかなぁと。中野さんが言うように実機で見れば、言いたいことがわかると思う。なんか、この感じは僕がすごく関わってたころのGecko思い出すみたいな。6とかの失敗を生かしていない。理想を求めるのは必要だけど、現実的な解というのはもっと必要で、理想を求めて失敗したソフトウェアなんて腐るほど見ている(ほとんどみんな知らないと思うけど、タリジェントとかね)。結局生き残るのは、現実的な解を使ってきたものだ。来年リリースするとしても、ある程度は理想を捨てることも重要。その頃にコンシュマーに降りてくる端末も、ARMの1GHz-1.5GHzぐらいが限界だろうから。(6.1)の端末でRAMが256MBつんでいる端末がどれだけあるのかと。Killerぽく、別のプロセスぶっ殺すことになるから、メールを書くときにブラウザ開いてなんてやると、もうダメ。そこまでしてまで不便さを求めても使いたいと思うのかと。CE側のAPIとしてのグラフィック周りが弱すぎなのかもね。CEのCairoのバックエンドはDirectDraw使ってるんだけど、ビデオメモリへの直接アクセスができるのが利点だけ。Geckoとしてほしいのは、Compositeのアクセラレーションだ。ビデオチップのパフォーマンスを生かせないから、なおさら遅くなると思う。(Willcom端末持ってればコード書いてたんだが、cairoのバックエンドとか)。Mondayのプレゼンで見たコンセプトだと面白い感じだったんだけど、なんで、こんなただの普通のフルブラウザになっちまってるの?ってのが、一番感じてることなんだが。Mozilla2009-06-13Fennec開発合宿に行ってきた現場ではまだ続いているんだけど(月曜日の朝まで)、金曜日、土曜日と開発合宿で伊東に行ってきた。場所は開発合宿がよく行われる、山喜旅館で、日本でMozillaのコードを書いている人がほぼ勢揃いというか、日本にいる現在のアクティブなコミッター(Johnさん、中野さん、私)が全部そろっている豪華な布陣。Mobileでまともに動かなくなってたとか、タッチUIのバグを解析したりなど、いろいろガヤガヤとやってました。それにしても、池添さんから聞いた衝撃の事実は、Fennecのブラウザのコンテンツ部分が、Canvasで書いてること。そりゃいろいろなバグが起きるというか、そのアーキテクチャでいいのか、Mozilla。ついでにこのUIはユーザビリティから考えてどうなのよとか、いろいろな議論とかもしてました。Japanでも定期的に行うかもしれないということなので、何かコードを書いてみたいだとか思っている人達は、是非次回からは応募してください。(参加してれば)私もいろいろ教えますよ。事前登録者のみにプレゼントしてた。UIは日本語版になってるってのがレア。日本語入力はiWnnなのね。開発合宿というのが、来週あるらしい。Mobileのビルド環境というのは持ってたりするし、たまにはコミュニティ関連のイベントでも行こうかと思ってたので、どうしようかなぁと。行けても金曜日くらいだけなんだが。Mobileに限らずやることたくさんあるんだよね。Mozilla2009-06-02WindowsではliboggplayはMMXしか使わない調べてみたら、liboggplayでSSE2が有効になってないので、本家liboggplayのTracにバグをファイルしておいた。C++の環境でATTRIBUTE_ALIGENMENT_MAXなんて定義使う必要もないし。Phenonm以降(AMDの場合)じゃないと、128ビットネイティブに演算できないから、CPUによって速度がまちまちなのが欠点。ChromeのYUV変換もMMX直書きだったし。話がそれるけど、そういえば、iDCT変換だってWindows上だとMMXは無効にしてあるんだよね、PGOでこけるからという理由で。そもそもPGOをそこだけ辞めるという選択肢があるとは思うんだけど、そこはRocと議論すべきかなぁ。496529としてMozilla側にもファイルしておいた。チェックイン制限が解除されれば直るでしょう。1を1.5(cupcake)にアップグレードしてみた。起動画面が変わったり、ちょっとアイコンが変わってたり、WebKitのバージョンがあがっていたりするのだけど、個人的には、MMSがまともに動くようになってるのが一番大きい変更点というか一番大きい修正点。実験する限り、1.1までのファームだと、MMSを設定したとしてもProxyの設定を反映してくれないので、SoftbankのMMSのメールを引き出せなかった。Serverの設定をちゃんと読み込むようになった。詳しくない人に説明すると、Softbankのケータイ電話では、メールシステムにはMMSを採用している。これはi-modeのようなガラパゴスとは違って、ケータイ電話における世界標準のメールプロトコルの一つ(簡単に説明すると、世界中ではSMSが一般的に使われるんだけど、サイズが大きい場合はMMSを利用している。ServerがUser-Agentなどのヘッダをチェックして、登録されていないものだと接続をはじくようになっている。Server(YaPN)を作ったり、User-Agentを偽装するのが一般的だ(最近は絵文字のシステムまで移植する人たちも現れているけどね)。それを偽装できれば、AndroidであってもSoftbankのメールの送受信ができるわけだ。Serverさえ作れば、こんな感じでメールの受信が可能になる。Phone買った時に作っておいたものがあったので。JIT久しぶりに、Chromeで使われているGoogleのJavaScriptエンジンである、V8のソースツリーを同期したらx64ネイティブのJITコードがコミットされてた。ビルドできないけどね。ついでに、Mozillaのはどうなんったんだという話を追加しておくと、TraceMonkeyのx64コードはちょっと前に削除されたんだけど、reduxのツリーにあるx64コードを持ってくる予定らしい。reduxのツリーのものをそのまま持ってきても、ビルド通らないし、実装が1/3足りないので、実装し直す必要がある。i7だと動作するようになったようで、これがパフォーマンス向上の理由と言われていて、実際改善しているらしいのだが、実データを見たことがない。i7のマシンがとあるところにあったため、rsaperfを利用して実データをとってみた。rsaperfというのは、NSSに含まれるテストスイートの一つで指定した時間RSAの暗号化を行うベンチの一つだと思ってください。i7が一番速いんじゃないかなと予想。noneまず、一秒間に何回実行できるかのデータ。シングルスレッドで実行しているので、コアの能力を見る。i7ぶっちぎりじゃないんだけど。i7が速くないということはわかった。採取した各CPUのクロック数は全然違うので、GHz単位のデータに変換して、出し直す。これが上記のデータをGHz単位に変えたもの。i7に変わっても、5%くらいしか向上してない?。i7でも不利ってことか。このデータ見て、64ビット環境のサーバー買うんだったら、やっぱりOpetronなのかなぁとつくづく思った。x64eglibcDrepperは普通のバグ報告だと、(面倒で修正コード作らなくても)すぐ修正してくれる感じのヤツだけど、確かに扱いづらいヤツだよね。ときは、gccの開発スピードが遅いことが発端だった気がするけど、Debianの決断はARMがらみのところっぽいね。Androidも別のCライブラリ使ってるし。少なくとも選択があるということはよいこと。(ある意味違った勉強をさせてもらいました)、前の転職活動の時の話。受けに行ったんだが、個人的にはどういう人がやっているのかどうかという点においては興味あった。そのときに、CTOやってる人が途中から同席してきた。HQにもいたような人で頭の回転も速そうで、会った印象ではその人の下でやるのもありかなとは思った。そもそも、SNSというビジネスの限界点というのは容易の想像ができる。サイトの成長の鈍化と2、3年遅れてrevenueの鈍化が起きてくると思ってる(広告収入というのはそういうもの。広告を載せる先を選ぶ決め手は現在のリアルタイムの情報じゃないでしょ?)。そのため、その事業をやっていても停滞は起きるのは目に見えているんだ。会社を成長させるとかではなくて、次の柱を作るなり、市場にインパクトを与える何かを作るべきだと思ってた。そもそもSNSの構造上、データマイニングとかをやってきているはずなので、そこらのノウハウを生かせて新しいサービスをやるべきだと個人的には思ってた。そのSNSサイトには興味ないんだけど、受けに行ったんだ。いう考えだから、「...iというサイトには一切興味がない」という話を面接でしたんだけど、そりゃ当然面接落ちるよね。その時の面接でちょっと興味が引かれてたのはマネージメント手法の話で、ベースの考えとして、CTOの配下にすべての人をラインとしておいていているという話。(実際バーチャルチームを複数作って、リーダーを作ってるのは、容易に想像はできるんだけどさ)って話を聞いてたのに、最近別のエージェントと会ったら、その会社、開発のマネージャ募集してて笑った。一年やって失敗したんだね。今の会社もそうなんだけど、エンジニアを多く抱える会社はマネージメントを軽視しすぎ。LingrとRejawサービス終了のお知らせhttp://japan.cnet.com/blog/kenn/2009/05/01/entry_27022150/この話だって、結局のところマネージメントができてなかっただけでしょ?。いろんないいわけしてるけど、それにつきると思うよ。Googleだってそこらを軽視してたのが以前の勢いがなくなったことに繋がっていると思うし。マネージメントがまともではなければ、1+1=2ができなくなる。優秀な人材を雇っても、彼らを生かす道を造るのはマネージャの仕事だし、モチベーションを維持させるのもそう、個々の能力を今必要なことにマッチさせるのもそう。マネージメントという言葉を理解できなければ、この人は失敗し続けるんじゃないかな。Linuxのアップデートが出てた模様。9.04だと、libwrap.soが/lib32に入っているので、単体でインストール可能にはなっているのだけど、JustSystemは相変わらずDebian系の64ビット環境は考慮してくれない。今回のパッケージもdebは32ビット版しか入ってないので、deb版のパッケージを使わずに、tarballを使って入れる。展開されることになるので、/usr/lib32/にコピー。/usr/lib32/iiim/これで、IIIM側のアップデートは終了。path>/atokxup-20.0-3.0.0.i386.tar.gzこれでアップデートが完了。私自身は書いてはないのだけど、ちょっとだけネタを提供してたりするので紹介。有益な話が多いんだけど、デバッグ技法とかを学ぶにはちょうどいいかとは思う。あとWindowsでのデバッグについてのいい本はないんだよね、現在のところ。カーネルとかにはデバッグ系の機能とかがあるんだけど、それを有益に紹介されてないし。PhenomだとSSE2は高速化しているんだけど。MMXを2回実行した方がまだ速いって。それ以外でも、SSSE3のシャッフル変換使えば、Alpha値を持たないPNGや田の画像形式でもパフォーマンスアップを見込める。SSSE3のインラインアセンブラやビルトイン関数は、VC++2008からだから、_emit使って直に書く必要があるけどね。整理したら、レビュー投げるつもりそれ以外に、SSE2での最適化で有名どころといえば、UTF8->Unicodeの変換。これはMozillaとして考えてるとは思うけどね。9.04の開発版に変えたのだけど、Dropboxが動かないようだ。Dropbox"というメニューしか出ない。8.10まではレポジトリがあったのだけど、9.04用はまだ作られていないようだ。調べてみると、最新版に入れ替えれば動くとのことで入れ替えた。Dropboxのフォーラムhttp://forums.getdropbox.com/に最新版が通知されるので、それを使う。私の環境はAMD64なので、それ用をダウンロード。nautilusNautilusを立ち上げるなり、再ログインすればDropboxが使えるようになった。有効にした状態で正式版はリリースされている。PGOというのは、最初のコンパイル時にプロファイルを作成できるようにコンパイルして、その後、実際の動作状態のデータをとって、その後再度コード生成をすることで、コードにおけるさらなる最適化を進めるものだ。複数のオブジェクトファイルやライブラリに渡っていたものでも、インライン化などを通じてコードの高速化に寄与する。これは、x86だと、FASTCALL以外は、引数の受け渡しにスタックを利用するので、x86だと高速化に寄与できるし、Itaniumの場合は、汎用レジスタの数が膨大なので高速化できるだろう。場合は、どうだろうか?。汎用レジスタの数は増えているから、当然最適化しやすいが。実際、ここにMicrosoftの資料がある。http://msdn.microsoft.com/ja-jp/library/aa289170%28VS.71%29.aspxこのデータをみると興味深いのだけど、Itaniumは非常に高速化に寄与するみたいだ。コンパイラで最適化を図ってくれ!というアーキテクチャなので、当然といえば当然か。Professionalを手に入れたので、SunSpiderでFirefoxのテスト。(x64なので、JITは有効ではない)。fasterちょっとは早くなるけど、ベンチマーク上はそれほどでもないんだよね。導入されているんだけど、BTSに登録したから、誰かが見てくれると思っているのは間違い。ゴミくずのようなバグが増えていく昔勤めていた会社は大規模なソフトウェア会社だったためBTSはあったんだけど普通にバグを登録しても放置される状態になる。それは、そのバグ登録等については誰でもできたため、ゴミくずのようなバグだらけになるからという原因がある。(実際問題、原因がソフトウェアに関するものではなかったり、違うバグ修正で直っているものだったり、過去のバージョンで直したものだったり!)。その時の一番の問題は、バグを登録した際にアサインがデフォルトでなしという状態だったのが、一番の問題だった。だれもアサインされてないんだから、当然誰もやりやしない。重要なバグであってもね!。その会社ではBTSを変える時に、デフォルトアサインのままだとバグを登録できなくするように変更したため、誰にアサインすればいいのかが分からない人にはバグ登録ができなくなるということになった。敷居をあげた状態に変更したおかげで、常に誰かにアサインされるため、誰かが一旦はバグを見ることになるオペレーションへ変更した。ゴミのようなバグが増えるきっかけは、開発フェーズの時に報告されたバグが多数残ること。開発をやっている人だったら分かるとは思うが、一つのバグの修正が複数のバグを修正することは多くある。そのため、既に直っているバグがアクティブのままずっと放置されることなんてよくあることになる。その後誰かがもう直っているかどうかの検証をしないと、バグが直っているのにもかかわらず、数字上はバグが残っている状態になる。me)、そこでクローズとなんだけど、ただ開発のマネージャからしてみれば、そんなにテスターにコストを払わないといけないの?。そんなゴミのようなバグ報告に対して??ってことになるよね。fix)でクローズをしてしまって、報告者に「新しいメジャーバージョンで試して、直ってなければ再オープンしろ」という指令が下る。そのため、ある程度のバグの掃除が可能だ。報告者がいなくなったりして、まだバグが残っているのに再オープンされないものもあるから、バグ報告が見逃されるのでは?って思うかもしれないけど、でも、それが重要なバグだったら、誰かまた報告するでしょ?。マイナーバージョンは?って言われれば、それ専用のBTSを別途もっておいて、「そこに報告しろ!」っということにすればいい話。マイナーバージョンのリリースチームがレビューして直すかどうか判断すればいい話だからね。(バグ報告者を制限する)上記のようなゴミバグを増やさないためには、優秀なテスターにのみバグ報告を許すというやり方もある。あるソフトウェア部隊ではそういう手順を取っていた。(実務で使えば、そんなことくらい分かるだろ!ってバグ多数)。その開発マネージャが昇進するという、笑えるオチがつくんだが。(そのソフトウェアにモチベーションを持てなくなる)。前者は、そもそもテスターの問題なのかもしれないけど、テスターに報告したとしても、そのテスターの環境でたまたま再現しないだけで、「再現しないから、バグ登録しない」という話になりやすい。それは、コードを直接書いている人だったら、自分の環境で再現できる話なのかもしれないし、別の関係ない人が再現方法を明確にするかもしれない。そのようなところで止めるべきではないと思う。(ただ、バグの書き方が分からない人をヘルプする人やものは必要だとは思うけどね!)後者は、自分がいろいろできる人だと、変な仲介者を制限されるのは嫌う傾向にある。コードが書けるんだったら、こう書けばもっといいのに!って思うのは当然だし、直接チェックインもしたくはなるよね。BTSに登録して仲介なしに議論したいと考えるのは当然。いう人に対して変な仲介者を通さないといけない状況を作った場合、バグを登録するのにも、無駄な労力を使っていく状態を作ることが、そのコードに対するモチベーションを下げる要因になりやすい。その仲介者のスキルが報告者よりも下だったら、なおさら、無駄な労力を使うことになるので、よりやる気を失っていく。自分の考えそもそもBTSは、開発する上で必要なトラッキングツールなんだけど、外部の人にバグエントリの追加や更新を許可する場合の一番の理由はQAや開発のコストを下げるためなんだ。そもそも無尽蔵にリソースがあるのであれば、別に外部に開かれる必要もないしね。OSSについては、それを外部に依存しているんだから、BTSの運用方法をより考える必要がある。個人的には、バグ報告者を制限するやり方は非常にまずい。バグを報告してくれる人ってのは、悪意ではなく善意の場合がほとんどなんだ。ゴミが増えるということやクオリティ維持のためにそんな方法で善意のある人も制限するのは、バグがあるのにバグ報告がなくなるという悪循環になりうる。善意で報告しているのに、(開発者でもない人とかに)とやかく面倒なこと言われたら、モチベーションが下がるでしょ?次はMozilla.orgについてのBTSの話を書いてみようかと思っている。8をインストールしてみた。(解決したアイデアがすべてのライブラリをスタティッ...(略))、バージョンアップしてもシェルの動作への影響は少なくなったし。Tridentへの修正を少なくして、ブラウザのユーザービリティへフォーカスしてきたのは当然だし、理解できる。Research製のJITとかが投入されるんじゃないかなぁ。そもそもActiveScriptというプラガブルなアーキテクチャを採用しているから、置き換えることについては技術的には難しくない。互換性の面では厳しいかもしれないけど。最初に起動して気付いたのが、メニューバーが表示されててダサイ。(Vistaの為に作ったのをXPに持ってきている以上)、メニューを表示すると、ツールバーのど真ん中になるのはしょうがないんだけど、XP版だけメニューを表示している大人の事情をある程度は知っているため、それに対してはこれ以上ノーコメント。Chromeの用に各タブにアサインされた複数のプロセスが起動されている。(プロセス分離も可能になっていた)、7でタブが追加された時も、各タブ毎にスレッドを分離していたので、構造的にプロセスに分けることはそんなに難しくもないはず。できる範囲でトレンドを入れることはしてきている。リリース時点でいろいろ登録されている。ここらはMicrosoftが一番得意なパートナー向けの交渉だから、さすがというところだけど、ちゃっかりGoogleのアクセラレーターがいろいろ登録されているところが、Googleらしいというか。少なくともMicrosoftがブラウザに再び投資を始めているということは、競争という面ではMozillaにもGoogleにもいいことだ。競争があるからこそ新しいイノベーションが生まれるから!。3.0へアップグレードしたらメールが消えた普通のメールクライアントを家ではそんなに使ってないのだけど、会社では当然使っている。2に変えたのだけど、笑えるバグを昨日気づいてしまった。自分の使い方として、どういうメールクライアントを使っていても、メールを整理するためにarchivesという名前のフォルダを作って、古いメールをメール分類毎や受信日時で分ける使い方をしてる。先日古いメールを検索しようとして、メールを探し始めたら、メールが一切見つからない。あれれ?と思ったんだけど、よくよく考えると、3.0に変えてからそのフォルダ内の検索をしてなかった。3.0では、アーカイブフォルダというのが追加されているから、もしやと思って、ファイルシステム上のファイルをみたら、archivesというファイルとArchivesというファイル両方が存在してて、Thunderbirdは自分で(アーカイブフォルダ用に)勝手に追加したArchivesを参照するので、2.0を使っている時に存在してたarchivesを無視してた。構造上Thunderbirdはアルファベットの大小を区別しない仕組みになっているので、当然だよねって、おい!!!!。メールデータはロストしてないけど、ある意味致命的というか。デバッグする気も失せたので、バグファイルしておいた。disappears。ちなみにWindowsではファイルシステムが大小を区別しないので起きないとは思うけど。PhoneのファームウェアもG1と同じようにバージョン1.1がリリースされたので、更新を行った。Phoneのドライバを指定することユーザデータを消すようにするので、当然APN情報も消える。462667)Firefoxに内蔵されたビデオ再生機能のパフォーマンスは非常に良くない。(oggを扱えるアプリケーションは、本家のライブラリを使わずにチューニングした別のライブラリを使っているのが見受けられるくらい、本家のライブラリはチューニング不足)。最新のliboggplayとかであれば、YUV->RGB変換などをMMXやSSE2等を利用してスピードを稼いでいるので、Firefoxで利用している各ライブラリがバージョンアップされれば、ある程度はパフォーマンスが向上するとは思う。(DirectXにはあるけど、OS非依存のものがない)。DirectXとかで動画再生する場合は、YUVで直接描画できるから、ARGBへの変換なんていらないから、よりCPUに優しいんだけど。service)は、Mozillaのツリーの中でも異質なもので、コミット権限も非常に制限されている(mozilla-centralとかとは別管理)。現時点のコミット権限を持つのは、元Netscapeの社員とSun(iPlanet関連)の人くらい。パッチを投げたとしても、非常に無駄な労力を使う必要があんだけど、Crypto関連なので理解はするけどね。3.5に入ってくる可能性がある。このバージョンには、自分がいろいろチューニングパッチを作成していくつかコミットはされているので、いくつか説明。Mac)であれば、DESとSHA512はベンチ上では数パーセントから10パーセントくらいのパフォーマンスの上昇を見込める。VC++は?ってパッチ投げるの忘れた。i7の新しいCPUでは、XMMレジスタを利用したAESの補助命令が追加されているんだけど、対応CPUであれば、それを利用するようになった。VC++で必要であれば、ってオレがやらないと誰もやらないだろうけど。一部の命令をSSE2で高速化していたんだけど、これをVC++の環境にも広げた。SSE2コードはインテル製のみでしか動かなくしていたんだけど、CPUチェックコードを外したので、SSE2をサポートしたCPUであればすべての演算が高速化する。MicrosystemsのJulienが調べた結果では、以下の通り。119%AMDのCPUであっても、パフォーマンスが上昇するので、CPUチェックは取り外された。(このテストは2スレッドで30秒)。x64環境ではアセンブラ化した演算ライブラリを使ってなかったんだけど、VC++環境下でもアセンブラ化したものを利用するようにしたもの。これは、nssをx64ビルド化しないと意味ない話だけど。388%圧倒的に高速化する。このベンチと上のx86+SSE2でのベンチ結果を見るとおもしろいんだけど、x86-64環境では、64x64のかけ算とかをネイティブにできたりするので、速度が圧倒的に違う。おもしろいのは、64ビットモードでのAMD製CPUの速さ。i7だと64ビットモードも速いはずなので、その結果も見たいとは思うけど。Mozilla2009-03-09SourgeForge.jpのやっつけ記事インテルから金が出ているかどうかは知らないけど、この記事に対して、一言コメント。2005でコンパイルしてるんだから、それとインテルコンパイラを比較しないと意味ない。いうより、自分でビルドしなくても、オフィシャルビルドと比較すればいいじゃん。2005の方が高速になる(はず)。jemallocを使うだけでSunSpiderの結果なんて5%-10%くらいスコアが上がるから。2008でビルドしてもjemallocは有効にならない。jemallocを使わない。Windowsのヒープマネージャなんてクリティカルセクション使いまくりの設計古いやつだから、遅いに決まってる。7でチューンナップされてるらしいが)。使えるとかいい点もあるけどね。インテルコンパイラの場合ってPGOのオプション有効にできないんだっけ?。Applications調査の2月のモバイルブラウザシェアのデータを見たところ、納得いかないというか、この数字おかしいだろ。Mobileが6.9、Androidは6.26%、Symbianは6.17%。これだけみるとへぇーと思ったんだけど、別のデータを見てみる。2.71%Safariは、モバイル上ではiPhone上でしか動かないのに、OSのシェア超えてるってどういうことやねん。WebKitベースをすべて入れたってこと?。(自身のWebKitを使ったアプリしかインストール不可だし)という条件と、AndroidとSymbianを足してみると。3rd以降はWebKitベース。それをSafariを計算することがそもそも変。WebKitを使えば、すべてSafariってねぇ。モバイルなのにNetscapeって何だよ?と思ったけど、おそらくSkyfireじゃないな?。あれ、Gecko1.8ベースのものだし。NetFrontのシェアが低いというから考えれば、ヨーロッパおよびアジアのデータが入ってない。シェアNo.1の可能性が高いはず。日本のモバイルにおけるトラフィックはおそらく世界一。結局のところ、アメリカの未熟なモバイルマーケットの情報をみても役にたたないというか、こんなシェア、どこの会社でもひっくり返すことができる数字としか見えなかった。Mobile2009-03-01ソフトバンクかドコモで一日データ定額プランがほしい仕事で地方に行くこともあるんだけど、今のノートがExpressCard仕様なので、会社で確保しているPCMCIAのWILLCOMのカードは使えない。今はどうにか無線LAN(というかマクドナルド)を使える場所でいろいろするんだけど、EMモバイルを使おうかどうか迷ってる。スペイン行った時に売っていたプリペイドなんてのはそういう用途には非常に助かるんだよね。一日パケット通信定額とかあったりするので、数十ユーロくらいのプリペイド買って、現地滞在してても通信には困らない。いうのを経験すると、いつの間にか日本がネットワーク後進国になりつつあるんじゃないかとつくづく思ったりする。日本のEMモバイルにも定額プランがあるんだけど、あれにプリペイドバージョンでかつ2.1GHz帯であれば、契約を考えるのにってつくづく思う。(SIMカードのみの契約を受け付けてないんだよね、彼らは。独自の1.7GHz帯だから、SIMカードのみの契約をしたとしても、使う端末は中古ということになるからだとは思うけど。)なので、2.1GHz帯のソフトバンクかドコモでやってくれないかなぁ。一日定額650円にしてもいいから。タイトルバーにタブを置いたおかげでタイトルバーが若干大きくなったのは微妙。フォントのレンダリングがWindowsっぽくなってる。Chromeにかなわず。Fisherが加わってた。CoverFlowって使いやすいか?。iTunes使ってるけど、あのUIは最初だけな感じだった。NeXTユーザーだった自分としては、あの3列のリストボックスは好きだけど。おもしろいアイデアとかUIを持ち込むかと思ったら、CoverFlowなUIだけというのは正直がっかり。RawHideで日本語に中国語フォントが使われるFedoraのRawHideを最新にしたら、日本語フォントが、中国語フォントで表示されるような状態になってた。何かのフォントが悪さしているだけっぽい(日本語フォントよりも中国語フォントが先に参照される状態ともいう)なので、調べてみると、以下のモジュールが悪さしてたので、このフォントを削除したら、san-serifで日本語文字に日本語フォントを使うようになった。files.それよりも、アップデートで入ったKDEのオーバーローカライズさにウケる。san-serifとかmonospaceというフォント名をローカライズするのはどうかと思う。linux2009-02-25TraceMonekyの各アーキテクチャ版のステータス誰も触れてない話。ExtremeよりもTraceMonkeyの勝っているのはx86以外のプラットフォームもサポートしていることなんだけど、それの現在の状況。x86_64は現在なし。JITは存在するんだけど、SpiderMonkeyのNanoJITとインターフェイスが微妙に違うから、そのまま持ってくるのは不可という。Mobileはまだ動かないけど、これは現在作業中SunからSPARC版のNanoJITは投入済み。Thumbとともに未サポートになって、今は、SPARCとARM追加されたというところ。Browserのバージョン1.1が出てたので、アップデート。Safariでいう、4.0のWebKitのバージョンに変えたらしく、Acid3テストは、100点になった。3.2は最近自分のチェックインで94点になってるはず。コンパイルフラグでSMILを有効にすれば、96点くらいになるはず)。あとは、最近のモバイル用ブラウザみたく、画面の拡大・縮小を行うようになってたりする。Browserらしく、クリックしたところが画面のエフェクトで凹むUIは相変わらず(センスない)。ARMのサイトでは、どうも価格表が載ってないらしく、代理店やってる横河のサイトに行けと言われる。そんなんであきらめてもしょうがないから、海外のサイトを調べると、だいたい分かった。$3,800BREW用だと一年ライセンスで$1,500くらいなのにやっぱり、高いよね。安ければ買おうと思ってたけど、あきらめた。今、Androidのちょっとしたアプリを書いているんんだけど(といっても、今日書き始めた)、APIの使用例を探そうとGoogleで検索したところ、古いAPI仕様のコードが1ページ目からでまくり。今まで検索結果に鮮度を含めるのはどうかなぁと思ってたんだけど、鮮度は含めるべきだよね。x86でしかSSE2使ってないので、GCC系のプラットフォームにも移植する予定。いっても、Fedoraとかだと、--with-system-jpegつけてビルドするからオフィシャルビルドとかしか影響しないけど。x64GCC向けとMSVCのx86向けはもう入ってる。(GFX_PREMULTIPLY(b,a))だから、アルファブレンディングしたPNGを持ってくると遅すぎじゃないかな?こんな感じのパックドコードをSSE2で実装すれば約2倍くらいは速くなるような。data);今度テストしてみよう。instructionsの各ソフトウェア上での実装Westmere以降のIntelのCPUでは、新機能として、XMMレジスタを使ったAES暗号のための補助インストラクションが追加されているんだけど、チップに機能があったって、コードがなければ意味がない。その実装の各ソフトウェアでの実装状況について。Kernelhttp://lwn.net/Articles/311094/にパッチの投稿がある。入ってないけど、パッチあり。(NSS)https://bugzilla.mozilla.org/show_bug.cgi?id=459248がバグエントリ。x86_64とSolarisのみ。OpenSSLhttp://groups.google.com/group/mailing.openssl.dev/browse_thread/thread/15d5fd5b74d528aeにパッチの投稿がある。入ってないけど、パッチあり。各暗号系の実装はCPUがリリースされた時点でそろってるっぽいよね。7のパブリックベータを入れてみた。壊してもいい環境だったんで、アップグレードインストールした雑感。Updateから入れられない思ったよりは、いい感じかも。CEバッチ処理でPPTファイルをPDF化モバイル用のフルブラウザ予想通りの展開が来たわけだが。