たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。
以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
前に書いたエントリに言及されたのだけれども、ピントのずれたことをおっしゃっているなあと思った。商売は生活の糧を得るための手段だけれども、同人活動(趣味)はそれ自体が目的なのだから、商売の理屈で同人活動の良い悪いを語っても意味がない。
極端な話をすれば、頒布価格は0円でも構わないし、あるいは「金を払うから見てくれ」といういわばマイナスの頒布価格だってアリっちゃアリだ。
実際、同人誌即売会の会場に行けば無料頒布のコピー誌がよくある。今回のもえじら組の頒布物だって、頒布価格は200円にしてたけど今計算してみたら1冊あたり金銭的には208円かかってて、作る手間を加えれば赤字どころの問題じゃない。それでも僕は「これに200円より高い値段は付けられないなあ」「200円でだったら人に見てもらえるなあ」と思ったのでこの頒布価格にした。
商売でだって無料の物をばらまくだろ、って言うかもだけど、それは将来の金銭的利益のための投資でしょ。同人は「消費」だから。
そういえば以前に詐欺まがいの自費出版ビジネスに言及した時にも、似たようなことを書いた覚えがある。
言ってみれば、同人は究極的には「金持ちの道楽」だ。それを金持ちじゃない僕のような普通の人間がやるから、なるべく長く楽しく続けるために赤字を少なくすることを考える必要が出てくるだけであって。金持ちがやるんだったら、そんな事気にする必要も無い。
前のエントリで言及した「3部しか売れなかった」の人も、作る部数を10部とかそれくらいのごく少部数にとどめて(=印刷製本のコストが跳ね上がるので1冊当たりの原価が数百円、下手したら1000円を超える)、且つ、赤字が出ることを厭わずに「買い手が見た時の、内容から判断される適正価格」で頒布していれば、「96冊(コミケット準備会に提出する見本誌1冊を除いた残り)の在庫を目の当たりにする精神的なダメージ」を被ることを避けられたんじゃないのか? そして次の作品作りへ繋げられたんじゃないのか? ということを僕は思うわけですよ。
さとうメメ子氏のコメントにはこうあった。
同人において「売れない」辛さっていうのは金銭面のものじゃなく、自分や自分の作品が受け入れられなかったっていう、自己承認欲求が満たされない辛さだから商いの辛さとは似て非なると思うよ。
10冊作って適正価格で頒布して全部捌けたら、赤字であってもそれは9人から承認されたって事。でも、100冊作って3冊しか売れなかったら、それは96人から拒絶された(相手にされなかった)って事。「そんな内容じゃ買う気しないな」なのか「その値段は分不相応に高すぎるわ」なのかは分からないけれども、とにかく、在庫の山とは可視化された拒絶そのものだ。僕はそういう風に拒絶が可視化されるのが辛い。その辛さを味わわなくて済むようにすることが、同人活動を長続きさせるひとつのコツだと僕は思ってる。ということを前のエントリで僕は言いたかったんだと思うよ。うん。(←後付けもいいとこだ)
幸いにも今はネットで無料に限りなく近いコストで作品を発表できる。ブクマや拍手を集めることができれば、商業的価値のない作品しか作れない人間でも、自己承認欲求を満たせる。pixivなんかはまさにそういうシステムを備えてる。そんなこの時代にそんな人が敢えてカネと手間をかけて同人誌を作るというのは、同人誌を作る事・本という形になった物を人に届ける事・同人誌即売会に参加する事自体が目的なのでない限り、全然オススメできない。逆に言うと、商業的価値のない作家がこの時代に敢えて「同人誌」を作るというのは、「同人誌を作る事」「同人誌即売会でそれを頒布する事」自体が目的であり採算なんかハナから度外視であるとでも考えてなきゃとてもやってらんない、贅沢な道楽なわけです。
ふつうに都会で生活してて、たとえばコンビニでレジが3人並んでたとしますよね。で、自分が4人目に並んだとして、欲しいのがタバコ1個だったとする。このときに「タバコ1個ですぐ終わるんだから、さっさと自分のほう片付けれ」って思う人って、わりと少数派だと思うんです。
これ見て「えー」って思ってしまった。
正直言って、僕は「自分の買いたい物が1個だけなんだから先にこっち処理してくれればいいのに」と思うことはたまにある(家賃の振り込みのためにATMに並んだら前の人が何件も振り込みしててその後ろにどんどん列が伸びていく、という時によく思う)し、あるいは自分が大量の買い物をしようとしている時に1個の物だけ買おうとして急いでる人がいたら、その人の分だけ先に処理してあげられないということに微妙に罪悪感を覚える。ボトルネックのせいで全体の処理が遅れてる、という状態に何とも言えない居心地の悪さと「この状況を解決したい」欲を感じる。
でもそう考えるのって世間的には「学が無くて」「社会のシステムに合わせることができない」「我慢のできない」「マナーの悪い」考え方とみなされるのか。ということに驚いたと同時にガッカリした。
もえじらブログの方のコミケアフターレポートに書いた通り、今回は持ち込み分を完売することができた(といっても既刊新刊合わせて200部くらいだけど)。でもその一方で、こういう話もあったようだ。
夏コミでたけど3部しか売れなかったんだぜ……。 - ゴールデンタイムズ(; ・`д・´)<
見てみたけど、まあ、さもありなんという感じではある。ただでさえ非エロは売れないのに、絵がそう上手いわけでもなく……いやはっきり言えば下手だし。
こういうケースで何が辛いかというと、売れ残った在庫の山を見ることが一番辛いんだよね。今回hknさんの写真集を委託扱いで本人手売りで売ってもらってたけど、半分以上売れて本当によかったと思う。ほとんど売れ残ってたら、きっと気まずかっただろう。
辛さが楽しさを上回るようでは、長く続けるなんて事はできない。やめてしまうことが嫌で、どんな形ででも続けていたいなら、辛くなるようなことはとことん避けるのが、同人活動を楽しむコツなんじゃないかと思う。楽しいことだけやるのが、同人活動を楽しむコツなんじゃないかと思う。楽しくて、後が辛くなる可能性がないことだけをやる、そういう事なんじゃないだろうか。
向上心がないのはけしからん、と言う人もいそうだけどね。
History Tree :: Firefox Add-ons
履歴をビジュアルに見たい、グラフ化して見たいという考え自体はやっぱりよくある話なのかなー。自分も過去にWeb Mapなんてものをやったしなあ。
Web Map、チャンスがあったら作りなおしてみたいところではある。今だったらHTML Canvas使ってもっと軽く作れるだろうから。(必要な道具はある、というだけで、自分の方にその技能があるわけではないんだけど)
その名もズバリ「Open Bookmarks in New Tab(ブックマークを新しいタブで開く)」。何のひねりもない。
ツリー型タブにこの機能を付けれという要望が何度も何度もいろんな人から寄せられていて、しかしどうも調べてみると、Tab Mix Plusの一機能としてはこういう機能があるものの、これだけを実現してくれるアドオンが実は存在してなかったらしい(userChrome.jsを使える人はそっちで解決してしまうから、アドオンでなければ使えないというレベルのユーザには行き渡っていない?)、ということで作った次第です。userChrome.jsでやる人が多いんだろうなあということからも分かるように、メインの実装はたったこんだけ。これ以上機能を追加するつもりはないです。全く。
工夫?というか、実際使ってみて感じたことをフィードバックした点としては、ブックマークを中クリックした時にも常にタブで開くようにしてる、というあたりでしょうか。
作り手としてバカ正直に考えると、「普通の左クリックと中クリックの挙動をそれぞれ反転させればいいんじゃね?(そうすれば新しいタブで開きたい時と現在のタブに読み込ませたい時に使い分けれて便利じゃね?)」ということでそうしてしまいそう(事実、最初はそうしてた)なんだけど、実際に使ってみると自分の場合はブックマークを中クリックすることが癖になってて、タブで開きたいのに現在のタブに読み込まれて「ムキー!!!」となってしまった。
それに、こういう要望を出す人というのは多分、ミドルクリックでタブで開けるということをそもそも知らない(ミドルクリックという操作がある事自体を知らない)か、2ボタンマウスを使ってるかで、ハナから操作を使い分ける気なんか無いんだろうなあ。とも考えられる。
つまり「操作によって挙動を変えるという自由」が、混乱の元であったり、そもそも誰もそんな自由を欲してないんじゃないか、と。なので、「左クリックでも中クリックでもとにかくブックマークは新しいタブで開く」という挙動を初期設定としておいた。設定を変更すれば、中クリックした時は現在のタブに読み込ませるという挙動にもできるけど、作者の推奨設定はあくまでこうですよってこと。
ツリー型タブを使ってタブバーを左または右に表示してる時に、サイドバーをタブの下に表示したい(コンテンツ領域の左に「タブバー」と「サイドバー」が縦に並ぶようにしたい)、という要望を何度か受け取っている。
「タブをツリー表示する」という基本コンセプトとはあまり関係がない機能なので、機能として付け加えるつもりはない。しかし、実装するとしたらツリー型タブに激しく依存するはずなので、全くフォローしないという訳にもいかなさそう。
ということでuserChrome.cssでなんとかできないか考えてみた。
#sidebar-box {
bottom: 16px;
display: -moz-box;
position: fixed;
-moz-box-orient: vertical;
}
sidebarheader {
width: 208px;
}
#sidebar-box,
#sidebar {
width: 250px;
}
#sidebar {
height: 300px;
}
.tabbrowser-strip {
margin-bottom: 316px;
}
サイズ固定になってしまうけど、こうするとそれらしくなった(タブバーが左にあって、250ピクセルくらいの幅である場合)。
フレキシブルにやろうと思ったら、それなりのコードを書かなきゃいかんよなあ。誰かやってくんないかなあ。
追記。アドオンにしました。
ツリー型タブが入ってるとスターアイコンからブックマークの内容を編集できない、という報告を見て、そんなバカなこっちじゃちゃんと動いてるのに!と思って薄々そうなんじゃないかなあと思いながらよく報告を見てみたら、Tab Mix Plusと組み合わせた状態であると書いてあり、やっぱり……と思いながら両方を入れてみたら確かに問題が再現した。まあここまではよくある話。
エラーが起こっている箇所はエラーコンソールのメッセージから容易に特定できたんだけど、でもどう見てもそこでエラーになるはずがないという箇所でエラーになっていた。具体的には1つ前のエントリに書いたcreateContextualFragment()
の所。色々条件を変えて調べてみたら、どんな簡単なソースを渡した場合でもcreateContextualFragment()
の返り値が常にnullになっているようだった(Firefox 3.0.13でのテスト結果)。で、さらに条件を変えながら色々試して分かったのは、そもそもツリー型タブと組み合わせなくても、Tab Mix Plusが入ってるだけでcreateContextualFragment()
が全然使い物にならなくなる(Firefox 3.0.xや3.5では常にnullが返り、Trunkでは常に例外が発生する)ということだった。
さすがにこれは何かおかしいと思って、エラーコンソールに表示されるエラーをよく見ると、XMLのパースエラーで「属性が二重に定義されている」とメッセージが出ている。それでピンと来てTab Mix Plusのソースを見てみたら、怪しい記述を見つけた。オーバーレイ用のXULドキュメントで、idがmain-windowであるwindow要素のオーバーレイ内容にXML名前空間宣言が含まれている、というものだ。もちろんこれはXML的に全く問題がないはずの記述なのだけれども、まさかと思いながらそこを書き換えてみたら、Tab Mix PlusがあってもcreateContextualFragment()
が失敗しなくなった。それで、ここが原因だと確信が持てたということで、Bugzillaにバグとして報告してみた。
条件がややこしい上に、一体どこが一番悪いのか分からなかったんだけど、一番表面上のトリガーになってるように見えてるのがDOM Traversal-Rangeだったので、そこのバグとして報告してある。
この問題を回避しようと思ったら、Tab Mix PlusのオーバーレイでXML名前空間宣言を書くのは本当のルート要素だけという風に書き換えるのが一番手っ取り早いんだけど……できれば本体(Gecko)の方を直してほしい所ではある。
先週1週間は夏休み取って家に缶詰でずっともえじら組のマンガ描いてたんだけど、その間大量にバグ報告が来てたのをずっと見て見ぬふりしてたのを今週になってやっと修正した。
ブックマークフォルダの内容をタブで開けなくなるという問題はFirefox 3.0.xでのみ発生する問題で、原因はJavaScriptコードモジュールのPlacesUtilsにFirefox 3.5から追加された機能をそうとは知らずに使ってしまっていたせいだった。
あとブックマーク周りの変更が結構ボロボロだったのをだいぶ直した。特にスターアイコンのことは自分であんまり使わないからすっかり忘れてて、直すのに難儀した。Firefox自身がeditBookmarkOverlay.xulを動的に読み込んでいて、そのeditBookmarkOverlay.xulに対してツリー型タブがオーバーレイを適用しているために問題が……とか、とてもバッドノウハウくさい。結局、XULオーバーレイでどうこうするのは諦めてJavaScriptで動的にDOM要素を生成して挿入することにした。
var range = document.createRange();
range.selectNodeContents(container);
range.collapse(false);
range.insertNode(range.createContextualFragment(<![CDATA[
<row align="center" id="treestyletab-parent-row">
<label id="treestyletab-parent-label"
control="treestyletab-parent-menulist"/>
<menulist id="treestyletab-parent-menulist"
flex="1"
oncommand="TreeStyleTabBookmarksServiceEditable.onParentChange();">
<menupopup id="treestyletab-parent-popup">
<menuseparator id="treestyletab-parent-blank-item-separator"/>
<menuitem id="treestyletab-parent-blank-item"
value=""/>
</menupopup>
</menulist>
</row>
]]>.toString().replace(/^\s*|\s*$/g, '').replace(/>\s+</g, '><')));
range.detach();
こんな感じにしておけば、XULの「タグを書くだけでUIを作れる」という利点をそれほど殺さなくても済む……と思う。E4XのXMLオブジェクトを生成した物を既存のDOMツリーに直接組み込むことができれば話は早いんだけど、そういうことは無理っぽいので、createContextualFragment()
にしてる。ここではE4XのCDATAマーク区間をヒアドキュメント代わりに使ってるんだけど、文字列置換でタグの間の空白文字を消してるのと、toString()
をわざわざ書いていることに注意が必要。前者を忘れると要素ノードの間にいちいちテキストノードが生成されてややこしいことになるし、後者をを忘れるとStringクラスの物ではなくXMLオブジェクト自身の方のreplace()
メソッドが呼ばれてしまって文字列置換にならないので。
修正ついでに、ブックマーク項目の「親のタブ」を設定する機能について、もうちょっと自由に使えるように手を入れてみた。ツリー構造を書き換えるのと同時に、ツリーとして表示される時の順番に合わせてブックマークを自動的に並べ替えるようにした。
その人の言った言葉を僕なりに解釈したところでは、世の中の主流は「場の空気や相手の感情を読めるエスパー」であり、且つ「相手も場の空気やこちらの感情を読めるという事を期待する・それを前提にする人」である、と。だから、その主流に刃向かわずに迎合していきたいのであれば、彼らの期待に応えられなければならない、すなわち、「場の空気や感情を読めなきゃ駄目」である、と。
ある意味で素直に「ほうほうそういう物なのか」と思って、ある意味ではトレーニングのつもりで(そしてそのトレーニングにその人がつきあってくれるようだったので)、敢えてその人と付き合い続ける(交際ではなくて友達としてという話ね)ことにしていた。正直、どうも苦手だなあとは思っていたけれども、それを克服しないことには今後の人生で恋愛も結婚もできる可能性は無くお先真っ暗になってしまうんじゃないかという不安はあったので、自分なりにできる限りのことはしたつもりだった。
しかしやっぱりどうしても合わなかったようで、先に相手の方が限界に達したらしく、関係を切られる形になった。僕(ら)はエスパーにはなれなくて、相手が期待するようには僕(ら)はやはり空気とか感情とかを読むことができなくて、期待されているようには振る舞えなくて、あまりに話が通じなくて、他にもいくつかのことが重なって、相手はイライラして飯も咽を通らなくなり、「もうこれ以上傷付きたくない」ということで縁切りすることになった。
ほんでまあ改めて思ったんだけど、僕が自然に生きてたり自分なりの配慮のつもりでしてることがどうしてもストレスにしか感じられないという人が世の中の主流であるなら、その種の人達とプライベートでまでつきあう必要はないんだなー、と。もし世の中の女性がみんなそういうタイプの人なんであれば、無理して恋人探しとかしてもきっと何も報われない・いいことないだろうなー、と。普通に生活するだけだったら、その人に対してそこまでストレスフルであった僕の自然体でも、別に問題なく生活できていたのだし。
折しも、元彼女と別れた後「あれ、自分って案外、彼女というものがいなくても一人でも生きていけるかもしんない」と自覚してきた(正確には多分、世間に対して抱いていた強い負い目・コンプレックスが「一度でも彼女がいた」という事実により解消されたということなんだろう)ところだったし。
という感じで気分的にはちょっと楽になった気がした。
もえじら組ブログの方にも書いたけど、こっちでも宣伝しとく。
コミックマーケット76に参加します。参加日とスペースは、日曜日(2009.8.16) 東地区1ホール “K”ブロック 01b 「もえじら組」です。
新刊コピー本「LoveConnect3」(前回までの話の一応の完結編)、鋭意制作中です。宣伝も兼ねてオマケ用に描いた4コマ漫画を貼っておきます。
あと、以前売り子を手伝ってもらったhknさんが個人的に制作中の写真集(CD-R媒体ではなくフルカラー印刷の冊子)の中にふぉくす子コスの写真が含まれるということで、もえじら組スペースにて委託販売というかhknさん自ら直々に手売りしてもらう予定です。