たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。
以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
関西在住のお笑い芸人のカネミノブ氏は、お笑いに専念するために仕事を辞めてショットバーを開き、来る客を相手にネタを見せて練習していたのだそうだ。一般の人にダメ出しをしてもらってネタのクオリティを高めるのが狙いだったのだとか。けれども現実には、「深夜にショットバーに来るような客のセンス」に合わせてネタを作っていたものだから却って一般ウケが悪くなって、前回通った一次予選で今回は落ちてしまった、と。
狙う市場に合わせてネタ作らないとダメだよねっていう話から、Mozilla/Firefoxは日本でどういう地位を築こうとしてるんだろうなあと思った。もし仮に僕が感じてるような利点、無限の拡張性だとかスピーディーな開発が可能な環境だとかそういう所をネタの良さと思ってるんだったら、それは明らかに日本の客層に合ってないよね。
まあシェアを獲得することが「目的」ではないのなら、それでもむしろいいのかなとも思うんだけど。どうせ先行逃げ切りで圧勝した者しか生き残れないこの日本では、今からシェアを奪いに行くなんて土台無理な話っていうか、ねえ……
しかしまあ感情移入しまくりとか状況似てるとか書いてしまいましたけれども、こういう純粋で美しい恋物語と比較して、自分の現状ってもっとずっと救いようがないですね。
彼女らは若々しさ溢れる高校生、毎日二人で一緒にランチ、彼女の想いは純粋ときたもんだ。対してこっちは、学校なんてとうの昔に卒業しちまって先の見えないオープンソース業界に寄生して生きてるただのヲタ、昼食一緒なんてあり得ないし(ていうかもう半年以上以下略)、自分の気持ちはただの性欲との区別すら付けられない邪心まみれときたもんだ。共通してるところと言えば、なかなか構ってもらえないという事くらいじゃ……
あ、もう一つ共通点あったな。ほとんど毎日手作り弁当って所(※食費節約その他の目的で弁当自作してるというだけのことで、誰かと一緒にとかそういうことではないですよ)。まあ、こっちはメニューほぼ固定で魚が塩鯖と塩鮭で変わるくらいの、まさしくただの餌って感じですがね……
まあ違いを探せばそんなもんいくらでも見つかるんでこのくらいでやめておくけれども。機会がなくてあんまり読まないけど、少女漫画って、自分の状況とか心情とかにちょっとでも共通するところがある時に一番ビビッと来るものなのかもしれないなと思った。少年漫画とかは、なんつうんだろ、あくまで他人を応援してる感覚が強いのかもしれない。
マーガレット2月5日号(20日発売)掲載の読み切り漫画。知人の雪森さくら肉先生が描かれたので近所の本屋でカード一括払いでマーガレットだけ買ってきました。何この羞恥プレイ。
せっかくお金払って買ったンだし、他の掲載作にも目を通してみる。
他にも色々あったけど、なんというか、こう、慣れない物を通しで読むと、あてられるっていうか結構疲れた…… あと、さらっと「ラブホ」とかそういう単語が出てきてたりっていうか普通にラブホ入ったりとかしてて、ああ、女の子って男の子よりずっとオトナな漫画読んでる物なのね……とかそういうことを思って切なくなったりした。
で、本題の肉先生の読み切りですが。いろんな意味で予想以上でした。
1日目でとりあえず必要最低限の機能は揃ったので、2日目は作り込みのフェーズに入った。
最初の方で作った分割後の領域用のsubbrowserウィジェットは、ブラウザとしてまともな機能が全然無い状態だった。「戻る」や「進む」などのボタンは一応あったけど履歴が何もないときでも常時押せる状態だったし、faviconもページのタイトルも何も表示されないような物。これではさすがに話にならない。
subbrowserの中に何を入れるかなんだけど、今後のことはともかくとして、最初に公開するバージョンでは、「戻る」「進む」「更新」「中止」の4つのボタンと「ロケーションバー」+「移動」ボタン、「Webサイトのアイコン(favicon)」、読み込み状況を示す「プログレスバー」、それから前のエントリでもチラッと出てきたけど「閉じる」ボタン。これだけ設けておくことにした。
ただ、これだけの要素をあの狭いスペースにそのまま置くとだいぶアレなことになるので、Safariを参考に、「更新」と「中止」のボタン、それから「プログレスバー」と「ロケーションバー」はそれぞれ一つにまとめたんだけど。前者はCSSでの指定、後者はXULのスタックによって実現できた。
いつまで続くんだこの話。やっと開発一日目最後のところだよ。コード書くのは手っ取り早いけど文章書くのってだりい。ドキュメント整備が遅れるのは世の常ですね。
ええと。とりあえず「分割」する、ブラウザをどんどん増やす方向については前回までのところでできたんで、次は追加したブラウザを削除する方向の処理の話です。
例として、「一回右に分割して、さらにその分割されたブラウザを下に分割する」という場合を想定してみよう。
これはDOM操作的には、hboxにsubbrowser-containerを入れて、さらにその中のvboxにsubbrowser-containerを入れる、という感じになる。タグで書いたらこんな感じだ。
<subbrowser-container>
<vbox>
<hbox>
<box anonid="wrapper">
<tabbrowser/> <!-- 左 -->
</box>
<splitter/>
<subbrowser-container>
<vbox>
<hbox>
<box anonid="wrapper">
<subbrowser/> <!-- 右上 -->
</box>
</hbox>
<splitter/>
<subbrowser-container>
<vbox>
<hbox>
<box anonid="wrapper">
<subbrowser/> <!-- 右下 -->
</box>
</hbox>
</vbox>
</subbrowser-container>
</vbox>
</subbrowser-container>
</hbox>
</vbox>
</subbrowser-container>
右下のブラウザを削除する場合はどうするか? これは分かりやすい。subbrowserの親の親の親の親にあたるsubbrowser-container要素を削除すればOKだ。また、左の部分、つまり最初からFirefoxにあるブラウザは削除できないので、ここも問題無いといえば問題無い。
難しいのは、右上の位置にあるブラウザ……何らかの子ブラウザを抱えている、中間の階層のブラウザを削除する場合だ。
実は「うるせえよっていうか見当違いのツッコミ入れて浸ってんじゃねえよ、老害は黙ってろ」とかなんとか返されないかと結構gkbrだったりしました。いや一個前のエントリのことなんすけど。
思い返してみるとやっぱり、バリバリ現役のW3C信者やってた頃に比べたら、一つの価値観に基づいて何かを強く糾弾したり筋道立てて説得しにかかったりということが、できなくなってきてるような気がする。ある意味で、信念があったのかもしれない、あの頃は。信念っていうか、義務感とか情熱とか正義感とか。「キャシャーン自分がやらねば誰がやる」みたいな勢いが。いや元からそんなにそういうのに溢れてる方ではなかったと思うけれども。
そういうのが、「若さ」なのかなあ。
それがなくなってきてるってことは、歳食ってきたってことなのかなあ。
電話番もロクにできず、お客さんにお茶の一つも出せないで、スーツなんて着慣れてなさ過ぎてネクタイすら結べない、「彼女」とも全然会えてない、料理のレパートリーは相変わらず野菜炒めと味噌汁と野菜スープとかそんなんから全く増えてないっていうかむしろ減ってすらいる、そんな風にいかにも未熟の塊みたいな経験・スキルのまんまで、ただ情熱だけが消えていくなんて。
せつない。
Windows エクスプローラのフォルダバーを表示させる理由が全然理解できない
記憶力があまりよろしくないと思われる私であっても、その程度の連想配列を格納する領域ぐらい持っている。 (中略) ううむ……。彼らは何がしたいんだろうか。
それは単に、あなたが自分で思っている程記憶力がよろしくなくない、天才には平民の悩みなんてものは理解できるはずが無いってことだと思いますよ。そういうことを、自分より頭の回転が早い人としばらく一緒にいてよく分かりました。彼らは、聖徳太子みたいにマルチスレッドでものすごくたくさんのタスクを同時にこなしていながら「このくらいできて当り前だろ、なんでできないの?」って本気で言います。
僕は、エクスプローラバー出しっぱ派です。
前のエントリではさらっと最終的な設計だけ示したけど、これは実は、この後の段階の作業で分かったことやなんかをフィードバックした結果たどり着いた、(少なくとも自分的には)一番洗練された状態だ。ここに至るまでにはだいぶ無駄に寄り道してた。
Split Browserの話の続き。間が空いてしまったけど。
そもそも何故「分割」なのか? いわゆるMDIアプリケーションのように普通にブラウザをたくさん置けないのか? という疑問は結構多くの人が思うものだと思う。
これはXULの仕様上の制約による部分が大きい。XULの場合は基本的に「内容が横に並ぶボックス(hbox:horizontal box)」と「内容が縦に並ぶボックス(vbox:vertical box)」という縦横の箱の集まりとしてGUIの構造を定義するようになっていて、要素の重ね合わせというのはイレギュラーな事態だからだ。
まあ、この制限を乗り越えてボックスを好きな位置に表示するテクニックというのはいくつかあって、タブのドラッグ&ドロップの時に出てくる矢印や、フィッシング詐欺警告とかのように、Firefox本体でもそんなテクニックが使われていたりはする。しかし現状では、タブの切り替えやbrowser要素等と重なったときに色々と予期しない結果になってしまうこともあって、あくまで補助的にしか使えないかなーというのが僕の印象です。Split Browserでもこのテクニックを使っている部分があるけど、これはまた後述します。
あと、さらに余談だけど、Firefox 3だか4だかではSVGのサポートが改善されてSVGのforeignObject要素の中にインラインフレームを置けるようになるそうで、これを使うともっと自由にブラウザを表示できるようになるのかもしれない。
Rabbitの須藤さんの協力により、このサイトで公開してる拡張機能をSubversionでバージョン管理できるようになりました。まるっとうぷったので今後は自宅でも会社でも旅行先でも支障なく開発が進むようになるかもしれませんし、そうでないかもしれません。
チェックアウトだけだったら誰でもできるんでしたっけ?
サーバの領域を貸していただいただけでなく、Subversionの使い方も教わりました。Windowsだとシェル拡張として機能するTortoiseSVNが色々便利っぽいです。Ubuntuだとさすがにシェル拡張というわけにはいかないようですが、RapidSVNを使えばGUIで操作できてイイ感じでした。Ubuntuならapt-get install rapidsvnで一発ですし。
RapidSVN用の日本語ロケールはパッケージに含まれてないみたいだけど、0.9.0用、0.9.3用、0.9.4用などが独自に作成されているのでこれを導入しておくとよい。rapidsvn.moを/usr/share/locale/ja/に置けば勝手に読み込んでくれる。
あとついでにXPIパッケージを作るのに使ってるバッチファイルのリポジトリなんかも作ってみました。おもっきしパスがうちの環境に依存してますが、まあ、もしよければ参考にしてください(誰ともなく)。ちなみにCygwinのchmodとzipコマンド、それからLZH形式のファイルの作成用にunlha.exeを使ってます。