Skip to main content

ログ取得ツール

雨

この部屋に引っ越してきてから初めて雨が降った。さすがにけっこう音がした。前と違って屋根の下だからなぁ。
# あ、前は屋根の上に住んでたわけじゃありません

宗教の利用方法

菜食主義勧める「聖母マリア」看板に反発、ボストン教区(cnn.co.jp)。

ローマ・カトリック教会のボストン教区は23日、動物愛護団体「PETA」が、死んだにわとりを腕に抱いた聖母マリアの広告看板を掲げていることに抗議、即時撤去を求めた。

あまり趣味の良い話ではないように思うが、政治に利用することもできるし、これのように変な運動(失礼)に利用することもできるし、商業利用もできるんだよなぁ、宗教って。犯罪にも使えるし、便利なものだ。この便利さが人類最大の発明と言われるゆえんか。 今回初めて知ったのが、菜食主義者と動物愛護団体が結びついていたこと。なるほど、言われてみると親和性は高そうだが、これまで別個のものだと思っていた。確かに、動物愛護人がウシやブタをぱくぱく食うわけにもいかない。 菜食主義者については、なぜ植物だけは食っていいと考えるのかがわからないところ。単に好き嫌いで食わないってわけでもなさそうだし、ウンコを匂わないようにしたい一心ってわけでもなさそうだし、恐らく思考としては、 細胞が細胞壁で守られていたりやたらに葉緑体を飼っているような生物は腹を切って食われるべきだ!(by 某イエス) …みたいな感じ? 彼らは他の(人間以外の)肉食動物については別に悪しき存在だとは思ってないような気もするし、そのへんをどう折り合いをつけているのか。 あと、どこが限界なのかもちょっと気になるね。卵やミルクはOKなのか? ダメ? 昆虫(イナゴの佃煮とか)は? プランクトン的なもの(アミ類とか)は? そのへんの微妙な違いでいろいろ流派があったりするんだろうな。

日本にはまだ刀を持った侍が暮らしている

「まだ刀を持った侍いる」 京観光通訳 増える無資格ガイド(yahoo.co.jp)。うわー。

京都市の観光地を訪れる外国人ツアー団体の中に、日本の通訳案内資格を持たないガイドを付けているケースが増えている。

日本にはまだ刀を持った侍が暮らしているんだって。…「刀剣友の会」のことか? とりあえず侍や忍者は住んでるかもしれないけど刀はもう持ってないってガイドさんに教えてあげてほしいよ。あと我々は基本的に寿司と刺身はどちらかを毎日食ってます。ハラキリも比喩的にしかしませんのでよろしく。

PDAは消えゆくか?

国内のPDA市場、大幅に縮小——27%減の50万台(nikkei.co.jp)。

ガートナー・ジャパン(東京・目黒)は25日、2003年のPDA(携帯情報端末)国内出荷台数が前年比27%減の約50万台とする見通しを発表した。同時に発表した今年上半期(1—6月)実績は法人市場が前年同期比4.3%減だったが、個人市場は同26.7%減と大幅に落ち込んだ。市場回復に向けては企業需要の喚起がカギとなりそうだ。

PDA流行らないのかな。手軽にメモを書けていいんだけど、電話とかに押されてんのかな。私のまわりではPDAユーザはけっこう多いのだが。

Rioの秘密…ってほどでもないが

Rioのjarファイルだが、いくつかのクラスにpublic static void main(java.lang.String[]);がある。 多くはテスト用だったりするようだが、いくつかは実用的なものだった。

com.rio.rmmlite.ChooseRmmlOrTaxi
標準のmain。RMMLかTaxiを選択する。
com.rio.rmmlite.easteregg.KarmaVsiPod
Rio KarmaでiPodを撃墜するゲーム。
com.rio.rmmlite.RmmlMain
RMMLiteを直接起動する。
com.rio.rmmlite.TaxiMain
Taxiを直接起動する。

他にも、引数を与えればそこそこ動作しそうなmainもあるし、直接関数を呼んでけばもっと簡単なコマンドラインインタフェースが作れるかもしれない。 (追記) 2003-12-26 10:55 一番やりたいのはプレイリストの管理で、要はxmmsのプレイリストをexportしたいのだ。ついでにファイルがアップロードされてなければアップロードしたり、PC側のファイルが更新されていたら更新してくれればありがたい。

経営者よ、歌を歌おう

プロバイダ責任制限法ではプロバイダの責任は制限されない!(ben.li)…うーん。

カラオケボックス 歌っているのは経営者 マイクを持って客は聴くのみ

日本のカラオケ屋さんにおいて、裁判所的には客は決して歌っておらず、経営者が歌っていることになっているらしい。経営者も大変だな。…という話でもないけど。

readlinkのメモ

readlinkコマンドはシンボリックリンクを辿り、リンク先を表示する。しかしこのままではファイルへのパスとして妥当なものにならない。 こういうときはdirnameと組み合わせればよい。


  # 実際のファイル名を出力する
  D=$(dirname $i)
  L=$(readlink $i)
  if [ -z "$L" ] ; then
    echo $i
  elif [ -z "$D" -o "$D" = "." -o $(echo $L | cut -c 1) = "/" ] ; then
    echo $L
  else
    echo $D/$L
  fi

しかし、これでは「../」などが残ってしまう。そこで、こういう感じのを噛ませる。sedでパターンマッチだけでやろうとしたがなかなかいまいちになったのでPerlを登場させてしまった(不覚)。


  echo $1 | \
  perl -ne '
  @a=split("/");
  for($i=0; $i<=$#a; $i++){
    if($a[$i] eq ".." & $#b!=-1 & $b[$#b] ne ".."){
      pop(@b);
    }elsif($a[$i] ne "."){
      push(@b, $a[$i]);
    } 
  }
  print join("/", @b)."\n";'

だいたい実際のファイル名が得られる。厳密ではないと思うけど。 組み合わせると、以下のようになる。しばらくこれで使ってみようと思う。なんかでもバグってるかも。 #! /bin/sh delete_parent(){ echo $1 |
perl -ne ' @a=split("/"); for($i=0; $i<=$#a; $i++){ if($a[$i] eq “..” & $#b!=-1 & $b[$#b] ne “..”){ pop(@b); }elsif($a[$i] ne “.”){ push(@b, $a[$i]); } } print join("/", @b)."\n";' } delete_parent_old(){ O=$1 while [ “$S” != “$O” ]; do S=$O O=$(echo -n $S | perl -pe ’s|/([^./][^/]+)/../|/|g;s|/./|/|g;s|^[^./][^/]+/../||g;’) done echo $O } for i; do D=$(dirname $i) L=$(readlink $i) if [ -z “$L” ] ; then echo $(delete_parent $i) elif [ -z “$D” -o “$D” = “.” -o $(echo $L | cut -c 1) = “/” ] ; then echo $(delete_parent $L) else echo $(delete_parent $D/$L) fi done /bin/shとは書いたものの、素のBourne Shellでは無理だろうな。bashなら動くようだ。 勿論これだけの操作では1つしかリンクを辿らない。また途中のディレクトリにシンボリックリンクがあってもそれは辿らない。指定されたファイル名のみについて1つ辿ってそれらしいファイル名を返す、というものだ。 絶対パスにしたければ、先頭文字が/でない場合に先頭に$PWDをつければよい。いじょう。

totoの運命は?

<toto>売り上げ、販売開始01年の3割に(yahoo.co.jp)。やはりな。

サッカーのJリーグを対象にしたスポーツ振興くじ(toto)を運営する日本スポーツ振興センターは24日、03年シーズンの販売概況を発表した。売り上げ総額は202億7613万7500円にとどまり、前年約408億円の半額となった。
(中略)
同センター企画運営課は「02年の投票方法変更で当たりづらくなったことが、03年も影響した。totoGOALも当たりづらいと敬遠されているようだ。販売促進策を検討しているが、具体的には決まっていない」と話している。

このまま先細りかもしれない。どうなるのかなぁ。 私はtotoが開始された頃にしばらくずっと買っていたが、2年目くらいかな、totoGOALが始まる頃に買うのをやめた。それは当たりにくくなったからではない。 わかりにくく、ちょっとセコいなこいつ、という雰囲気を感じたのだ。例えば同じ試合を複数回のtotoの対象にして発売回数を水増ししてて、そのセコさ以上に非常にわかりにくくなって混乱した。あるいはJリーグの日程が変わって土曜開催から土日開催に変更され、当たりの確認がしづらくなった。土曜の試合で外れてればあとは放っておくしかないし、土曜は当たっているにしても日曜の夜にまた確認しなければならない。テレビで見られる試合も少ないのでとても不便になった。あるいは水曜日の試合はどうにかしてほしいとずっと思っていた。おまえら、週末の試合の舌の根も乾かぬうちにtotoの〆切が火曜日で、それを買えと言うのか?? みたいな。あるいは引き分けの判定。途中から延長に入ったら引き分けと見做すようになった。これはこれでいいけど、じゃあ引き分けをなくしたらどうか、とも思う。立ち上げで混乱するのはしょうがないけど、totoの場合は度を越していた。 totoとは関係ないけどJリーグにもシステム的な問題があってわかりにくさの一因となっている。J2は90分で引き分け、J1は延長Vゴール。J1は前期後期でホームorアウェー(半期で1回ずつしか当たらない)。J2は年間でホームandアウェー。J2は年間順位のみ(これが正しい方法)、J1は優勝は半期ずつで前期後期で同じチームだったら完全優勝、異なったらチャンピオンシップ。そして最下位(入れ替え)はなんと年間順位で決める…という統一性のなさはどうか。これはシステムの正しさとわかりやすさよりも興行収入を重視したやり方だ。チャンピオンシップやりゃ客くらい入るだろう的なこの場当たりな感じ。ファン/サポーターを見ていない。1年で一番勝ったチームがなんで年間優勝じゃないのか、みたいな理不尽さもある。前期後期で独立した順位は、ホームとアウェーで不公平が出るしね。 それと、前期後期のホームorアウェーは一見盛り上がるように見えるが、実はそうではない。優勝を決めるのに15試合しかなく、引き分けもあるので、優勝するにはだいたい3敗くらいまでしかできない。今季は稀に見る混戦だったが、優勝チーム(横浜Mおめでとう)は7勝5分3敗だった。そのため、序盤で3敗したチームはあっさり優勝が消えて、J2落ちかそうでないかしか興味がなくなる。年間なら6敗できるし、「順位」という目標も生まれる。今は順位が2つあって、どっちの順位を見ていけばいいのかわからん。 メディアも結果を伝えるのに苦労しているし、視聴者もこのわかりにくさに困っている。いま自分の応援しているチームはどういう状態なのか。よくよく見なければわからないというのはかなりフラストレーションが溜まるのではないか? 優勝争いの行方は半期の順位を見て、J2落ち争いの行方は年間順位を見る。どちらでもないチームは2つの順位を見比べて自分に都合のいいほうを採用する…これってどうなん? 同じ試合やってるだけなのに順位が2つあるなんて、少なくともプロ野球でこれをやったらファンは怒ってそっぽを向くだろう。サッカーファンは忍耐強いからまだ見てあげているけど、システムの不備がファンを減らしたことは間違いない。私は熱烈にサッカーが好きというわけではなく、テレビでやってれば見ながらよさげなプレーに声を上げ、そしてビールを飲もうとする程度なので深い考えがあるわけでもないのだが、もうちょっとシンプルにできるのでは、と思うのだ。 あと、得失点差という要素もなくしていいんではないかと思う。勝敗だけでいいじゃん。勝負事は勝つか、負けるかでしょ。サッカー上、何点差をつけたかなんてのにどういう意味があるのか。それに、延長がある時点で得失点差という尺度は不公平になる。 話をtotoに戻すと、totoとしては、ギャンブル性が教育に良くないからどうのとかいう議論を捨てて、ボクシングのオッズみたいに(日本じゃやってないけど。っていうかボクシングだけじゃないけど)普通のスポーツ系ギャンブルを全部解禁してしまってもらいたい。試合ごとにブックメーカーがオッズをつけて試合会場とかで売るのね。それはずっと思っているんだけれども、実現可能性は低いかもね。でも、興味のない試合まで予想しろというのは苦しいよ。totoくらいに対象試合が多いと、賭けたほうを応援する気にすらなれなかった。

network的なしゅうしょく活動

久々のプログラミングねた。 Cの型で、unsignedとかsignedってあるじゃん。あれと同じような感じでnetworkっていう修飾できないかなー、なんて思ったりして。 つまりネットワークバイトオーダーを修飾子としてつけたいわけだ。 IA32 endianなアーキテクチャの場合(big/littleどっちか忘れたけどたしかlittleだったような気がするな)、


network int a_n;
int a=1;

a_n=a;

printf("a_n=%d, a=%d\n", a_n, a);

の場合は微妙だがprintfが型変換しないとして、

a_n=16777216, a=1

と出力され、printf("a_n=%d, a=%d\n", (int)a_n, a);の場合は

a_n=1, a=1

と出力される。つまりhtonXやntohXをキャストだけでやってほしいわけ。htonlでも戻ってくるのはint(long)であって、処理しているものがどっちのバイトオーダーかを判別するくらいコンパイラがやってくれても罪にはなるまい。ネットワークバイトオーダー型のままで四則演算したいこともあるしさ。キャストでbyteswapが勝手に走る。64bitのntohll(だっけ? FreeBSDのnetinet/in.hにはあったような気がするがLinuxのにはない)がない処理系でも問題がなくなる。いいことずくめだ。 これは別にCじゃなくてもいいけどね。C++ならクラスとして書けるか。しかし中身のないクラスになるだろうな。むしろテンプレートかな。