ねこめしにっき(2003年3月上旬)

2003年3月10日

Browser Innovation (2003/03/10 - 05:20)

ライバルの KHTML が Safari のコアに採用されてしまった事それ自体や、その際に Mozilla / Gecko は肥満しているといういちばん突かれたくない所をドンピシャに突かれてしもたという、例の「 Safari ショック」がかなーり堪えたらしく、そのあたりを見据えての Mozilla の現状反省と反論とこれからのアティチュードの表明文書、といったあたり。 Safari ショックのでかさを裏付けるよーに、コンスーマ向け Mozilla 系ブラウザとしての Phoenix や特に Chimera 改め Camino の事を重点的に語ってる。

この中でも述べられてるけど、 Camino の最新 Nightly は内蔵 Gecko がすでに 1.4a になってる。その関係で Nightly ビルドは常用するにはちとキツイくらいの不安定な状態がしばらく続く感じだけど、いいかげん新しいめの Gecko に載せ替えて欲しいってのは以前から望んでたことだしー。

Safari も非公開テスト版の v62 や v64 でタブブラウザ化したり他でいろいろ前進してるよーだし。楽しみですなぁ。ずっとヒサンだったマクブラウザ界の未来に、いろんな夢を持てるようになった事がスバラシイ。

ときにさとみかんパンチって何デスカ。わらい。

2003年3月8日

娘いいな (2003/03/08 - 00:28)

うちの娘は自分の臍をいじいじしながら、「オパーイ。オパーイ。」と言います。どうしたら良いのでしょうか?

[ nipple より ]

それで萌え尽きさせようったって、そうはいかないぞっ。

ぱらだいむしふと (2003/03/08 - 00:21)

なにかが大きく動きそうなヨカーン。…まだヨカーンがするだけ。未確定。

もうやめよ (2003/03/08 - 00:20)

次の新刊からは「おたのしみパック」の配布はもうやめようと思った。

2003年3月7日

結局 Safari の表示崩れ放置をやめてみたりして (2003/03/07 - 15:13)

ウチのサイトは Safari で表示すると悲しいほど表示が崩れていたわけで、事あるごとに「放置」とか言ってたけど、気が変わって対処してみた。わらい。なんかぼくに対する挑戦のような気がしてきたので。わらい。おおわらい。

  • このサイトのデフォスタイル「ぴんくすとらいぷ」の、角の丸っこい囲いの下辺や、 h3 要素内の先頭につく黄色い玉の画像、ある条件の dt 要素内先頭末尾につくマゼンダ色の星マーク 。これがブッ壊れてたのが一番目立つ崩れ。

    これらは :before / :after 疑似要素および content プロパティ対応のブラウザの場合、そのあたりの CSS2 記述を使って出してる。ところが Safari は、ブロック系要素の :before / :aftercontent で出した文字や画像は、前後が改行されるバグがあって、そのせいで表示が壊れる。よって、角丸下辺をこのやり方で出すのは止めて、 WinIE/MacIE と同様にスクリプトで中身カラッポ div を生成する方式に変更。黄色い玉や星マークは、全ブラウザにおいて背景画像として出すように変更…。なんか敗北感…。

  • border-color: transparent を認識できなくて、アンカー内にある画像にいちいち青い枠線が出やがるのは、 WinIE と同じように背景色に馴染む枠色を逐一指定するドロナワ方式を採らざるを得なかった。だっせぇ。
  • a 要素しか内包しない display: inline な要素はボックスモデルの破綻が顕著で、 margin, padding が効かなくなりがち。具体的にはページの最初と終わりにあるナビリンク部分あたりに問題が出てた。効かなくなるパターンにはっきりしたものがあるかまだ掴みきれてない。とりあえず marginpadding がかろうじて効く場所を探して、なんとか強引に意図する表示を再現。
  • open-quote, close-quote を解釈できない。よって q 要素先頭末尾に出るはずの引用符(カギカッコなど)が出てなかった。q:before / q:aftercontent に直接カギカッコを指定して対処。ただし content で日本語文字を直接使うと文字化けしやがるので、数値文字参照で指定。

    …してみたのだけど、どういうわけか効かないことの方が多いという。表示完了後に再度リロードしないとダメくさ。ハァ…。

  • overflowvisible 以外の値が hidden 扱いになる。コンテナブロックを突き破ってはみ出す (visible) ぶんには構わないけど、勝手に切り取られ (hidden) ては困るわけで、本来 overflow: auto を指定してる要素に対して visible を再設定。
  • clear プロパティのバグは、対処不能なので、 float を使ったレイアウトが出来ない場所はその望みのレイアウトを破棄。
  • 画像あるいは画像を含む要素を float すると二重に表示されるという、発生条件不明の大バグは対処不能なので放置。

CSS オンリーで Safari を避けてなんぞを記述するには、Safari Spacer Hack ちう技が使える。 MacIE5 の「バックスラッシュハック」などと同様に CSS 解釈バグを使う方法なんで、あんまりやりたくは無いんけど、どうしてもしょうがない時にはやむを得ないかなと…。

ちなみに、 CSS を読み込むための link 要素をスクリプトで生成する場合、 document.writehead 要素内に「書く」やり方では出来ないみたい。文書の読み込み時に DOM ツリーを操作して、 head 要素内に link 要素を「生成」しないとダメ。まぁこの方がマシなやり方だし。ウチでは可能な限り、 HTML の要素を document.write することは避けてるし。

ちうわけで、Safari の表示崩れ対処は、 WinIE5 や Opera6 に対してと同じく、 JavaScript が有効でないと発動しませんです。

Safari (v60) の clear プロパティのバグ (2003/03/07 - 14:10)

三つ以上連続する高さもバラバラなブロックの float」でチラリと触れた「 Safari で float がうまくいかないの件」、原因判明ー。別の場所で一旦 none 以外の値に設定した clear プロパティを改めて clear: none に再設定したとしても、なぜか変更が効かない模様。たとえばこんなの。

div { float: left; clear: left; width: 25% }
div { clear: none }

セレクタ二つとも単純に div 要素への指定をしてるだけ。この場合、一つ目で宣言した clear: left は二つ目の clear: none でカスケード上書きされて、結果的に div 要素は clear: none となるのは自明ですやね。ところが Safari では clear: left のままの扱いになってる。つまり、この CSS を適用した HTML にて div 要素を 複数並べてみたとしても、 div 要素が出現するたびに clear: left で回り込みが解除されて、どうあってもフロートしない(= div が横に並ばない)

非置換のブロック要素である div だからダメなのかというとそうでもなく、いちばん float が指定される事の多い img 要素であっても事情は同じ。つまり、一旦 clear : none 以外を指定してしまったら、二度と clear の値は変更できないというひどいバグ。

Camino™ 0.7 りりす (2003/03/07 - 13:06)

改称問題も終了したっちうわけで 0.7 になったらすぃ。アプリ名もしっかり Camino になってた。

べつに 0.7 になったからって、内蔵の Gecko は依然 1.0.1 のようだし、フォームでのバックスペース戻り(文字入力中にいきなり前ページへ戻っちゃう不愉快なバグ)も健在とゆー。プロファイルデータの置き場所も ~/Library/Application Support/Chimera だったりするけど、これは仕方のない事やねー。旧 Chimera と併用したいケースがまだあるやもしれんし。

でもって Chimera に対する Cocoa Gestures の設定も、名前が変わったからか引き継がれてない。というか Cocoa Gestures があらかじめ Chimera に対して用意してた(とおぼしき)プリセットももちろん反映してなかった。うぐぅ。あれやこれやと設定しなおした。うぐぅ。アプリの名前とかでモノを判別するんでなくて、クリエータコードで判別してホスィってのは、Finder Info やリソースフォークへの依存を減らす方向の OSX 時代には無意味な叫びなのでしょーかー。名前やフルパスに依存するのってスマートじゃない気がするんだけどなぁ。

あ、 Camino アプリ本体のクリエータコードは依然 'CHIM' 。これもおいそれとは変更できないですやねー。イニシエの Teach Text 、後の SimpleText の 'ttxt' が現代の OSX の TextEdit.app にそのまま受け継がれてるよーに。わらい。

UA 自称名は Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.0.1) Gecko/20030306 Camino/0.7 となってる。

2003年3月6日

Safari (v60) における overflow プロパティ (2003/03/06 - 22:15)

Safari における CSS の overflow プロパティ、これもちょっと実装がヘン。 visible 以外の値はすべて hidden であるかのように扱われる。困るなぁ。ただ、 hidden 化で見えなくなったテキストはみ出し部分も、その周辺をドラッグ選択してコピーするとちゃんとクリップボードに入る。一応。

まぁ、 visible 以外の値の overflow が指定されると、要素によっては表示が完全消失するバグのある MacIE5 よりはマシではあるけど、西暦 2003 年の現代としては、 CSS 対応を謳うブラウザなら overflow プロパティごときキッチリ実装して登場してきてほしい…。

なんで OSX には時報機能が無いんだっ (1) (2003/03/06 - 18:45)

いやーこれについては、ぼくも前々から不満に思っていてですね。いや、いくつかの常駐系ユーティリティのおまけ機能に時報機能が付いてくる事はあっても(例:PTHClock、時報欲しさのために余計なモノは常駐させておきたくないという気分もあって。時計は純正のメニューバークロックで間に合ってるわけで。

上記リンク先では、任意のサウンドファイルを QuickTime Player で開く AppleScript を書いて、それを cron で定期的に起動する方式。でも、インタフェイスを持つ GUI アプリを利用する方法は、たとえばこの場合だと、常に QuickTime Player が起動してくるからちょっと煩わしい。

なのでぼくはずいぶん前から、 Play Sound Scripting Addition を使うやり方をしとります。これはいわゆるアプリケーション形式の OSAX でして、起動したとしてもバックグランドに存在するだけの、目には見えないモノ。

ヤリ方

  1. Play Sound をダウンロードしてきて解凍。
  2. Play Sound 本体はつまるところアプリなので、どこに置いてあっても AppleScript の tell application "Play Sound" 構文で呼べるのだろうけど、何となく ~/Library/ScriptingAdditions 下に置いてみたり。
  3. crontab を編集。 Terminal 等で crontab -e として直接 cron テーブルをいじってもいいけど、CronniX を使うのがラクでいいやね。
  4. 以下のコマンドを登録。osascript は AppleScript を走らせるコマンド。この例では /System/Library/Sounds/Glass.aiff を鳴らしますよ。

    osascript -e 'tell application "Play Sound" to play file ((path to system folder as text) & "Library:Sounds:Glass.aiff")'

    path to system folder は何なのかというと「システムフォルダのパス」を表す。 AppleScript で使われる HFS パス表記の場合、起動ディスクの名前は人それぞれだし、時と場合と気分によっても変えがちなワケで。

  5. で、こんな感じ、この例では 30 分ごとに時報を鳴らすとゆーワケ。

    */30   *   *   *   *   osascript -e 'tell application "Play Sound" to play file ((path to system folder as text) & "Library:Sounds:Glass.aiff")'

    ふたつめにあるのは、にっきの見出し一覧とか RSS とかを自動生成させてるシェルスクリプトを 6 時間間隔で起動してるヤツ。ほかにもいろいろアヤシイ自動作業がこの下にいっぱい羅列されとります。わらい。 OSX まんせー。

  6. このように osascript コマンド以下を直接 crontab に登録するのもいいけど、シェルスクリプトとして書いて、そのシェルスクリプトをここへ登録するほうが、処理内容の変更(つまり、鳴らすサウンドファイルを変えるとか)がラクだし、実際はそうしとります。

    #!/bin/sh
    osascript -e 'tell application "Play Sound" to play file ((path to system folder as text) & "Library:Sounds:Glass.aiff")'
    osascript -e 'tell application "Play Sound" to quit'

めも

  • crontab -e で起動するエディタは環境変数 EDITOR で指定されてるモノだから、チョー簡単に使えるエディタの pico に変えたければ、 setenv EDITOR pico などとしておけば吉。
  • osascript コマンドは起動時の負荷が多少重いです。システム全体の負荷が高いときなんかは、ジャストの時間に時報が鳴らない事の方が多い。任意の音ファイルを再生できるウニコマンドを入れてあるなら、そっちを使った方がいいです。ただ Play Sound は、 QuickTime が対応してる音ファイルなら何でも再生できるってゆー利点が捨てがたいっす。
  • もっと以前、OSX10.1 の頃は mpg123 を使って mp3 を鳴らしてたんだけど、 OSX10.2 にしてからどうも cron 起動で鳴らそうとするとエラーが出て鳴らないのでヤメた。たぶん環境変数の何かだと思うけど、よくわかんない。

なんで OSX には時報機能が無いんだっ (2)」に続く。

2003年3月5日

三つ以上連続する高さもバラバラなブロックの float (2003/03/05 - 21:00)

ジャンルリスト部分 の CSS デスガ。これは h3ul を内包する div 6 つ(それぞれの height 算出値は当然バラバラ)すべてを float:left として、4 番目のみ clear:left としてるです。すると Mozilla 系や Opera6 では、意図通りに div ブロックが横 3 つ、縦 2 つにキレイに並んだ。でも WinIE はそうならない。5 番目と 6 番目が、clear:left してある 4 番目のブロックよりも上にある float ブロックの右側に流し込まれちゃう。ちなみに MacIE5 では 4 番目のブロックを clear:left しなくても意図どおりの配置になったりして。

このへんの挙動は特に CSS 仕様書で定められてるワケじゃないから、どっちが正しいとも言えないんだけど。

浮動ボックスの外上辺は、ソース文書内でそれ以前に出現する要素が生成する、ブロックボックスあるいは浮動ボックスの外上辺より上にきてはならない。

[ 9.5.1 浮動体を配置する(Positioning the float: the 'float' property) - REC-CSS2 邦訳 より ]

…という事なので、 5 番目のブロックも 6 番目のブロックも、 4 番目のブロックより上に行ってはダメ。

久しぶりに思い出したのだけど、 MacIE5 には「ブロック要素に floatclear を同時に与えると float が効かなくなる時がある」怪現象があったんだった。ホントうっとおしいコレ…。まぁ MacIE5 のシェアが大幅減少中なので、そろそろ見切りつけてもいいんだけど、その後釜最有力の Safari は件の部分の float も、例によってまるでダメという…。くっそー。 float させたい div の兄弟ブロックや親要素ブロックに clear が指定されてるとまるでフロートしないっぽい。その部分の clear は関係ないだろーがっっ。どーなっとるんだっっ。……例によって放置。

ジャンル分類を細かくした (2003/03/05 - 20:29)

にっき記事のジャンル分類を細かくしてみた。なんか多彩な話題を扱っているかのように見えるですなぁ。わらい。

今、過去にっきのジャンル分け作業が着々と進行中なんだけども、これまでの大ざっぱな分け方だと、ジャンル別の一覧リストそれぞれが巨大になる事が発覚。巨大な上に分類が大ざっぱじゃ、どうしようもなく使えないリストにしかならないしー。

2003年3月4日

Chimera は Camino™ へ改称 (2003/03/04 - 17:40)

03 March 2003
Due to circumstances beyond our control, the project has been renamed Camino.
03/03/2003 21:16
s/Navigator/Camino
03/03/2003 17:43
Change Chimera and Navigator to Camino, round 1.

というわけで改称問題は Camino へ、という事に決まったらすぃ。Camino はスペイン語で「道」らすぃ。これまで "Navigator" (Navigator.app) だった OSX システム上におけるアプリ名も Camino になるらすぃ。 のかな?

…このサイトのあちこちの Chimera の文字も Camino に変えて回らなきゃいかんなぁ。「Chimera べんりセット」も「Camino べんりセット」に改称せにゃいかんのかぁー。…「髪の便利セット」? まるきり毛髪促進剤みたいだな。いやだなぁ…。

Phoenix の改称問題はいつ決着するのかな。

OSX のユニバーサルアクセス (2003/03/04 - 17:10)

Security Update 2003-03-03 ウプデータン掛けて再起動したらテンキーの数字が打てなくなって焦ったーよ。

原因はユニバーサルアクセスのマウスキー(テンキー操作でマウス移動できるようにするヤツ)が勝手に ON になってたからだったーよ。てか option キーの 5 連打で ON になるよーになっとるんかコレ…。今後またうっかり ON になっちゃうとアレだし、「ユニバーサルアクセスのショートカットを使用する」を OFF にしといた。

しかし、ユニバーサルアクセスのズーム機能ってオモロいっすよね。別に視覚障害者でなくても、その場で画面をグリングリン滑らかに拡大縮小できるってのは、いろいろと役に立つ場面が。画像いぢりの時とか。(笑)

- (2003/03/04 - 05:55)

にっき過去ログの自家製 XML 化とジャンル分け作業が遅々として進まない〜〜〜。

…ていうか、カラ更新。

2003年3月3日

Creative Commons (2003/03/03 - 19:00)

[ antipop 経由 ]

自らの製作物の取り扱いを、どこまで・あるいはどのような形態で他人に許すかを、製作者自らが明示シテオクためのしくみ。人間向けの文書 法的裏付けへのリンク と共に、許可する利用形態の明確化を RDF のメタデータ記述により実現して、機械で自動処理させる事までを視野に入れてるあたりが、近未来の要請であるセマンティック Web 的。

で、まぁ自分のサイトにコレをどう適用するかなんだけど。このにっきを含む文書ネタ系のページなら:

  • 著作者クレジットの記載が必要
  • 二次作品の作成及び配布可
  • 商用利用可
  • ただしこれと同じライセンスを適用の場合

このあたりでいいと考えているのだけども。問題はイラスト展示ページとか同人誌ページとか、そっち。公開物品そのものが二次著作なモノたち。それこそ、一時著作の側でこの Creative Commons でライセンス形態が明示されてないと始まらないとゆー。

しかし、パロディ系まんが同人方面の二次著作ってのは、誤解を恐れず言えば、その二次著作パロディという法的グレーゾーンについて、元権利者の側においては、個々の案件に対応するだけのコスト的問題やパロディシーンの盛り上がりが商業的にペイバックをもたらす事などから「黙認」 or 「あえて触れない」の形を取りつつも、法的なクリア性を表だって問われたら「不許可」を言い渡さざるを得ない…てな姿勢の事が多い。で、同人屋側もあんましグレーゾーンをハッキリ明確にされたくないというか、明確にされていない事への甘えが大きいって事もありの。つまり双方がグレーゾーンに相互依存しちゃってて「そっとしておいてくれ」みたいな雰囲気も(笑)。しかしそういうグレーを明確に白と黒へ線引きするものの一つがこの Creative Commons だったりするわけで。…ちょっち手におえないッス。


Copyright © 1998-2006 ALIMIKA SATOMI/NYAN-NYAN-HANTEN.