たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。
以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
くでんさんが報じておられる通り、Bug 418003 - Firefox is packaging unneeded images and iconsによって、過去に使われていたもののもう使われていない画像がデフォルトのテーマからまとめて削除された。Trunkでは既にそのようになってるけど、Firefox 3.5もそうなるんだろうか。だとしたら例によって「何でこんなギリギリになってからやるわけ?」と愚痴りたくなるわけですが。
削除されたファイルの一覧はMercurialのコミットログを見ると分かる。行の頭に「-」が付いている物が、削除されたファイルという事になる。
自分がアドオンの中で流用していて影響を受けるのは、「読み込み中」の状況を示すためのアイコンとして使っていたThrobber-small.gifだ。Throbber.png、Throbber.gif、Throbber-small.pngも一緒に削除されたので、これらを流用してる人は代わりのアイコンを参照するようにしないといけない。
これらのThrobber画像は、半透明のアニメーション画像に差し替える関係でFirefox 3.0の時点から既に使われなくなっていた。また、これらの新しいThrobber画像は16×16サイズのものしか用意されていないので、大きいサイズの画像が必要な場合は自作するか古いバージョンからぶっこ抜くしかない。
16×16については、以下のChrome URLで参照できる。
少なくとも今の時点では、Windows用、Linux用、Mac OS X用のいずれも同じパスで参照できるようだ。
ユーザが別のテーマを選択している場合もこの画像を参照したければ、以下のようにjarファイルの中のパスを直接指定する必要がある。
Mozilla Japan ブログ - Mobile Firefox 開発合宿を開催します
Fennecに力を注いでいるクリアコードとしては参加しないわけにはいきませんねという話なんですが、もっと低層の部分で四苦八苦してるらしい現状で、JavaScriptしか書けない僕に出番はあるのでしょうか。
姉ちゃん!明日って今日さ!ということでためしてガッテン知識の「スロースクワット」→「スロー腹筋」→「スロー腕立て」の真似事を数ヶ月ぶりにやってみた。本来は筋力の衰えた高齢者が基礎代謝を高めて健康を維持するためにという要旨で考案されたらしいけど……50代後半の父に遙かに劣る筋力しかない自分にはこれでもきつい。
目安がないと絶対手を抜くと思ったので、B'z(昨日の晩に久しぶりに聴いて懐かしくなったので)の曲が1曲終わるごと(3~5分)でローテーションしてみようと思って、やってみた。シャッフルにした状態でBlue Sunshine(スロースクワット)→WAKE UP, RIGHT NOW(スロー腹筋)と来てその次でOUT OF THE RAIN -OFF THE LOCK STYLE-(8分近い長い曲)が来て吹いた。そんなに無理。腹筋の方も途中で一時停止しながら休み休みでなんとかという状態だったのに。なので1曲スキップしてFIREBALL。それから2週目と思ってEverlasting(スロースクワット)に入ったけど最後の方になると汗がにじんで太ももがビキビキいってもう限界だったのでこれでギブアップした。スロースクワットってやってることは四股に近いし……
なんか哀さんが合コン開いてくれるらしいので(←勝手にそう解釈)、それを短期的な目標として、なるべく続けられるよう努力してみようと思います。
改めて2セット目、スロースクワット(愛のバクダン)→スロー腹筋(憂いのGYPSY……は7分もあってとても無理なのでまたスキップしてROCK man)→スロー腕立て(Liar! Liar!)……の1コーラス目でギブアップした。下半身に比べて上半身、特に腕の弱さが酷すぎる。
健康診断の結果が出た。他は正常の範囲内みたいだけど、中性脂肪が高かった。50から149のところ、158mg/dLだそうだ。生活習慣病の改善の必要アリと書かれていたけれども、正直、やる気が起こらない。緊迫感もない。当事者になってみるとこんなもんなのか。
父は糖尿になってからうちの中で誰よりも健康的な生活を送るようになった。鋼の意志というかなんというか。よくそんなにマメにできるなあとずっと思ってた。命がかかってるから必死にならざるを得ない、というのはあるのかもしれないけど。
でも正直なところ、今の自分の素直な感想としては、「あーこのままいくと死ぬんだろうなあ。でも別にいいか……」という感覚が結構ある。
まあ結構前からだらけてはきてたけど、この間の突然の(?)お別れ・恋愛関係終了・さようなら以降、それに拍車がかかってるような気はする。色んな事にガッカリしたというか、ガッカリしたというか、ガッカリしたというか。悲しいわけでもないし怒り狂うわけでもなく、とにかくガッカリ。自分にも元彼女にも全てにガッカリ。その勢いか、生活もどんどんガッカリになってるように思う。というか、付き合ってる間、一人で勝手に期待(誕生日におめでとうと言ってもらえて当然だろとか、電話で下らない話を長々できて当然だろとか)して勝手に裏切られ(あれれ何の言葉もないよっていうか前後1週間普通に音信不通ですよ?とか、電話苦手って言われて1年近く声も聞けずじまいとか)て勝手にガッカリ→期待しないのが一番気が楽だということに自分でやっと気がつくとかそんなんを繰り返して、これはある意味、何にも期待しないようにという訓練を積んでたことになるのかもなと今更思う。その訓練の成果が今大いに発揮されて、「期待しても期待外れで終わるだけだし……」みたいになってるところがあるような気がするんだ。
などと自分で言うのは悲劇のヒロイン(?)ごっこに浸ってるだけか。元からやる気がなかったのを、それのせいにして納得してるだけか。
いやでも「彼女がいる」ということがやっぱりそれなりに動機になり得てたとは思うんですよね。「頑張ってるよみてみてー!!!」とアホみたいなメールを投げまくってもそれを特には拒絶されていなかった(そして時々「すごいねー!」的なメールを返してくれていた)、という。基本的なところが自分はお子様なので、そんな分かりやすい報酬が無いと満足できない、継続の意志を保てない。という事が改めてよく分かった。
話が盛大にズレとる。なんだっけ。そうそう中性脂肪の話ですよ。
とりあえず運動不足をなんとかしたほうがいいよねうん。最近は家と会社の間の往復以外に動いてないようなもんだから……
野菜は、こんな中性脂肪の値をしといて嘘だろ?と思われそうだけど、べつに嫌いではない。調理が面倒だからとれてないというのが大きいと思う。面倒さでいったら肉や魚の方がもっと面倒(使ったあとの包丁は洗剤で洗わないと油が……とかそういうのが)なので、相対的には野菜の方が好きと言ってもいい。外食や弁当買ってくる以外ではぶっちゃけ全然肉食べてないよ。
そう。問題は、外で食べる時に出費をケチると途端に選択肢が「肉」「炭水化物」「肉」「油」そんなもんばっかりになるということだ。金を出さずに野菜だけで腹を充分に膨らませるには自分で弁当を作るしかなく、それが面倒で……というループの中にいる。今冷凍庫の中にあるゆであがったあとのブロッコリー、これは何ヶ月前の物だ?
あー、明日から変えよう、明日から……(明日っていつさ?!という優しくも厳しいお姉ちゃんの声が空耳で聞こえて……こないなあ)
PHPとかerbのようなテンプレートをJavaScriptで。という話に書いたやつの続き。
大切な事なので3回言います。
<% for (var i = 0; i < 3; i++) { %>
今日は<%= today %>です。
<% } %>
オーケー?
こういう文字列をテンプレートとして解釈したい場面は多分よくあると思う。この例だと、today
という変数をどっか外部から与えて値を埋め込むことになる。で、この変数をどうやって渡したらええねん、と。
グローバル変数をがんがんに使って構わないのであれば、先にグローバル変数としてtoday
を定義しておけばいい。eval()
で実行されるコードの中からも普通に参照できる。
しかしアドオンのコードのように、個々のグローバル関数やグローバル変数の寿命が長い事が予想されるスクリプトでは、この手は使えない。
this.
を付けるparseTemplate()
の仕様としてはあくまで「書かれたコード片は第2引数で渡されたオブジェクトをthisとして実行されます」という風にしておいて、テンプレート風に書かれている方の文字列内のJavaScriptコード片では必ずthis.today
という風に書くようにする、という方法もある。
しかしいちいちthis.
を付けるのは面倒だし、そもそも僕がこのような記法を知ったきっかけであるERBでは、self.
なんて書く必要がなかった。同じような物は同じように使えた方がいい。なのでこの方法も使いたくない。
var
で宣言し直す先のエントリに当初書いていたコードでは、parseTemplate()
の第2引数で渡したオブジェクト(ハッシュ)のプロパティを走査してそれをvar
で変数として宣言し直す、ということをしてた。外の名前空間をなるべく汚さないための苦肉の策だ。
if (aContext && typeof aContext == 'object') {
for (var prop in aContext) {
if (!aContext.hasOwnProperty(prop)) continue;
__parseTemplate__codes.unshift('var '+prop+' = aContext.'+prop+';');
}
}
こんな感じ。
でも、これだとエラーになりそうな場合がけっこう考えられる。例えばハッシュのキーが01234
という文字列だと、実行されるJavaScriptのコードはvar 01234 = aContext.01234;
となってしまい、eval()
にかけた時点でSyntaxError: missing variable name
と怒られてしまう。
なので、こういうエラーの元になる名前のプロパティを除外して、安全な物だけをvar
で宣言する、ということをやりたかった。言い換えると、そのプロパティの名前を構成している文字列がJavaScriptの識別子として妥当かどうかを判別したかった。
ということでやっと、このエントリの本題に入る。
UxU 0.5.11に入れ損ねた。次版で標準のヘルパーメソッドに入れるけど、割といいかげんな実装で、たいした規模じゃないから、テストケースの中に直接書いて使ってもいいと思う。
function parseTemplate(aCode, aContext) {
var __parseTemplate__codes = [];
aCode.split('%>').forEach(function(aPart) {
var strPart, codePart;
[strPart, codePart] = aPart.split('<%');
__parseTemplate__codes.push('__parseTemplate__results.push('+
strPart.toSource()+
');');
if (!codePart) return;
if (codePart.charAt(0) == '=') {
__parseTemplate__codes.push('__parseTemplate__results.push(('+
codePart.substring(1)+
') || "");');
}
else {
__parseTemplate__codes.push(codePart);
}
});
var __parseTemplate__results = [];
with(aContext|| {}) {
eval('(function() { '+__parseTemplate__codes.join('\n')+' }).call(aContext|| {})');
}
return __parseTemplate__results.join('');
}
var source = <![CDATA[
大切な事なので3回言います。
<% for (var i = 0; i < 3; i++) { %>
今日は<%= today %>です。
<% } %>
オーケー?
]]>.toString();
var params = {
today : (new Date()).toString()
};
var result = parseTemplate(source, params);
レガシーだけどクロスブラウザな書き方だったら、こうか。
function parseTemplate(aCode, aContext) {
var __parseTemplate__codes = [];
aCode = aCode.split('%>');
var strPart, codePart;
for (var i in aCode) {
aCode[i] = aCode[i].split('<%');
strPart = aCode[i][0];
codePart = aCode[i].length == 1 ? null : aCode[i][1] ;
__parseTemplate__codes.push('__parseTemplate__results.push(unescape("'+
escape(strPart)+
'"));');
if (!codePart) continue;
if (codePart.charAt(0) == '=') {
__parseTemplate__codes.push('__parseTemplate__results.push(('+
codePart.substring(1)+
') || "");');
}
else {
__parseTemplate__codes.push(codePart);
}
}
var __parseTemplate__results = [];
with(aContext|| {}) {
eval('(function() { '+__parseTemplate__codes.join('\n')+' }).call(aContext|| {})');
}
return __parseTemplate__results.join('');
}
var source = '大切な事なので3回言います。\n'+
'<% for (var i = 0; i < 3; i++) { %>\n'+
' 今日は<%= today %>です。\n'+
'<% } %>\n'+
'オーケー?';
var params = {
today : (new Date()).toString()
};
var result = parseTemplate(source, params);
注意:このエントリにエロい絵は無いよ!
エロ絵と端的に書いたけど、まあモロにエロ絵に限らず、パンチラ、絶対領域、等々の「狭義の萌え」つまり性的なイメージを何かしら喚起させる絵くらいの広さも含めての話なんだけどさ。
僕の中では、「エロ絵描いてる男」っていうとただひたすら「うえぇぇ……」というマイナスのイメージしかなくて、「エロ絵描いてる女」っていうと「いいじゃんいいじゃん……!」というプラスのイメージがある。「男が描いたエロ絵」っていうと「おおエロい……! でもこれ描いてる様子を想像したら……萎える」、「女が描いたエロ絵」っていうと「おおエロい……! そしてこれを描いてる様子を想像したら……もっとエロい……!!!」となる。
そう思うのは僕だけでしょうか。僕だけなんでしょうか。
男のエロ漫画家と女のエロ漫画家の表現の違いというのを分析してる人もいたと思う。その話自体には僕は頷くけれども、しかしそういう話とは全く別の次元で、女が描いてるって事が大きな大きなメリットになってる、ありていに言えば「売れるポイント」になる、という風に思う。むしろ、エロくなくてもそうなんじゃないかって思う。
今既に絵師を抱えてるプロジェクトがあって、その絵師さんが女の人で、よっぽど下手じゃないんだったら、それを男の絵師に替えるということには僕は強く反対する。というか実際反対した。(今の絵師がとてつもなく下手か、新しい絵師がとんでもなく上手いのなら、話は別。そこまでの圧倒的な差がない場合の話ね。)
ある意味ではこれは、描き手自身すらも商品の一部と考えてるって事で、女を品物扱いするとはけしからんと言われそうだけど、女だけじゃなく男も公平に品物として評価した上で、男の作者には商品価値が無くて女の作者には商品価値があると思ってる。作り手ではなく売り手・買い手としての僕は、そう考える。男からも女からも「純粋に画力で評価しろよ!!」って怒られそうだけど、商売としてはほんとにそう思う。
まあ「女の子バンドがチヤホヤされる」(音楽性がどうとかご立派事を言ってるが、要は女子がキャッキャウフフしてる所を商品として消費してるだけだろ? 「けいおん!」キモいと言ってる音楽ファンは自分らの姿を鏡で見せられてキモがってるだけだろ? あぁ? という話)というのと根っこの所は同じ事なんだろうとは思います。
で、自分自身についてもそういう目で見てしまわずにはおれない。自分の絵+自分という描き手、のワンセットの商品価値はいかほどか?ということを考える。で、価値を感じられないから(それどころかキモいと思う=マイナスに感じるから)、いい気分になかなかなれない。どんなによく扱っても、「エロい絵を描いている」という点はそれ単体でプラスになるとは思えず、「こんな真面目な僕だけど実は時々エロい絵描いちゃってます☆」といった文脈でのちょっとしたスパイス、という以上の価値は生じ得ないと思っている。スイカやあんこに塩を加えるようなもの。それだけ舐めても全然甘くない、むしろそれだけ取り出したらとても舐められたもんじゃない、そういうものだと思っている。
描き手の性別、というか、市場における描き手の商品としての価値と単純に話をまとめてもいいのかもなあ。「さわやかイケメン描き手」と「根暗ブス描き手」だったら前者の方が、作品+作者という全体での商品価値が高まりそうだと思う。ジャンプの表紙の漫画家大集合的な回で和月伸宏が顔を晒して不評を買って以降ジャンプの表紙に漫画家が出ることがなくなった、という話(裏は取ってない。僕はあくまで噂だと思ってる。)がそれなりに「ありそうな話だ」と思えるのも、やはり同じ事なのかなと思う。
セクハラ野郎、性差別乙、等々の非難はあっても仕方ないと思うし、そう思ってるのはお前だけだ勝手に全人類を代表して語ってんじゃねえよと言われても全くその通りだと思うけれども、僕という人間がそういう考えを持ってるという事実から目を背けることは、今更できない。
痛いニュース(ノ∀`):「絶対うそやー」「いややっ」 修学旅行当日 駅で中止を告げられ生徒ら呆然
→かわいそうだけど中止になった物はもう中止のままなんだろうなあ。運が悪かった、と諦めるしかないよなあ。誰も補填なんかしてくれないし、補填する義務も誰にもないし。
→「なんで自分(ら)だけこんな目にあわんならんねん!!」という感情を抱いたとしても、飲み込まないといけないよなあ。「なんであいつら(パンデミックが起こる前に修学旅行を終えた人達)はええねん!!」と嫉妬したとしても、飲み込まないといけないよなあ。
→「自分(ら)もあいつらと同じくらいの楽しい・幸せな体験をする権利があるはずや!」なんて、思い上がりもいいとこだよなあ。そんな「権利」なんてどこにも誰にもない。彼らを楽しませなくてはならない・幸せにしなくてはならないという「義務」を負っている人はどこにもいない。
→そうなんだよ。僕だって幸せになる権利なんか無いんだよなあ。誰も僕を幸せにする義務なんかないんだよなあ。
→学生時代の時間がたくさんあった時に恋愛したかったのに恋愛できなかった(素質も能力も無かった)、元彼女と付き合っていた間も恋人らしいイベントはほとんど無かった。若い頃に恋愛を謳歌していた人達が妬ましい。でもそれはとんだ思い違いなんだよなあ。
→権利はなくても機会はあったはずなんだよなあ。その機会を自らドブに捨てたのは他ならない自分自身なんだよなあ。絵だのHTMLだのCSSだのMozillaだのばかりに時間を割いて、モテ活動に一切時間を割かなかった、自分のせいなんだよなあ。
→これで強毒化した新型インフルエンザにやられて死んだら、満たされることなく死ぬって事なんだよなあ。でもそれも運なんだよなあ。
→むなしい……
Anison Love Showerの時の虹色☆マイノリティのゆめこさんが出られるというライブが代々木のライブハウスで行われていて、それに行ってきた。特別ゲストにtamKore、他の出演者の方は僕は全然知らない人ばかり。
さて感想だけど、アコースティックというともうひたすらにごまかしが利かないから、皆さん歌も演奏もうまいことうまいこと……
ベテラン勢の方々はみんな、風格があるというか安定感というか、ライブとして楽しい盛り上げ方をされていて、当たり前だけど凄いなあと思った。
そういえば、僕が記憶してる限りではだけど、chibiさん・是方さん・佐藤さんはMCの間も何かしら音を出してた気がする。年代・世代によるものなのかもしれないし、慣れるとそうなるということなのかもしれないけど、こういう雰囲気作りというのかなんというのか、そういう所からもなんとなく「楽しい」「安定してる」という感じを受けたのかもしれない。
音楽面の感想がほとんど書かれてないのは、なんかもう「すごいねー」で自分の感覚がオーバーフローしてしまったからという部分が結構ある。音楽に造詣が深い訳じゃないし。歌詞もあまり聴き取る方ではない(音として気持ちいい音だったら何でもいいと結構思ってる。だから歌詞が支離滅裂なマクロスFの歌も全然不満なく聴ける)し。そういう意味では、アホな僕でも分かるくらいに「ド」ストレートな佐藤さんの歌は際立って聞こえた。
終了後、佐藤さんのCDとゆめこさんのCDを買って帰った。
「会社ブログ(みんなで書いてる)でそろそろ実機動画公開していいんじゃないすかねー」「まあもうそろそろ公開しても大丈夫そうな品質になってきたかなー」という感じのことを社内で言ってた(僕は横で見てただけですが)んだけど、本家に先を越されてしまいました。
まあこれ見て分かる通り、春のOSCのバージョンに比べればだいぶ現実的な速度で動くようになってます。池添さん曰く、エミュレータより実機の方が快適じゃん!(まだ遅いけど)とのことでした。今は画面を毎回キッチリ再描画してるからスクロールが遅いけど、モバイル向けに描画キャッシュ的な物を使うようにするとかの手直しをすればもっと速くなる(逆に言うと、今はスクロール中もアニメーションGIFとかが動いてたりして、それでこの速度が出るんだからある意味スゴイとも言える)という風な話も聞きました。
横で見てて思うけど、Windows Mobile(Windows CE)対応は結構基礎の所から見直して頑張ってる感じですね。「アドオンに対応」のバグも、調べてみたらnsIFileとかの物凄く基盤な部分がWindows CE向けにはまだ実装されてなかったせいだった、とかそんな感じで……XULやJavaScriptの話しか分からない僕には、手伝いたくてもまだ手が出せない感じです。