« September 2010 | Main | November 2010 »

October 2010

October 27, 2010

Announce: The Transfer of Mylingual.net

Thank you for using Mylingual.net, an automatic, user-based translation (localization) service of web-based application UI.  As of Oct. 29 2010, the service will be transferred from Cybozu Labs, Inc. to Kazuho Oku (the developer of the service, it's me).

  • All the translation data (including editing history, etc.) will be transferred.
  • The browser extensions and userscripts will continue to work as it does today.
  • The translators are requested to re-create their account after the transfer.
  • After the transfer, the translators will be requested to log-in to the new system using Twitter but the integration might not be completed as on Oct. 29.
  • After the transfer, announces and discussions will be posted to the website of Mylingual or to my personal weblog: Kazuho's Blog.

I am sorry to bother the users of the service (especially the translators).  Thank you for your cooperation.

Japanize / Mylingual サービス移管のおしらせ

直前のお知らせになり恐縮ですが、2010年10月29日より Japanize および Mylingual の両サービスを、弊社サイボウズ・ラボ株式会社より、サービスの開発者である私、奥一穂個人へ移管いたします。

  • 蓄積された翻訳データ(編集履歴等含む)は、全て移管されます。
  • 拡張機能や Userscript 等を通して翻訳機能をご利用の皆様におかれましては、何も作業していただく必要はございません。現在と同様に翻訳機能をご利用いただくことが可能です。
  • Japanize または Mylingual でアカウントを作成し、翻訳作業にご協力いただいている方々におかれましては、サービス移管後に再度アカウント作成をお願いいたします。お手数をおかけし恐縮ですが、個人情報の取り扱いに関しては慎重を期すため、再度ご登録をお願いすることにいたしました。ご理解のほど、よろしくお願いいたします。
  • 移管後のアカウント作成につきましては Twitter 連携で行うことを予定しておりますが、10月29日の段階では間に合わないかもしれません。数日間翻訳作業ができない状況になるかもしれませんが、ご容赦いただければ幸いに存じます。
  • 移管後のアナウンス等につきましては、サービスのウェブサイトおよび、奥の個人ブログ (Kazuho's Weblog) でご案内させていただきます。

以上、両サービスの翻訳にご協力いただいている方々には特にお手間をおかけし申し訳ないのですが、ご理解、ご協力のほど、よろしくお願い申し上げます。

XSSに強いウェブサイトを作る – テンプレートエンジンの選定基準とスニペットの生成手法 (第1回神泉セキュリティ勉強会発表資料)

発表資料は以下のとおり。春山様はじめECナビの皆様、ありがとうございました。

October 21, 2010

Compressing URLs in your Webapp, for size and speed

Last year I had a chance to talk about the internals of our service: Pathtraq at Percona Performance Conference (slides), in which I described the methods we use to compress the URLs in our database to below 40% of the original size, however had not released the source code since then.  I am sorry for the delay, but have finally uploaded the code to github.com/kazuho/url_compress.

It is generally considered difficult to achieve high ratio for compressing short texts.  This is due to the fact that most compression algorithms are adaptive, i.e., short texts reach their end before the compressors learn how to encode them efficiently.

Our approach uses an algorithm known as "static PPM (prediction by partial matching)", that uses a pre-built table for compressing tables.

By using static PPM it is possible to achieve high compression ratio against hostnames or domains (e.g. "www" or "com") or English words that occasionally appear in paths or query parameters (e.g. "search").  And even in case of compressing unknown words in URLs the method works fairly well by utilizing the lower-order probability prediction tables for syllable-level compression.

The repository includes the source code of the compressor / decompressor (the core of the compressor; an optimized range coder using SSE, based on the work by Daisuke Okanohara, is actually git submoduleed from github.com/kazuho/rangecoder), Perl scripts for building compression tables, a small URL corpus for building and evaluating compression tables, and source code of a MySQL plugin that can be used to compress / decompress URLs using SQL.

By following the instructions in the README you will be able to build the compressor that compresses the URLs in the corpus to 30.5% in average, and use it in your MySQL database to store URLs more efficiently.  And one more thing, the benefit is not only for space efficiency.  Since the compressor is designed so that prefix search can be performed without actually decompressing them, in some cases your query becomes faster if you store the URLs in compressed form :-)

October 16, 2010

My Slides at YAPC::Asia 2010 (Writing Prefork Servers / Workers, Unix Programming with Perl)

The slides I used for my presentations at YAPC::Asia 2010 are now available from the links below. Thank you to those who came, and JPA and the volunteer stuff for running the event. I hope you enjoyed (will enjoy) my slides!

October 12, 2010

パストラック(Pathtraq)、サービス終了のお知らせ

サイボウズ・ラボ : パストラック (Pathtraq)、サービス終了のお知らせ」で告知させていただいておりますとおり、2010年10月29日をもちまして、パストラックのサービスを終了することになりました。

これに伴い、パストラックのツールバーは動作を停止いたしますので、インストールされていらっしゃいます方におかれましては、お手数ですがアンインストールをお願いいたします。また、ブログパーツ、Windows用ガジェット、開発者向けAPIも動作を停止します。

利用者の皆様、中でも、ツールバー(拡張機能)をインストールしてアクセス統計の収集にご協力いただいてきました方々、ブログパーツやガジェット等関連サービスをご利用いただいてきました方々にはおかれましては、これまでの御礼をこの場を借りて申し上げるとともに、お手数をおかけすることになる点も含めまことに申し訳ありませんが、ご理解のほどお願いしたいと思います。

10月29日までは運用を継続いたしますので、残り少ない期間恐縮ですが、サービスをお楽しみいただければと思います。これまでパストラックをご利用いただきありがとうございました。

October 01, 2010

Shibuya.pm でセキュアコーディングの話をしてきた件

昨日は、Shibuya Perl Mongersテクニカルトーク#14 に参加してきました。

パネラーとしてウェブサイトのセキュリティに関するディスカッションに加えていただいて、いろいろ上から目線で大局的な話をしたり。一方、ライトニングトークでは具体的な事例として、既にブログに書いた Twitter の XSS に絡んで構造化テキストの処理手法について話をさせていただきました (参照: 構造化テキストの正しいエスケープ手法について, String::Filter っていうモジュール書いた)。

とはいえ、既にブログに書いたことを繰り返すのも芸がないので、正しい設計が何か、という切り口ではなく、どういう設計をすれば「安全」か、という話になっています。スライドは以下にありますので、興味のある方はご覧ください。

主催の shibuya.pm の皆様、パネルディスカッションに参加する機会をいただいた IPA の皆様、会場をご提供いただいた IIJ の皆様、ありがとうございました。