トップ 最新 追記

2005-11-01 [長年日記]

_ Safari 2.0.2 が Acid2 をパスするらしい

Acid2 Test合格」 ("Mac OS X 10.4.3リリース", /.-j)

Acid2 以前にいろいろ変な挙動をする(当然のように Konqueror と違う挙動を見せるし)のは直らないのかなぁとか思っていたりするんですが、OS X でブラウザネタと言ったらねこめしにっきを読めば何か有益な愚痴が書いてあるに違いないと思い、久しぶりに覗いたらべんとうにっきとかよく分からない面白い状態になってた。

うーん、今いちばんこの辺をチクチクやってる人は誰だ。いなくなったか?

[2005-11-03 追記] きたきた(笑) Safari 2.0.2 が Acid2 test をパスしたとか言っているが

Tags: Tool Web

2005-11-02 [長年日記]

_ blog本文の文字サイズの話

古川ブログで行間まで含めてようやく落ち着いたようだ。

が、今度は石田優子さんのコメントで「多くの人にとって大きすぎて読みにくい」というものがついた。

この話は奥が深いが、基本的には

  1. 本文のサイズは「紙」のサイズによって決めるのが原則*1
  2. Web の場合は「紙」に相当するウィンドウサイズ、モニタサイズなどの条件が多様すぎて見せる側で設定するのは困難を極める
  3. だからユーザーの設定を尊重する

のが「正解」だと思うのだが、こういう結論に達することのできないデザイナが大半なのだろうことは容易に想像がつく。というか、そういう人たちの頭の中では、Web がインタラクティブなメディアであるという意味の中に「ユーザーが自分でコントロール可能」という項目は入ってないんじゃないかなぁ。だから

  • ユーザーの環境に最大限に対応できるようにいろいろな調整を行う*2

という発想になるんじゃなかろうか。

自分はデザイン性を強く前面に出したいという明確な意図がない限り、ユーザーの設定にそのまま従い、本文を 100% として他の要素はすべて相対的に決めるのがインタラクティブなメディアとしての Web 的にはスマートな解だと思っている。少なくとも通常の blog でそれ以上を求めるのは行き過ぎだろう。画像などピクセル単位で決める必要のある要素があるのは認める。それはしかし現時点での限界というだけで本質的な問題とは異なる。*3

「多くの人にとってサイズが大きすぎる」のは確かに事実かもしれないが、だからと言ってそれを基準にするのは短絡的に過ぎるのではないか。そんなもん「IE のデフォルトサイズ変えて」って言えばいいんじゃないのか*4と思う。このサイズだって絶対のものじゃないんだから。そもそもお膝元でコメントしてるんだし、個々のサイトで苦心するよりもよほど効果が大きい。

まぁ、現時点でのサイト側の現実解としては、フォントサイズ無指定も環境に応じてバリバリに変化するのも、両方間違っちゃいないんだろうけど、必要以上に高機能化を求める方向だけは、みんなが幸せに向かっているようには自分には思えない。ブラウザが無限に増えるのは明らかなのだから、ブラウザ別にあれこれ調整を行うのがコストに見合う作業とは思えないし、ユーザーにとっても新しいブラウザ(携帯の新機種でもいい)を使い始めたときはあちこちで不便な思いをすることになりかねない。

※ この話はタイポグラフィーの本を最近チェックしていた、元DTP界住人の otsune さんの見解も気になるところ。

と思ったらその石田さんのところで「紙媒体から学ぶもの」というエントリが追加されていた。導入部はいいんだけど、やっぱりコンテンツとサイト運営の話にすっ飛んでしまっている。デザインについて現実的な落としどころをどう論理的に導きだしているのかちっとも分からないのが歯がゆい。だったらなぜデザインについてサイトに意見するのだろうか。そこが見えてこないのだ。

工場出荷時の設定のまま使っているのが大半で、大半の人にとって文字が大きすぎる、これは問題だと思うのであれば、やはりサイトが個々に文字サイズを調整するよりも IE のデフォルト文字サイズの変更と文字サイズに関する UI の変更を、少なくとも Microsoft には言うべきじゃないのかな。そのうえで「現状ではサイト上にも文字サイズ変更のボタンなどを用意するのが望ましい」という意見であるなら、まったく異論はない。*5しかしそういうことは言わずに今回の件に触れてフォントサイズについて意見を述べられると、なんだか変だという印象がどうしても拭えない。(石田さんの興味がフォントサイズなんかではなくアクセシビリティ、ユーザビリティであることは承知のうえです。情報大工 ML も読んでます。)

で、話は戻るがそういう諸々の部分を抜きにして紙と Web では環境が違いすぎて上っ面のデザインなど参考にならないって一言で言われても腑に落ちないんだよなぁ。どこに主眼を置いているのかよく分からない。サイトの側で対処すべきこととソフトの側で対処すべきことがごっちゃになっているように読めてしまう。

Tags: Web

*1 今ごろ気づいたが、私は書籍をイメージしていたので、「紙」と言っても新聞や雑誌が最初に想起される場合はこの前提は成り立たないな。

*2 ユーザーの環境の配慮はするが、ユーザーの設定の尊重はしないという意味。

*3 現時点でも JavaScript と CSS を組み合わせればサイズ調整は可能だし、Opera の拡大縮小は画像も追随する。以前この日記で SVG なら云々という話を書いたこともある。

*4 だってシステム全体のフォント設定に対して不自然に大きすぎるもの。仮に当時、Netscape の時代と違って IE の時代はモニタサイズも大きくなるからフォントサイズはもっと大きい方が適切だ、と判断したのだとしても明らかに大きすぎる。デフォルトサイズ自体が間違っていると判断するのはそんなにおかしな話じゃない。

*5 クッキーに覚えさせればそのユーザーにとってちょうどいいサイズが常に再現できて万々歳だ。

本日のツッコミ(全5件) [ツッコミを入れる]

_ otsune [この件に関して言えば ・ブラウザのデフォルト設定は欧文発祥なので、日本語を表示するには行間が狭すぎる (アルファベッ..]

_ wtnabe [なるほど。ちょっと難しくなりますが、自分の抱えているもやもやのヒントになりました。 ちなみに今回の自分の視点では実..]

_ wtnabe [自分の理解のために書き直してみます。 ・デフォルトのフォントサイズがユーザーの環境で大きく(あるいは小さく)見える..]

_ wtnabe [デフォルトフォントサイズについては古川さんご本人は IE の問題として認識されていますね。MacIE での破綻なども..]

_ otsune [IEのmediumの解釈が「medium」という言葉からすると変だから、workaroundとして本文をfont-s..]


2005-11-04 [長年日記]

_ 早い話がグローバル変数なんか使ってんじゃねぇぞ、と

yohgaki's blog - PHPの現行リリースに重大な脆弱性(PHP4.4.0以下、PHP5.0.5以下)

一部それだけじゃないんだけど、

  • register_globals
  • $GLOBALS[]
  • import_request_variables()

ともグローバルスコープの変数を使うという段階でイマドキどうなんだそれ、という話なわけで。

  • スーパーグローバル変数を使って
    • validation を通過したものをローカル変数に入れる
    • あるいはローカル変数に持ってきてからでもちゃんとチェックする

っつ−手順を踏んでから使えと。グローバル変数はとにかくどこで何が起きるか分かんねーんだから、そんなもん使うなと。とりあえず E_ALL で書けと。

Tags: PHP

2005-11-05 [長年日記]

_ クリアな問題点を確認する

アジャイル実践者インタビュー(1) − @IT

―― 昔のやり方とアジャイルとで比べると、違いはありますか?

角谷 昔のやり方では、問題があったとき、「誰のせいなのか」「どこで処理するか」という話になることが多かったです。要求エラーか実装エラーかを判断できませんでした。いまは実装のエラーはほとんどなく、考慮しない使い方とか、そういう部分がエラーになっています。

―― するといまの方が問題は明らかな感じですね。

角谷 そうですね。「あーそれは考慮してないわ」「それは伝えてないからね」というような(笑)。

猪狩 伝えたものは大体テストされます。こちらが思い込みで伝わっているというのがあったりするけれど、思い込みで伝わらないところはウォーターフォールでも伝わらないだろうし。それに自分が想定していないならそれを設計するのはできません。要求ミスはいままでとあまり変わらないかなと。イテレーションごとに議論して問題や新しい使い方を見つけ出すことができています。最初に書いて出しちゃうとレビューしたってそんなには見つけられません。

これ大事。

何が問題なのかを明らかにするプロセスをばっさり省略できるってデカイ。

※ 引用と本文の比率的には著作権法に反したエントリになってしまった。


2005-11-07 [長年日記]

_ OSX で system() が返す status がちょっと変

system() でプログラムの外部のコマンドを呼び出すとします。このとき、呼び出しの成否をステータスコードで取得できる…のですが、

成功失敗
Linux1127
OSX 10.3.9(Darwin 7.9.0)0127
OSX 10.4.3(Darwin 8.3.0)0127
FreeBSD1127

になってて、1 を期待してたら何が起きてるのか分からずに困った。

Manpage of SYSTEM を見ると 127 の方で判断すりゃいいみたいだけど、そういうもんなのかな。ちょっとびっくり。

Tags: Tool Apple

2005-11-08 [長年日記]

_ よーしパパ6系にしちゃうぞ

4 を引っ張ってきましたが、

cvsup 不要っていいなぁ。HTTP でアップデートできるっていいなぁ。

jail が楽になるのもいいなぁ。

いいなぁ。

問題はいつやるかだな。とりあえず決心はした。

Tags: Unix

2005-11-10 [長年日記]

_ GUI だけが便利なんじゃないよね

10 分で作る Sledge アプリ

面白かったけど、せめて terminal は 2枚開いてエディタでも色分けさせておけばもう少し「よーし俺も」と思う人いるかも。作業スペースが一つしかなくてエディタを毎回起動して終了して、って流れはさすがに使いにくそうに見えるので、これを見ても Windows べったりの人は「うわーやっぱ Unix なんか使えねー」って思うだろなぁ。

なんてことを OS X で terminal 2枚開いてそれぞれで screen を使いながら Emacs を使ってるオレが思いましたよ。

※ ほとんどリモートで作業してるんだけど

あとで気づいたけどこれ、screen 使ってるじゃん。まーでも screen で window 切り替えなんてやったら、使ってない人には何が起きているのかそれこそ理解不能だな。

Tags: Tool

_ 長年日記を有効にしてみた

人が読んでもまだそんなに変な気持ちにならないだろうと思えるレベルのWeb日記を書き始めて3年経ったっぽい*1ので、tDiary の機能の一つである「長年日記」を有効にしてみた。長年というほど長く書いてないんだなということが実感できた。なんだかビミョーな気持ち。

Tags: Tool Web 日々

*1 厳密には来週辺り


2005-11-12 [長年日記]

_ IP Messenger for Eclipse

SourceForege.jp のプロジェクトページ

へー。

eclipse は一時試したけど全然使ってないんだよな。でも同じプロトコルでやりとりできれば嬉しいことは…そのうちあるかもしんない。現状でその可能性はゼロだけど。

Tags: Tool Net

2005-11-13 [長年日記]

_ PStore のバックアップがなくなっていた。

たまたま ruby-lang.org のリファレンスを見ていたら 1.8.2 以降はPStore のバックアップファイルが自動的に削除されるようになったらしい。ほー。

今まで tDiary を使っていて、cache の中に大量の *~ ファイルができるのがなんだかなぁと感じていた。まぁ自分は Emacs 使いなので、自分でも *~ ファイルは日々大量に生産しているわけだけれども。これがなくなると。ローカルのバックアップを確認すると確かに *~ のある月とない月が混在している。いいじゃないの。

手元のも 1.8.2 用のリファレンスだったはずなんだけど、更新されたのね。よしよし 2005-10-29 版が最新か。ではありがたくゲットさせていただきます!

Tags: Ruby

2005-11-14 [長年日記]

_ Xen て比較的新しくないとダメなのね

仮想化技術の大本命「Xen」を使ってみよう (@IT)

実験用の古い機械に Xen を使えば気軽にいろいろできるなーと思ったけど、ちょっとまずげ。(P6 すら満たさない機械を使うなというご指摘はごもっとも。)

Tags: Sysadmin Xen

_ 日本人と英語

Re:気持ちは判るが ("No More "Sorry Japanese Only" Documents", /.-j)

日本人は自分たちが思っているよりも英語が分かっているというくだりや、日本人が周囲にいると貝になるなどの指摘は興味深い。

伝えようという強い意思を生むのはやっぱまず衣食住ですかね。と思ったら、ぎゃー

regist という英語は無い

ごめんなさいごめんなさいごめんなさい。今の今まで、regist が存在するかしないか、調べたことがありませんでした。ってゆーか、register って書いてあるのを勝手に脳内で regist って変換してました。思い込んでました。

もうしません。もうしません…。

Tags: ことば

_ 初めての FreeBSD 6

ports を入れるまでにいきなりつまづいた。

  1. 普通にインストール
  2. /usr/ports がねぇ! ぷちパニック!
  3. 落ち着いて su して portsnap fetch
    • でかい。36MB って。
  4. やっぱり /usr/ports がねぇ! portsnap update って打ったら先に portsnap extract しろと言われる
  5. portsnap extract って打ったら /usr/ports がねぇって怒られる。
  6. mkdir /usr/ports して portsnap extract で ok

ちょっとビビった。

Tags: FreeBSD

2005-11-16 [長年日記]

_ aamall.jp ネタ

続・ネタでデザインを依頼してみる。

こちらの環境では

MacIE恐らく想定通りの描画
Firefox背景と本文がずれる
Safariずれるうえに黒系の背景じゃなくなる
Opera8.5たぶん想定通りの描画

になります。Firefox も Safari も知らんと。そんなものは認められんと。

Tags: Web

_ 初めての FreeBSD 6 その2

/boot 

なんかすげー膨らんだな。きちっと確保しておく。

カーネル再構築の新しい方法うまくいかず

Building and Installing a Custom Kernel

なんでかな。まぁ今まで通りのやり方でできるんだけど。

カーネルいじるときは Linux は楽だなーと思う。FreeBSD もずいぶん変わってきてるみたいだけど、まだイマドキな方法ってやつがよく分かっていない。

ぎゃーす

ThinkPad X20 に入れたら立ち上がらねぇ。

No /boot/loader

FreeBSD/i386 boot
Default: 0:ad(0,a)/boot/kernel/kernel
boot:
No /boot/kernel/kernel

ジオメトリ周りで警告が出ていたのでそれくさいと思いつつ、ダミーの DOS パーティションとか作ってもうまくいかないので悲しくなる。このレベルになると急に弱くなるワタシ。あーちくしょう。

[2005-11-27 追記] 膨らんだ /boot のサイズと Linux をちょっとかじったおかげで、「/boot は小さめの別パーティションの方がいい」と思い込んでいたのが原因。/boot を別パーティションに分けずに / パーティションの中にそのまま作らせたらうまく起動した。浅はかだったか…。

ま、何はともあれこれで自宅サーバを 6.0-RELEASE にクリーンインストールで移行できる。もう一度書いておこう。FreeBSD では /boot パーティション作るな。(作って成功してる人も見かけるんだけどね…。)

Tags: Unix

2005-11-17 [長年日記]

_ ダメなメール

大学教員の日常・非日常:迷惑は体験させてやる

subject や書き方に気を使っていないメールを大量に受け取るという事態がどういうことか分からせる演習。スバラシイ。

が。

全文引用は容認しちゃうのか。残念だな。*1

Tags: Tool Net

*1 コメント参照


2005-11-18 [長年日記]

_ samba と netatalk

ここ数日 samba3 & netatalk2 の実験中。(FreeBSD 6 はこの絡みで動かしている。)なぜって、NAS がある理由でまともに使えないから。どうせなら自分で起こせた方が今後も融通が利いていいかもしんない*1と思い、実験を開始。

netatalk って基本はシステムべったりなんだ。システムアカウントと、Unix 系の伝統的な permission で運用できる*2ってことは、実は自分みたいな古い頭の人間にはこの方が楽かもしんない。*3

samba は高機能なのとシステム自体にあまり依存しないようにできているので、ユーザーの情報を別に管理しなくちゃならないし、考え方がメンドイ。開発チームやユーザー数の規模が違うのでツールやドキュメントは圧倒的に samba の方が充実してるけど。

というか、インストール記事よりも本当にほしい実際のユーザー管理や権限管理のノウハウとかそういう話って、Web 上にはないもんだなぁ。保存しておいた雑誌記事にもない。みんな何の苦労もなく使えているんだろうか。あるいはここが本当にお金になる部分だから表に出てこないとか。

Tags: Tool Net

*1 もちろん善し悪しなんだけど

*2 できそうってだけで実は間違ってるかも。

*3 ユーザー情報を汎用なものにするためには PAM 経由で切り離す。

_ 半日以内…

textfile.org 経由で 半日以内に仕上げないといけない仕事があるとします。

にも書いたんだけど、

  1. 〆切りが延ばせるかどうか確認。延ばせないなら無理をする覚悟を決める
  2. 無理をすると必ず反動がくるんで、〆切り後のスケジュールを確認
  3. 本当に眠くてだめな瞬間を見計らって小一時間仮眠
  4. 起きたらモカなどのカフェインを入れる
    • ちゃんと事前に薬局などで入手しておく。医薬部外品はほとんど効かないので注意。

ですかね。数日くらいなら連続運用は可能。なはず。最近やってないから自信ないけど。

目覚ましなどで必ず起きることができるという保証が必要ですが、この辺は人によりけりでしょう。

あ、そもそも頑張って半日以内に終わるものなのかどうかって確認が必要ですな。頑張っても無理そうならまったく別な方法を考えるしかないでしょう。

Tags: Web
本日のツッコミ(全2件) [ツッコミを入れる]

_ otsune [>というか、インストール記事よりも本当にほしい実際のユーザー管理や権限管理のノウハウとかそういう話って、Web 上に..]

_ wtnabe [これ書いたあとにやっぱり『Samba のすべて』を Amazon でポチっとしました。ぼやくばっかじゃしょうがないで..]


2005-11-19 [長年日記]

_ 何かの拍子に文字が入らなくなる

OS X を使っていて、何かの拍子に通常の文字入力に利用するキーが入らなくなるという症状にハマることがある。そんなにしょっちゅう起きるわけじゃないから放置しているんだけど、なんだか気持ちよくない。2台使っていて2台ともで起きるので機械に固有の問題じゃないと思う。

通常の文字入力には使わないキーの組み合わせなので command + tab なんかは普通に使える。でも command + q はできない。いちばん困るのは emacs -nw で作業しているときで、こいつはどうすることもできずに terminal ごとお亡くなりになっていただくしかない。remote で screen 使ってれば auto detach の恩恵に預かれるが、local だとどうしようもない。emacs だから自動でどこかに保存されてるさーと思ったときに限って文字化けしていて復旧できなかったりする。*1

なんだろ、これ。PowerBook + 10.3.x + ことえり固有の問題なのか、OS X では漏れなく発生しうるのか。ちなみに、アプリは問わず全体的に入力できない。NumLock の on/off とも関係ない。つかどうにかこの状態を脱出できないものか。今のところログオンし直せばいいってのは分かってるんだけど、前述のように emacs -nw のようにマウスで保存作業を行えないアプリのデータを殺したくない。短ければマウスでコピペできるかもしんないけど、そんな軟弱な方法やだ。

Tags: Tool Apple

*1 w3m + Emacs という組み合わせで、ファイル名を明示的につけずに作業していたりするのがいけないんだろうけど。

_ まこと先輩は高橋さんだ

第2回 誰でもWeb管理画面に入れる気前のいい会社 ("星野君のほのぼのWebアプリ改造計画", @IT)

このいつも不在の不良社員高橋さんこそがまこと先輩の正体なのだ! スパハカはこの中に居る!

……。

というかこの会社、それなりに Web アプリやセキュリティを知っているその同僚や先輩がシステム組めばいいのに、何やってんだとか思うのはダメですか。

まぁ Web の場合は見た目ばっか気にされるので中身ぐちゃぐちゃってのはよくある話ですが。しかし新人の星野君はローカルの実験環境で Perl + DBI + ほげほげな環境をよく再現できたな。慣れ親しんでいたのは PHP じゃなかったのか。@IT のこの手の連載に出てくる新人君は何も知らないくせにアプリのセットアップとか使い方への習熟とか尋常じゃないスピードでスキルアップしていく、すごくアンバランスな人材がいっぱい出てきてビビる。

サーバ上には、「Admin」以外にも「test」「old」などという名前のフォルダがたくさんあった。おそらく、バックアップなどの目的で置いているのだろう(※1)。

from 2ページ目

の辺りは懐かしすぎて涙が出ますねー(棒読み)

Tags: Security Web

_ 技術の必要性を現場が分かってなきゃどうしようもないというか

切込隊長BLOG(ブログ) - 本当に技術が必要とされる現場にgeekがいない

へー。

普段読んでないんだけど、面白い。

まぁ geek とかそういう言葉を持ち出さなくても、技術の分かっている人がいないと不幸を生むというのは、今の世の中あちこちにあるわけで。でも利益を生むかどうか分からないから技術者を飼っている組織ってやっぱ多くはないわけで、必要になったときにレベルの低い(競争のない世界にレベルの高い業者がいるわけない)外注に丸投げしてダメダメなシステムが導入されてものすごく生産性が落ちたりするわけですな。

証券取引所とか空港関係みたいなシステムだと落ちると目立つけど、毎日何度も不調になったり、メンテナンスしてもちっとも性能が改善されないとか、あげくクライアント側が固まりまくってどうにもならなくなるようなシステムは田舎には実はゴロゴロしてたりしなくもないわけですよ。使いものにならないシステムで恐ろしく生産性の低い仕事をイライラしながらこなしている人は不幸だなと思いますが、実際には内部に技術の分かる人が少しでもいれば、これはおかしいとかもっと早い段階で気づけて、最悪の現状を回避することはできていたような話だったりします。言い方は悪いけど自業自得って言うかね。

なんか話の軸がずれちゃったけど、みんな多少は技術者飼っといた方がいいと思いますよ、という話、なのかな。普通の待遇でたまたまパソコン詳しいから兼務、とか、せめてそういうのはヤメロ。

アジャイルの話を Web で眺めているのは嬉しくて楽しくてとても気持ちがいいけれど、現場のひどさはアジャイルの三世代くらい前というか、なんだ、HDD やオンラインが当然の今の時代に tape read error 頻発みたいな、そんな悲惨な状態を想像してちょうどいいくらいの、それでもそれをおかしいと気づけない、あるいは気づいててもどうにもならないと諦めているような人たちがイライラと毎日を過ごしているような、そんな感じだったりします。おわり。あ、自分とこの話じゃないです、念のため。聞いた話ね、あくまでね。


2005-11-21 [長年日記]

_ listupgrade 20051121

portversion の出力じゃバージョン番号が分からなくてイヤんなので、かたくなにそれっぽいツールを自作してるという自己満足に浸るオレ様がきましたよ。

1年前の自分と比べると、

  1. 短いのにクラスとか使っちゃって OO かぶれのつもりかこの野郎
  2. でも短いメソッドに分解できて読みやすくて嬉しいわ
  3. ブロックを使って while を書かなくなった
  4. portversion と組み合わせた方が portupgrade -an 一本槍より少しは速かろう

の辺りに成長が見られるでしょうか。FreeBSD + portversion + portupgrade な環境にべったり依存したスクリプトなので使ってない人は華麗にスルーしてください。

#! /usr/bin/env ruby
# -*- ruby -*-

if ( (`which portversion`.chomp.size < 1) or
       (`which portupgrade`.chomp.size < 1) )
  abort "You need to install portupgrade first !"
end

puts "Have you executed PORTSNAP or CVSUP recently ?"
puts "Please wait for a while."

#
# Manipulating Upgradable Ports
#
class UpgradablePorts

  def initialize
    @needupgrade   = Hash.new()
    @pkgdb_correct = false

    make_list()
    store_versions()
  end # of new()

  #
  # List up upgradable ports with 'portversion' command
  #
  # without version detail
  #
  def make_list()
    open( '| portversion' ).each { |line|
      if ( /^([^\s]+)\s+\</ =~ line )
        @needupgrade.store( $1, false )
      end
    }
  end # of make_list()

  #
  # Storing two version infos, current installed one and latest one
  # with 'portupgrade -n' command
  #
  def store_versions()
    @needupgrade.each_key { |port|
      open( '| portupgrade -n ' + port + ' 2>&1' ).each { |line|
        if ( /Upgrading '(.*)' to '(.*)'/ =~ line )
          @needupgrade.store( $1, $2 )
        elsif ( /Listing the results/ =~ line )
          # This line will appear if portupgrade terminate normally.
          @pkgdb_correct = true
        end
      }
    }
  end # of store_versions()

  #
  # Output result
  #
  def output()
    if ( @needupgrade.size > 0 )
      maxlength = 0
      @needupgrade.each_key { |portname|
        if ( portname.length > maxlength )
          maxlength = portname.length
        end
      }

      @needupgrade.keys.sort.each { |port|
        if ( @needupgrade[port] != false )
          printf( "%-*s --> %s\n", maxlength, port, @needupgrade[port] )
        end
      }
    elsif ( @pkgdb_correct == true )
      puts "All ports are up-to-date ! Congratulation !"
    else
      puts "Something wrong with ``pkgdb'', maybe ? "
    end
  end # of output()

end # of class UpgradablePorts

#
# main()
#
list = UpgradablePorts.new()
list.output()
Tags: Tool

_ New www.freebsd.org's font-size is too small !

日本語版も順次移行してるみたいなんだけど、

  • Normal Text って CSS では font-size: 69%
  • Large Text でも font-size: 93%

何考えてんだ。

Tags: Web
本日のツッコミ(全5件) [ツッコミを入れる]

_ typer [>portversion の出力じゃバージョン番号が分からなくて portversion -vで大体同じ結果が得られ..]

_ wtnabe [orz これを元に up-to-date の行を削った方がはるかに速いですね。しかもチョー初歩的なフィルタで済むし。..]

_ typer [えーっと、整形したい病の方に奨めると禁断症状がでるかも知れないオプションに"-L ="とかあったりして(笑)]

_ wtnabe [な、なんて半端な…。整形してやる!]

_ TrackBack [http://aligach.net/diary/20051123.html#p01 あーありがち [Tool]li..]


2005-11-23 [長年日記]

_ listupgrade 20051123

めっちゃシンプルになりました orz

改めてこれは何かってことを書いておくと

  1. FreeBSD の ports で、新しいバージョンが出ているものを
  2. オレ的美観で過不足なく美しく出力してくれる*1

そんなツールです。今回のバージョンは、

  • portversion と awk に依存するようになりました*2
  • awk なのに行末に ; がついているのは Emacs の awk-mode の挙動に合わせたからです
  • pkgdb に矛盾がある場合とかはとりあえず考えてません
#! /usr/bin/awk -f
# -*- awk -*-

BEGIN {
  num    = 0;
  maxlen = 0;
  while ( "portversion -v" | getline ) {
    if ( $3 !~ /up-to-date/ ) {
      num++;
      item = $1;
      if ( length( item ) > maxlen ) {
        maxlen = length( item );
      }
      ver = $7;
      sub( /\)$/, "", ver );
      port[num]   = item;
      latest[num] = ver;
    }
  }

  for ( i = 1; i <= num; i++ ) {
    printf( "%-*s --> %s\n", maxlen, port[i], latest[i] );
  }
}

好きにいじって好きに利用してくださいライセンスで。

Tags: Tool

*1 portversion の出力のままだと、いっぱいインストールしてあったときに邪魔くさいし

*2 awk は base に入っているので実質 portversion だけ


2005-11-24 [長年日記]

_ samba と netatalk その2

ユーザー管理を具体的にどうするかはとりあえず置いておいて、グループに分けてアクセス権限を設定して使うって形についてはだいぶつかめてきた。今のところシステムアカウントべったりでテストユーザーを作って同じものを pdbedit でも作っているような状態なので、このまま大人数の管理はできないけど。*1

いま気になっているのは

  • apple double のリソースフォーク ._* ファイルが Windows から見えて気持ち悪い

ってこと。これは

  • Mac からは必ず afp で接続する
  • Windows の Explorer で隠し属性ファイルを表示しない

のどちらかが成り立っていれば問題ないんだけど、実際そんな状況ではないので、どうしても Mac の smb 接続が作った ._* ファイルが Windows から見えるという事態に。

Mac OS X 10.4: ネットワーク接続時に .DS_Store ファイルの作成を抑制する方法(アップル - サポート - TIL)

によると .DS_Store の生成は抑止できるみたいだけど、リソースフォークの保存を抑止する方法はないのか?

Samba で veto files にドットファイルを入れればそりゃ見えなくなるけど、それやると Mac から smb 接続でファイルを操作する際にエラーが出て、なおかつファイル本体の操作は正しくできるというとても気持ち悪い状態になる。preexec で新規接続のたびに ._* を削除するとかふざけたことも思いついたが、さすがにそんなことはできないよなぁ。

Tags: Tool Net

*1 これについては FreeBSD の pw を使って Linux の newusers 相当のスクリプト書いて、さらにそれを利用して pdbedit と newusers の両方を叩く wrapper 書けば両方で同じノウハウが使えるな、とかちまちま考え中。なんか無駄骨っぽいけど。newusers はしょせん登録だけだし、pw の Linux 版があればいいのに。


2005-11-25 [長年日記]

_ netatalk2 で Finder からパスワード変更できない

環境は FreeBSD 6.0-RELEASE + netatalk 2.0.3 + 各種パッチ(netatalk2.0.3のcjk patch ports にさらに non-ascii-volume patch を当てたもの)。もちろん afpd のインスタンスは -setpassword になっている。クライアントは OS 9 でも OS X でも一緒。

変更できたようなフリはする。ログ*1では

Nov 25 09:26:42 afpd[720][auth.c:905]: I:AFPDaemon: password change continued.
Nov 25 09:26:42 afpd[720][auth.c:896]: I:AFPDaemon: changing password for <USERNAME>
Nov 25 09:26:42 afpd[720][uams_dhx_pam.c:159]: I:UAMSDaemon: uams_dhx_pam.c :PAM
: PAM Success
Nov 25 09:26:42 afpd[720][auth.c:905]: I:AFPDaemon: password change succeeded.

って言ってるんだけど、実際には変更したつもりのパスワードで認証は通らない。つか /etc/pam.d/ に netatalk とか afpd とかないのに全然エラーが出ないけど、こういうもんなんだろうか。くそー PAM がよく分かってねぇ。

しかし手順は必ずしも分かりやすくないけど、パスワード変更の UI があったり、ゲストとしてのアクセスも明示できたり、afp の方が全体的にちゃんとしてる気がする。smb の方はどっちも明示できないから何が起きているのかイマイチ分かりにくい。認証を通過したら、そのユーザーにアクセス権限のある共有フォルダだけ見えるってのも afp の方が親切な感じ。

とりあえずパスワード変更については別なアプローチもある*2ので、別な実験へと進むことにする。失敗記録を書いてツッコミ待ち戦法。

Tags: Tool Net

*1 netatalk はログを設定で on/off できないのが痛い。ports で入れた netatalk はログを吐かないので build し直しちゃったじゃないか。K6-2 350MHz なのに!

*2 現状では smbpasswd からシステムアカウントのパスワードも同時に変更しちゃえば afp の方でもパスワードは変わるわけだから、それ用のインターフェイスをどうにか用意すればいい。まぁパスワードの変更をさせないっていう判断もなくはないんだけど、それはあんまりやりたくない。

_ netatalk on nfs

NFS でマウントしたディスクを共有フォルダとして Netatalk で扱う。ロック周りでエラーを吐きまくり、

  1. ドラッグしてファイルを放り込むのはエラーメッセージつきで可能
  2. 削除は不可能

という状態。(Samba の方も一部面白くない挙動をするが、削除できないとか致命的なものはない。)

こりゃ困ったな。nfs マウントして netatalk を走らせてる機械が設定しているつもりの permission は関係ない模様。やっぱ無理だったか? netatalk 側で CNID scheme だのあれこれいじったりしてみたけど、どれも無関係っぽい。nfs のバージョンはひょっとして関係あるかーと思ったけど確認の方法が分からない。

[2005-11-26 追記] 解決

これとは別にもう一つ、アクセスできていたはずの共有フォルダをなぜかマウントできなくなるという現象が発生し、試しに新しくフォルダを掘って共有掛けたら確実に再現するという事態に陥っていたが、両方解決した。

  1. Berkeley DB を利用する .AppleDB/ は NFS 上に置かない
    • .AppleVolumes.defalut でマウントポイントごとに dbpath: を使ってローカルのファイルシステムにデータベースを置くようにする
    • Berkeley DB を NFS で使うなという話は リポジトリの作成と設定(Subversion のドキュメント)にとても分かりやすく書かれています
  2. nfs mount の際に lock しないオプションを利用する
    • Linux なら nolock, FreeBSD なら -L を利用する。これでとりあえずファイルを操作する際のエラーは止まり、通常通りにファイルの生成、削除が行えた。
    • これはこれで何か問題が起きそうな気はするが、負荷を上げた際にどうなるかは今後の課題ってことで。
    • NFS サーバ側の動作によって違うかもしれない。まぁ何か不都合が起きたときにはここを疑う価値あり、程度に解釈すればよい。また、lock がないなんて気持ち悪すぎる、という向きにはファイル共有用の領域だけロックが外れるようなパーティションの切り方をすればまだマシかと。

基本的なことを自分が分かっていなかっただけとは言え、NFS の上で netatalk を動かそうなんて人はいないのか全然情報がなくて困った。

Tags: Tool Net

2005-11-29 [長年日記]

_ afp on nfs は nfs 直書きより速い感じ

全部書くのはしんどいのでポイントだけ。

  • PowerBook -- AppleShare IP(afp) が PowerBook -- NAS(afp) より倍くらい速い
  • PowerBook -- NAS(nfs) は、PowerBook -- NAS(afp) の半分くらいしか出ない
  • FreeBSD 6.0 で NAS を mount_nfs したうえで netatalk で afp を提供すると、PowerBook -- netatalk は PowerBook -- NAS(nfs) より速く、さらに PowerBook -- NAS(afp) よりもひょっとすると速いかも
  • PowerBook -- NAS の接続では afp > smb >> nfs

出てくる機械は

FreeBSD 6.0
Pen3 600MHz + 320MB
NAS
VIA C3 800MHz + 256MB
AppleShare IP
PowerMac G3(Blue & White) + SCSI で、そんなすげー速いってことはないはず
PowerBook
PPC G4 1.5GHz + 1.25GB

※ FreeBSD マシンと NAS のディスク周りはあんまり変わらないか、NAS の方が速い。

afp on nfs の構成は、実際のディスクに到達するまでに nfs を経由するデメリットもなくはないんだろうけど、クライアントから直接見える機械の性能にそんなに差がない場合はその違いは気にならない。afp を提供するマシンが K6-2 350MHz + 192MB + Laneed NIC だったときはものすごく遅くなって焦った。逆に afp を提供するマシンがすごく速い場合ってのは実験してないので分かんない。

※ nfs mount の option をあれこれいじってもそんなに影響はなかった。ネットワーク構成的には afp on nfs の afp を提供する機械とクライアントの PowerBook が同一 HUB、サーバの NAS と AppleShare IP が同一 HUB に繋がり、間にはあれこれ挟まっているという構成なので、そんなにきっちり計測できてまへん。

Tags: Tool Net