たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
既にご存じの方もいらっしゃるかとは思いますが、オライリーから「Firefox Hacks Rebooted」という本が出ました。3年前に出た「Firefox 3 Hacks」の続き……でもないのですが、似たようなコンセプトで「今」の話をまとめた本です。
本1冊を通して1つのストーリーに基づいて何かを体系立てて解説する、という本ではなくて、各著者が自分の得意分野で好きなように書きたい事を書きまくった本、というのが実情を正しく言い表している気がします(元々、オライリーの「○○ Hacks」というタイトルは「なんでもあり」のブランドなんだそうで……その言葉に甘えてしまいました)。
以下、各章の対象読者層と思われる層、内容の簡単な紹介と、定量的に傾向を把握するための手がかりとしてページ数と全体に対する割合を表にしてみました。これを見ると一発で分かりますが、僕(4章と6章の一部を担当)の暴走が著しいですね。やばい。
章 | 主な対象読者層 | 内容 | ページ数 | 全体の中でのパーセンテージ |
---|---|---|---|---|
1章 | エンドユーザ | Firefoxの新機能紹介など基本的な事。Firefox 3.6とFirefox 4以降との間で何が変わったのかのまとめ。 | 54 | 11% |
2章 | 開発者寄りのユーザ | VimperatorとKeySnailの解説。と、Twitter用アドオンの解説。ブラウザとしてのFirefoxをガンガン使いこなしていく人向け。 | 42 | 9% |
3章 | アドオン開発者 | Add-on SDKを使ったアドオン開発のチュートリアル。アドオンの開発をこれから始めたいという人向け。 | 68 | 14% |
4章 | アドオン開発経験者 | Bootstrapped Extensions、ChromeWorker、e10sなど、Add-on SDKよりも下のレイヤの技術の解説。今既にアドオンを開発してるという人や、Add-on SDKではできない・標準ライブラリでカバーされてない範囲の事に手を出そうと思ってる人向け。 | 156 | 33% |
5章 | Webデベロッパー | Firefoxで利用できるHTML5関連技術やECMAScriptの紹介。Webデベロッパー(主にフロントエンド)向け。 | 98 | 21% |
6章 | アドオン開発経験者、Webデベロッパー | ハードウェア寄りの話と、その他のこぼれ話。アドオンやWebアプリの開発で、ネイティブアプリ並の事をやりたい人向けの話が多め。かも。 | 56 | 12% |
自分の担当箇所だけ細かく見てみると、ページ数と全体に対する割合はこんな感じです。
調子に乗って脳汁ドバドバ出して書きまくる→ページ数が増える→値段上がる→損益分岐点も上がる という危険なコンボが発動してしまったためかお値段高めとなっておりますが、自分の担当箇所も他の方の担当箇所もひっくるめて、腰を据えて読むに値する情報ばかりなんじゃないかなーと思っております。Webで難なく読める文章の長さと、(紙でも電子でも)書籍の形になってた方が読みやすい文章の長さって、やっぱり違うと思いますしね。
本書のサポートサイトも公開されており、正誤表や本文中の各コードリストのダウンロード、本文の一部を切り出したサンプルPDFの無償公開などがあります。正誤表等はこれから更新されていくと思いますので、本書をお読みになられる際はこちらのサイトも併せてご参照いただければ幸いです。
以下は、思い出話です。
本書の企画がスタートしたのは、Firefox 4の正式版が出る前の2010年5月頃だったと思います(今メールボックスの一番古いメールの日付を見て確認した)。当時はまだ内部バージョンがFirefox 3.7とか言われていた頃で、Aero Glassが標準で入るのか?とか、そんな事を言ってた時期でした(という事も今Wikipediaを見て確認した)。
それからしばらく、どんな内容にするのがいいか? どんな人に執筆を依頼しようか?(今著者の一覧に名前が載ってる方の中には、最初の時点で名前が挙がってた著者の側から「是非この人にも書いてもらいたい!」と引っ張り込んだ人もいるのです) という事を話し合っていて、執筆者が確定したのが8月。そこからぼちぼち書き始めて、なんやかやで1年経ってしまいました(普通はここまで難産にはならないみたいです)。その間にFirefoxのバージョン番号もどんどん上がっていって、もうすぐFirefox 8ですよ奥さん! 時間が過ぎるのは本当に早いものですね。
最初の頃は、自分は「Firefox 3 Hacksで書いた内容をFriefox 4時点での情報に基づいてリライトするか?」程度の事を考えていました。でも、それじゃあ書いてる自分がつまらないし、それこそすぐに陳腐化してしまいます。それでうんうん唸りながら調べていくうちに、Firefox 4以降の話で新しい基盤の技術になりそうなトピックがいくつかあるという事が分かってきたので、それじゃあってんで、そこをターゲットにして書いていく事にしました。実は、自分の担当箇所は半年くらい前にほぼ完成してたんですよね。そこから本書の発売までの間は、(他の事に時間を使ってたからというのもありますが、)細かい記述のアップデート程度しかやってません。高速リリースになってからガンガン方針が変わったり実装が変わったりしてて、本書に書いた「テクニック」の中にも、既に「もうこんな回りくどい事しなくてもいいんだけどなぁ」な感じになってしまった話題がいくつかあるにはあるのですが(校正の詰めの詰めに入った段階でまたどどっと変更が入ってきて、どーしても間に合わなかったんです……)、全体としてはちゃんと今でも、そしてこれからも通用する話になってると思います。あの時の自分の目の付け所は、そんなには間違ってなかった、はず。
紆余曲折があった末にようやく世に出る事ができた本書ですが、アドオン開発者の方の手助けとなり、また、アドオン開発に手を出してみようと考えている方の手引きとなれば、幸いです。
他の著者の方々による本書の紹介のエントリ:
日経Linux 2011年9月号から、しばらく漫画の連載をする事になりました。「シス管系女子」というタイトルで、コマンド解説とかTips紹介とかそういう内容にしていく予定です。僕の月産ページ数自体が少ないので短い漫画にせざるを得ず、あんまり掘り下げた話はできないのですが。
日経Linuxでは6年前にOpenOffice.orgの使い方解説記事の連載を持たせていただいた事があります(だからというわけでもないのですが、今回の漫画にもその時の挿絵のキャラが再登場しています)が、まさか同じ雑誌で今度は漫画を描く事になるとは思いもしませんでした。どうしてこうなった……!
あと同時に美女Linuxのコラボ記事も連載開始されたという事を知らなくて、実際にできた本を見たらコンセプト被りすぎワロタ。情報量的に負けてるじゃん……やばい……
ちょっと気が早いですが今のうちに宣伝しておきます。5月23日に開催される文学フリマにおいて発行予定の奇刊クリルタイ 4.5(仮称。多分先方のサイトで「ドルジ(仮)」と書かれている物がこれだと思われます)に、4ページほどのマンガを寄稿しました。タイトルは「とあるW3C信者の<ruby><rb>大後悔</rb><rp>(</rp><rt class="読み">リグレット</rt><rp>)</rp></ruby>」です。……というタイトルから想像が付くかもしれませんが、いわゆるひとつのCSSコミューンな人間の一人として過去を振り返る内容となっております。
先に言い訳しておきますが、内容は実話ではなくてかなりの脚色が入ってます。作業時間的に短いページ数にまとめないといけなかったので、説明を省くために仮想敵をキャラクター化したという感じです。特定の個人に対して深い恨みを抱いているとかそういう訳ではないので、あしからず。(←説得力のない言い訳ですね)
XUL/Migemo 0.12.xで、機能を他のアドオンとかから呼び出すためのAPIを刷新してみたよ。
古いAPI(はてなブックマーク拡張とかが使ってくれてるやつ)は僕自身が色々よく分からないまま作った物だったために、引数を文字列で渡さないといけないとか戻り値も正規表現オブジェクトではなく文字列だとか、色々と使い勝手が悪かったと思う。メインウィンドウ以外では呼び出す時にいちいちXPConnect使わないといかんし。
新しいAPIは、それに比べたらものっそシンプルになった。XPConnect使わなくてもmigemo.getRegExp('hoge')
とか書くだけで使えるし、戻り値もすぐに使える正規表現オブジェクトが返ってくるし。互換性を保つために旧APIはそのまま残してあるので、旧APIを使ってるアドオンが動かなくなるということはないけど、今後は使うなら新APIの方を使うのがお勧めです。
で、このAPIはWebページ内のスクリプトでもCPUの使用率を取得できるようにするAPIを提供する例のアドオンの技術の応用なので、Webページ内のスクリプトからもXUL/Migemoの機能を利用できてしまいます。
ただしスクリプトの実行権限の関係で、上記のmigemo.getRegExp('hoge')
のような、正規表現オブジェクトを直に受け取る機能は使えません。代わりにJavaScript/Migemo互換の、正規表現のソース文字列を返すAPI migemo.query('hoge')
などを使う必要があります。
XUL/Migemo 0.12.2以降が入ってる環境でこのページを表示してれば、以下のデモを試せるはず。
ページ内検索系のメソッドもあるんだけど、多分使いでがなさそうなので解説は用意してないです。
すでに上でもリンクしてるけど、エンジンごとページ内に埋め込めるJavaScript/Migemoという実装もあるから、XUL/Migemoを入れてるFirefoxユーザでないと使えないこのAPIってなんか意味あんの?と言われそう。深くはツッコまないでください。
以下、補足事項。
当初このエントリでは、「Webページ上のスクリプトからもmigemo.getRegExp('hoge')
のようにして正規表現を取得して利用できる」という風な書き方をしてたけど、これは大間違いだった。戻り値の正規表現オブジェクトが生成された実行コンテキストがUniversalXPConnect特権のある場所なのに対して、呼び出し元は特権のない普通のWebページ上であるため、それぞれの権限が違うので本来ならその正規表現の各メソッドは実行できないのが正しい。
ただ、Gecko 1.9.1(Firefox 3.5)以前のバージョンにはバグがあって、上記のようなセキュリティのチェックが働かないために、戻り値の正規表現の各メソッドを呼べてしまう状態になっていた。
このバグはGecko 1.9.2(Firefox 3.6)以降ではすでに修正済みで、実際、Trunk等で戻り値の正規表現オブジェクトのメソッドを呼ぼうとすると、その場で処理が中断されて Error: RegExp.prototype.toString called on incompatible ChromeObjectWrapper というエラーがエラーコンソール上に出力される。
ということで、JavaScript/Migemo互換のAPIとして正規表現オブジェクトのソース文字列だけを返すような機能を0.12.2で新たに加えた。文字列や数値などのプリミティブ値に対してはセキュリティのチェックが行われないようなので、こっちはGecko 1.9.2以降でもWeb上で使える。
伝説の黒歴史ドキッ! 丸ごとウェブ!! ブラウザだらけの討論大会 ~Chatでユーザのポロリもあるよ~をプロデュースした哀さんは最近演劇に凝っておられるようなのですが、その哀さんがプロの劇団で客演するそうで、見に来るようにというサクラ電波を受信しました。
演劇というと、高校時代に漫研の隣が演劇部で、演劇部の友人からかなりカオスな世界であると聞かされていた(いかにワケの分からないことをするかを競うとかなんとか……)ため、苦手意識があったんですよね。でも食わず嫌いみたいなんですよねよく考えたら。
という感じでミュージカルとオペラは見たことあるけど普通の舞台演劇は意外にも未体験だったようです。なので、いい機会かと思って行ってみることにしました。
哀さん曰く、演じるために5回ほどDVD見て毎回泣いたそうなので、(高校の頃に聞いたカオスな情報とは異なって)普通にお話として楽しめるものなのだと推測しています。以下IRCのログより抜粋。
21:30 (i_Phone) ケータイが無いころの長野県高校三年生が 21:30 (i_Phone) 大雪で学校に閉じ込められて 21:31 (i_Phone) 自分の未来も見えなくて 21:31 (Piro) 一人また一人と消えていく「ケッ、俺は殺人鬼なんかと一緒にいられねえぜ! 部屋に帰らせてもらうぜ!」 21:31 (i_Phone) とりあえず学校の出し物のお芝居、頑張ってやろうよ 21:31 (i_Phone) ちげえw
ということで、このエントリを見た人で7日がヒマな人は一緒に見に行ってみませんか。という宣伝なのでした。
ちなみにその翌日の11月8日はFirefox Developers Conferenceが開催される予定です。僕もなんか話すと思うのでよかったら見に来て下さい。
Twitterのプロフィール画像の由来を聞かれたので、切り出し元となったW3C子のマンガをFlickrにアップロードしてみた。
3話目はネーム考え中で放り投げちゃったので、続きはありません。誰か続き考えてくれたら描くかもね。
で、なんでプロフィールがこのコマかというと、自分をモデルにした絵でなるべくマヌケな奴を使いたかったからです。
追記。Eric Meyer(CSSのえらいひと)が英語に翻訳してくれと言っているようです。なんという展開……
もえじら組ブログの方にも書いたけど、こっちでも宣伝しとく。
コミックマーケット76に参加します。参加日とスペースは、日曜日(2009.8.16) 東地区1ホール “K”ブロック 01b 「もえじら組」です。
新刊コピー本「LoveConnect3」(前回までの話の一応の完結編)、鋭意制作中です。宣伝も兼ねてオマケ用に描いた4コマ漫画を貼っておきます。
あと、以前売り子を手伝ってもらったhknさんが個人的に制作中の写真集(CD-R媒体ではなくフルカラー印刷の冊子)の中にふぉくす子コスの写真が含まれるということで、もえじら組スペースにて委託販売というかhknさん自ら直々に手売りしてもらう予定です。
hknさん、june29さんに倣って僕もセルフプロデュースな誕生日会を開くことにしました。でも僕なんかがまともに誕生日パーティーなんてものをやるとおもっきし白けることうけあいなので、ネタに走ることにしました。行きつけのインドカレー屋で加齢お呪い会です。
諸事情で、開催は誕生日当日じゃなくて25日の夜にしました。現在ATNDで参加受付中です。要するにただのカレーオフなので、わざわざこの暑い季節に鼻から汗垂らしながらカレー食べてもいいよという人はどうぞお越し下さい。
会社のブログに告知が出てますが、OSC2009Tokyo/Springにクリアコードもブースを設けて参加予定です。2月20日・21日の両方とも。
「ライブ開発」と題した、スタッフが展示物というヘンテコ企画がありますが、これは池添さんがThunderbirdのC++部分を中心にバグを直したり直さなかったりする感じになるんじゃないかと思われます。
あと「話題沸騰」に吹いた。