Home > Latest topics

Latest topics 近況報告

たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。

萌えるふぉくす子さんだば子本制作プロジェクトの動向はもえじら組ブログで。

宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! シス管系女子って何!? - 「シス管系女子」特設サイト

Page 74/243: « 70 71 72 73 74 75 76 77 78 »

絵を描くことへのスタンスの変化 - Oct 06, 2008

Jinkunさんに言われたこと。

僕は、JNK Worldに顔を出していた10年前くらいが一番たくさん絵を描いていた時期だと思う。今では、年に2回、コミケに合わせてもえじら組の活動をやってるくらいだ。当時色々と偉そうなことを言ったりしたりしていた僕が、今そんな体たらくであることを知ったら、Jinkunさんも川家さんも僕を軽蔑するんじゃないか。そんな風に思っていた。

でも、Jinkunさん曰く、今の僕の方が楽しそうだという。

そういう風に言われたことの理由は、多分、絵を描くことに対する意識の変化があるんだろうと思う。

当時の僕は「これしかない」と思っていた。絵を描くこと以外で、世界に確かに自分が生きたという足跡は残せないと思っていた。だから自分で色々縛っていた。右向きの顔を反転無しで描けなくてはならない。エロに頼ってアクセス数や販売部数を稼ぐのではなく、絵の質や世界観やそういったもので支持を得なくてはならない。誰からも認められる物を目指さなければならない。高尚でなければならない。そんな風な拘りがたくさんあった。今から思えば、下らない拘りばかりにも思えるけれども、当時は、真面目に拘っていた。

でも、興味の中心がWeb標準とかWeb技術とかに移ってしまって以降、絵を描くことに対して割く時間が減ってしまった。いや、もしかしたらそれは逆で、自分より下の世代で自分よりずっと情熱がありずっと絵が上手い人達がどんどん出てくるのを見て、「もう敵わない」と悟ってしまい、絵の世界から逃げてしまっただけなのかもしれない。

転機になったのは、もえじら組の活動だったと思う。

哀さんの勧めでIRCNetの#汚れの巣や#順列都市に常駐するようになり、いつかの「CSSコミュニティ」の人達と気軽に連絡を取れるようになり、Junさんとinugamixさんの結婚があり、inugamixさんのふぉくす子がその界隈である種のアイドルとなり(良い子はW3C子の事には触れちゃダメ!)、界隈内外のいろんな人がふぉくす子の絵を発表するようになり、ここは誰かが音頭を取って同人誌でも一発作るべきなんじゃね?という空気になって、コミケ出展経験があり自分で絵も描いており一番時間的に余裕があった僕が首謀者となって、成り行きでプロジェクトが始まって。ネトランがふぉくす子をフィギュア化し、気合いの入ったコスプレ衣装まで制作されて、祭りの空気はどんどん盛り上がり。僕は物凄く久しぶりに、ファン活動として絵を描くことの楽しさというものを感じていたのだと思う。

触れちゃダメ、と書いたけどやっぱり触れる。W3C子での失敗はやはり大きかったと思う。ビジュアルイメージが無かったものにビジュアルイメージを付ける、キャラクターをデザインする、という事における「敗北」。僕のやり方が色々まずかったのだと思うけれども、僕がビジュアル化したW3C子は僕のせいで死んでしまい、inugamixさんがビジュアル化したふぉくす子はいろんな人に愛された。その時悟った。僕には、広がりを生み出すオリジンを作ることはできない。そういう才能がない。だから、誰かが作ったオリジンにぶら下がって、それをネタにして楽しむことしかできない。僕は無力だ。僕にはそもそも無理な事だったのだ。いいかげん、身の程を知り、分をわきまえるべきだ。

それからは、気負いがだいぶなくなった、と思う。下手でもいい、上達してなくてもいい、絵柄が古くてもいい。下品でもエロでも全然構わない。好きなキャラを好きなように描いて、同じようなことをしている人達の祭りに参加し、祭りの空気を楽しむ。自己表現のための・自己顕示欲を満たすための手段、生贄としてではなく、それ自体が目的である、絵を描くこと・漫画を描くこと・そしてそれを発表することの、そのものの楽しさ。そういうことを今は感じられているんじゃないか、と思う。

JNK Worldの集い - Oct 06, 2008

今から10年近く前、僕がネットの利用を始めて、当時のISPのWebスペースでWebサイトの公開を始めたばかりの頃に、どういう経緯でかよく行くようになったサイトがあった。その名はJNK World。管理人のJinkun氏が運営する、掲示板や画像素材等コンテンツが盛りだくさんで、2DCGをやる人達の情報交換やコミュニケーションの場として多くの人が出入りしていた、大規模なサイトだった。と記憶している。

そのサイトを通じてロック君や飛鳥と知り合い、それ以前から交流があった人達と共に、僕にとっては初めての「オフ会」をして、サークル「堕」を作ることになったきっかけになった。川家さんなどの実力のある人との交流もあった。絵を描く人としての自分について、漫画研究部と同じかそれに次ぐくらいのウェイトを占めていた存在だった。そんなサイト。

興味の中心がWeb標準やWeb技術に移った頃から僕はそこに行かなくなってしまったけれども、僕以外の人達の中には、当時からの夢を叶えた人達もいる。上で名前を挙げたロック君は絵描きの人に弟子入りして修行し、今では某ゲーム会社でキャラクターイラストを描いたりムービーを作ったりするプロフェッショナル。飛鳥はプロの元でアシスタントとして修行し、もうすぐ漫画誌で商業デビューするらしい。彼ら以外にも、当時JNK Worldにいた人達で、そんな風に努力を重ねて成功した人は他にもいるんじゃないかと思う。

川家さんが人生の転機を迎えることになって、かつてJNK Worldに集まっていた人達の飲み会というのが先月行われたらしい。参加したロック君曰く、川家さんもJinkunさんも(会ったことはないけど)僕のことを覚えていたそうだ。びっくりだ。当時僕のことを買ってくれていた人達の目に、年に2回程絵を描いたり描かなかったりしているエセ絵描きになってしまっている僕は、どう映るんだろう。そんなことを思ってしまった。

ロック君が話をまとめてくれて、彼とJinkunさんを含む少人数で、僕も混ざって飲み会をする事になった。

参加者は僕を入れて5人。僕が直接覚えていた・当時から交流があったのはJinkunさんとロック君だけで、もう二人は当時は交流がなかったのだけれども、すぐに打ち解けた。昔話に花を咲かせたり、皆や当時のJNK Worldにいた人達の近況で盛り上がったり。僕が話の種にでもと持って行ったもえじら組の本を回し読みしたり。結局3次会の徹夜カラオケまで全員参加で、途中落とし物をするというトラブルもあったけれども、とても楽しい時間を過ごせた。ナイスタイミングで石河君から連絡があったりもして、いつか石河君も入れてまた集まろう、という話にもなった。

10年。もうそんなに経ってしまうんだ。当時16歳とか17歳で、今はもう26歳だ。今ここでこうしてるなんて、あの頃には全く想像もしなかった。絵の道から離れてSEとかプログラマとか言われるような仕事をしているなんて事も、思いもよらなかった。ブログが大流行してWebがこんな風に変わってしまうということも、考えもしなかった。

あの頃に比べて、僕は少しでも大人になれたんだろうか?

ハンズで霧吹きを買った - Oct 05, 2008

元々あった霧吹き?は100円ショップで買ったもので、目が荒いというか大量の水がドバドバ出るため、アイロンがけに使おうとしたら乾いたはずの洗濯物がビショビショになってしまった。ということでもっと目の細かい霧吹きが欲しくて、池袋まで行ったついでに東急ハンズでそれらしい物を探してみた。

売り場を見てみたら、詰め替えボトルのコーナーにそれらしい物がたくさんあったのだけれども、目が細かいかどうかまでは分からなかった……一種類だけ「ミスト状になります」と書いてあったのがあって「これかな?」と思ったけど確証が持てなかったので、ダメ元で店員さんに声をかけて聞いてみた。「アイロンがけの時に使うような目の細かい霧吹きを探してるんですが、一番目が細かいのはどれですか?」と。そしたら、そのうちの一つを「自分が試した中ではこれが一番細かかった」と教えてもらえたので、それを買うことにした。

買ったのは、ノズルを押すとプシューと中身が吹き出してくる普通のヘアスプレーみたいな形をした奴。タグにはthe SCENTPUMPとか書いてあった。892円。輸入物らしい。市販のヘアスプレーの入れ物と違ってキャップに長い足が付いていて、キャップを押したり引いたりすると自転車の空気入れみたいに空気が入っていって圧縮される。で、キャップを外してノズルを押すと、圧縮空気の圧力によって中身がプシュート吹き出す、という物だった。面白いことを考える人もいるもんだなあ。実際に水を入れて試してみたら、確かに目の細かい霧状になって水が出てきた。これはいい買い物をした。

聞いた店員さんがたまたま「当たり」だったのかもしれないけど、商品知識が豊富な人が売り場にいるというのは素晴らしいことだと思った。またここで買い物をしたいなと思った(乗せられてます)。

あと、今までの自分だったら、こういう場所で右も左も分からない状況になったら、悩みに悩んでカンで選んで買って帰って期待外れで後悔、というオチになっていたんじゃないかと思うけど、自然に人を頼ることができたという事実を改めて意識して、深い感慨を覚えた。

ここに来るまでにどれだけの事があっただろう。自分のホームでない、アウェーの場所に飛び込むという事。恐怖を乗り越えて人に話しかけるということ。したいこと・求めていることをきちんと伝えて、自分から相手にできる限り協力して、相手の協力を引き出して、一番いい結果を得られるようにするということ。

自分一人で全てを抱え込んで、人の手を借りずにパーフェクトにこなせるようになることを目指すのでなく、(人の手を借りないとどうにもならないことから目を背けて、その時の自分にできることの範囲が世界の全てだと思い込む、のではなく、人の手を借りないとどうにもならないことも含めての世界だと認識して、自分にはコントロールできない事がたくさんあるのだと認めて、)必要に応じてアウトソーシングすることで自分も相手も利益を最大化し、閉じた「個」として生きるのではなく流動的な「状態」として生きるということ。

自分一人じゃここまで来れなかった。ゆずほさんとかいろんな人が手助けしてくれてやっとここまで来れたという気がする。

Bugzillaで自作自演(FirefoxとThunderbirdのサイレントアンインストール) - Oct 03, 2008

FirefoxもThunderbirdもインストーラに「-ms」を起動オプションで付けるとサイレントインストールできるのに、アンインストーラに同じオプションを指定してもそうならないのは何故なんだぜ? Netscape 7のアンインストーラ(NSUninst.exe)は「-ms」オプションでサイレントアンインストールできるのに!!! と思ってBugzillaに書いてみた後で、ソース見てて「アレ?」と思って「-ms」の代わりに「/S」を使ってみたらさっくりサイレントアンインストールできた。うわーかっこわりー!!!

いやでも僕の気持ちも分かって下さいよ。どうしてインストール時は「-ms」なのにアンインストール時は「/S」なんですか? オプションが違うだけならまだしも、Linuxっぽい「-*」とWindowsっぽい「/*」が混在してるっていったいどういう事なんですか?? どうしてNetscape 7とはオプションが違うんですか???

これは絶対に罠だ……

違うオプションで行けるという発想が全然無かったものだから、Firefox 3 Hacks読みながらビルド環境を2日がかりで作って、アンインストーラだけ個別にビルドできる状態まで持って行って、どうすればサイレントアンインストールだけすっきりと実行できるだろうかとあれやこれややってみたのが、まるっきり無駄になってしまった。あわや無意味なパッチを送りつける寸前でしたよ。ギリギリの所で引き返せて良かったね、と自分で自分を慰めておきます。

つーかこういう勘違いをした理由の一つには、検索しても他にも困ってる人の話しか見つからなくて、「こうすればいいよ」っていう情報に辿り着けなかったからなんですよね。あんまり使う機会のなさそうな機能だけに、情報自体があんまり出てなくて……

もう少しよくソースを見てみたら、Support for the deprecated -ms command line argument.って書いてあった……つまり「-ms」オプションはずっと前から廃止予定になってた古いもので(その割にはFirefox 2.0.0.xでも3.0.xでも使えるんだけど)、今はインストールもアンインストールもサイレントにやるには「/S」を使うのが正解なのか。実際にインストーラに対して「/S」を付けてみたらこっちもちゃんとサイレントインストールされた。うわー二重にはずかしー!!!

旧ドラッグ&ドロップAPIから新ドラッグ&ドロップAPIへの移行 - Oct 02, 2008

Fx3.1b1pre tabbrowser全滅で報じられているとおり、Bug 456048 – Use the new D&D API in tabbrowserによって、tabbrowser要素のドラッグ&ドロップ関係の処理がHTML5で定められた仕様に基づいたものに変更されたようだ。

新APIの使い方についてはGomitaさんが分かりやすい解説を連載で書いてくださっているので、そちらを見てもらうとして。

パッチを見た感じでは、可能な限り最小の変更で新APIに移行していたので、ツリー型タブにも手を入れてみた。変更点を見ると分かるけど、以下のようにしている。

  • メソッド名の変更に追従した。
    • onDragStart_onDragStart (ツリー型タブでは触ってないけど)
    • onDragOver_onDragOver
    • onDragExit_onDragLeave
    • canDrop_setEffectAllowedForDataTransfer
  • 各メソッドの引数からaDragSessionが消えたので、Cc['@mozilla.org/widget/dragservice;1'].getService(Ci.nsIDragService).getCurrentSession();でその都度取得するようにした。
  • canDropの代わりの_setEffectAllowedForDataTransferは、返り値が真偽値ではなく文字列になっているので、それに合わせて色々変更。
  • 受け入れるデータ型の「text/unicode」が何故か「text/plain」に変わったので、他の箇所でも「text/plain」を受け入れるようにした+他の拡張機能でドラッグを開始する時に「text/plain」もセットするようにした。

ツリー型タブでは、Firefoxのtabbrowser要素の各メソッドを書き換える時に上記の点を動的に判別して、Firefox 3.0.xとFirefox 3.1の両方に対応するようにしている。

基本的に、新APIは旧APIの機能をほとんど包含しているので、旧APIに基づいて作った拡張機能等はほとんど機能を失うことなく新APIに移行できると思う。逆に、新APIではドラッグ元要素に新しいイベントが発行されるようになっているため、それをバリバリに使った新しい機能は旧APIベースで再現するのは大変そうだ。

これに関連してMDCの最初のページだけ訳してみたけど、新しいシステムの上で訳したのは初めてだったので、だいぶ難儀した。翻訳文書新規作成支援ボットは使えないし、リンク先はいちいち手で打ち直さないといけないし、リンク先を変える時に開くプロパティみたいな画面を表示する度にいちいちものすごく待たされるし……

Thunderbirdまじうんこ! - Oct 01, 2008

こないだからやってるNetscape Communicator 4.xからの移行、現地でのリリース候補版レベルでのテストでまた詰まった。自分とこで作ったテスト環境では問題なかったのに、実際の環境だとnsIMessengerMigratorUpgradePrefs()で謎の例外発生ですよ。

もういっそのこと処理を全部JavaScriptに移植してみるか? なんて不毛なことを考えてもみたけど、せめて現地でできる事はやり尽くしておこうと思ってMXRでソースを見ながら目デバッグし始めてみたら、冒頭でいきなりそれっぽい箇所を発見した。移行元の設定でmail.server_typeが未定義だと駄目らしい。よくよく調べてみたら、その環境ではnetscape.cfg内で指定されてる設定がたくさんあって、その値はユーザプロファイルの中のprefs.jsには保存されてないから、Thunderbirdが「全然設定が足りねえぞゴラァ!!」と怒ってた、と。

こんなん、今回うちで作った移行ツールじゃなくても本体の設定インポートでも普通に詰まるんじゃないの? どうなってんだまったく。

Firefox 2.0.0.17とThnderbird 2.0.0.17のJavaScriptエンジンに極めて深刻な問題があるようです - Sep 30, 2008

仕事で書いてるコードがどーにもうまく動かなくて、ついこないだまで正常に動いてたのにどうして?!と思って色々試していたら、特定の関数をtoString()等で文字列化した時におかしな現象が起こっていた。具体的には、Thunderbird 2.0.0.17のAccountManager.jsで定義されているsaveAccount()を書き換えようとしたら例外が発生して、onSave()を文字列にしてreplace()で改変した物はfor〜inループだった箇所がwhileループになってしまっていた。コードを削っていったらめちゃめちゃ短いコードでも再現したので、Bugzillaに報告しておいた。

regression: Function.toString(), Function.toSource() and uneval() return wrong JavaScript code if the function includes "for ... in" roop

上記のような方法で動的にパッチを当てる手法を僕は多用してるので、仕事で書いたコードもここで公開してる拡張機能のコードも、正直、どのくらい影響を受けるのか見当も付かない。早急に解決されることを祈るのみだ。

ちなみにFirefox 3.0.3ではこの問題は起こらなかった。2.0.0.17で入ったセキュリティ上の修正による後退バグっぽい?

追記。29日時点ですでに修正済みだったようだ。これ、あと1ヶ月間放置ですか……? ものっそクリティカルなバグだと思うんだけど。

アイロン台を買った - Sep 29, 2008

今まで必要なかったからこっちに来てからアイロンを使ってなかったのだけれどもどうやら必要になりそうだったので近所のホームセンターっぽい店に行ったらアイロンはあってもアイロン台はなかったのでアイロンだけ買って1ヶ月くらい寝かせてた。kinaさんに相談してみたら「ハンズにならあるんじゃね?」と助言をいただき、昨日めでたく購入と相成った。3000円しない安い奴。

シワの無い服とはよいものだ。

実家にいたときは一時期ちょっとだけアイロンがけをやっていたこともある。その時のことを思い出しながらちょっとやってみた。ちょっと失敗したけどまあこんなもんでしょう……

でもアイロンがけが必要そうな服ってたいして持ってない(スーツは着ること自体が稀なので、カッターシャツも一緒にクリーニングに出してた)ので、物置の肥やしになりそうな気がする。「アイロンかけなきゃまずい」と思った服というのも半袖でもうそろそろ出番がなくなりそうだし。どうしよう。

「絶望の世界」が好きだった人ならケータイ小説「あたし彼女」も楽しめるんじゃね? - Sep 26, 2008

【2ch】日刊スレッドガイド : あたし彼女のガイドライン第3回日本ケータイ小説大賞:あたし彼女

ガイドラインのコメント欄の方でネタバレされてるので、先に元ネタのケータイ小説から読むことを推奨。

感想。案外面白かった。最初は「スイーツ(笑)」な文章が何十ページも続いて何じゃこりゃという感じだったんだけど、途中からのツンデレっぷりにちょっと「お?」となって、最後まで一気という感じでした。幸せ気分でいっぱいのラリラリの時と、ドン底に落ち込んだ時とのギャップとか、感情移入して読んでると自分も一緒になって浮かれたり落ちたりするから面白い。

冒頭の時点で思ったけど、これを読んでて覚えた感じは、絶望の世界をリアルタイムで追いながら読んでたときの感覚に似てる。小説を読むというより、ブログの過去ログを頭からまとめて見る(リアルタイムで見てるときは、毎日そのブログを読んでる状況そのものだ)、みたいな。みたいな。

ほんと、「ケータイ小説」は「小説(ノベル)」とは全く別のジャンルなんだなあということを実感した。

ところで絶望の世界ってはてなキーワードの解説によるとちょうど10年前にスタートしたんですね。10年。ずいぶん経ったものだ……

pab.na2をThunderbirdにインポートできない件 - Sep 24, 2008

Netscape Communicator 4.xのメールデータとか設定はインポートできるのにアドレス帳だけインポートできないってどないやねん。

調べてみたら、鍵になるのはnsIAbUpgraderインターフェースを実装したコントラクトIDが@mozilla.org/addressbook/services/4xUpgrader;1のコンポーネントらしいんだけど、これ、Mozillaのソースには含まれてないんだ……オープンソースになってなかったいくつかのNetscape製コンポーネントの一つらしい。これがないせいでThunderbirdはNC4.xのアドレス帳を直接読めないんだって。なんてこった。

どうしてもやりたい場合、考えられるやり方は以下のような感じ。

  • NC4.xのエクスポート機能を使う
  • Netscape 7のインポート機能を使う
    • Netscape 7をインポートツールとして使う
    • Netscape 7の当該コンポーネントだけをどうにかして呼び出して使う
  • 他のインポートツールを使う
  • *.na2を直接読むプログラムを書く

というわけで調べてみてた。

まずNC4.xのエクスポート機能を使う方法。多分これが一番手っ取り早い。LDIFかCSV等に書き出して、Thunderbirdのインポートツールでそれを読み込めばいい。ただ、手動でやらなきゃいけないってのがネックで、自動化できないから今回の仕事じゃちょっと使えない。

次に、Netscape 7を使う方法。NS7には上記のコンポーネントが含まれてるから、プロファイルのインポートで普通に*.na2を*.mabに変換できる。ということで拡張機能なりパッチなりを使ってNS7をアドレス帳変換専用ツールに仕立て上げてしまえば諸々の処理を自動化できるんだけど……インストール先のchromeフォルダを見たら、昔半泣きになりながらexUnregisterer.jsなんて自作ライブラリを作ってどうにかこうにか凌いでいたあのRDF地獄があって一気にやる気消失してしまった。最近Firefoxのアドオンを作り始めた人は知らんでしょうけど、昔はオーバーレイいっこあてるのにも物凄い苦労があったんですよ……

じゃあ例のコンポーネントが含まれてるDLLを直接呼んだらどうなんだ?ってことでcompreg.datを手作業で書き換えてあれこれやってみたけど、これもうまくいかなかった。例のコンポーネントが含まれてるっぽいabupgrade.dll以外にもそれが依存してる物があるのか何なのか、コンポーネントを無理矢理登録してみてもちっとも動いてくれなかった。というわけでこれもダメ。

他のツールはないのか!と思って検索してみたらDawnとかいう色んなメーラのアドレス帳の読み書きに対応したツールがあったんだけど、試してみたら日本語の名前や住所が見事に文字化けして全然使えなかった。ていうかそもそも自動処理できないっぽいし。

そんな感じでにっちもさっちもいかなくなったので、ヤケクソでpab.na2(NC4.xのデフォルトの個人用アドレス帳。Personal Address Bookの略でpabらしい……というのはどうでもいい話ですね)のバイナリとにらめっこしながらデータ構造の解析を試みてみた。試行錯誤した結果、全部のフィールドに違う値が入ってる時に関してはなんとか個々のカードの内容を吸い出せるようにはなった(!)んだけど、複数フィールドに同じ内容が入ってたり複数カードのフィールドに同じ内容が入ってたりすると、そこだけ圧縮かかるみたいで全然うまくいかない。どういう順番でどこを読みに行けばいいのかさっぱり分からん……

ちなみに、ここまでの時点でFirefoxのコードを参考にしてnsreg.dat(NC4.xのプロファイル名とプロファイルのありかが保存されているバイナリ)の解析には成功してるので、後はホントに*.na2の中身をどうにかして取り出せさえすればインポートを自動化できるのに!という非常に悔しい状態なのです。ああもうっ。

Page 74/243: « 70 71 72 73 74 75 76 77 78 »

Powered by blosxom 2.0 + starter kit
Home

カテゴリ一覧

過去の記事

1999.2~2005.8

最近のつぶやき