トップ «前の日記(2008-04-12(Sat)) 最新 次の日記(2008-04-14(Mon))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2008-04-13(Sun) 晴のち雨

ランダム再生

42曲のどれか。
多分ランダムになってる筈。

#!/bin/sh
DIV=43
function rand () {
  RA=`echo ${RANDOM} % ${DIV} | bc`
  if [ "$RA" -eq "0" ]; then
    rand 
  fi
}
 
while : ; 
do rand 
   ogg123 -d au $RA.ogg -f - | aplay  -
   sleep 5
done

tb.rb

移行後に(前から?)tdiaryの直下にコピーするのを忘れていた。
今日になってやっと対応。
でも、トラックバック受信を有効にした途端に猛烈なspamの嵐。
これじゃ ^httpなメッセージのreject(tdiaryにおいては、トラックバックの 受信拒否になるみたい) を外す気にはなれないなぁ。

$ grep TrackBack 200801.tdc | wc -l
77

鯖のsshd

ようやく5.0p1に上げた。

ランダムって何なのさ。

回数解析

さっきのランダム再生スクリプトから、関数randだけを 切り出し、10000回実行してみた。
要するに、何番めが多く再生されるか、である。

この場合、2番めの曲は81回(0.8%)しか再生されず、 41番めの曲は551回(5.5%)も再生されている。うーむ。

ついでにもう一発。

回数解析-2

もう一度やってみたが、あまり変わらない。
もう少し均等再生(全部が約2.4%の割で再生される)できそうな 仕様も考えたが、実装が まだ思い付かないので、ここまで。

思いつかなかったが、コピペ。

回数解析-3

ぐぐってるうちに、 JMのページに出た。以下、引用。

<引用>
RANDOM
    このパラメータが参照される度に、 0 から 32767 までの ランダムな整数が生成されます。 RANDOM に値を代入すると、 乱数の列を初期化できます。 RANDOM を unset すると、この 変数の特殊な性質は無くなります。後で再び set しても元には 戻りません。
<引用/>

毎回rand()の中で、RANDOM=$RANDOMとやってみる。

#!/bin/sh
 
DIV=43
function rand () {
  RANDOM=$RANDOM
  RA=`echo ${RANDOM} % ${DIV} | bc`
  if [ "$RA" -eq "0" ]; then
  rand 
fi
}
 
rand
echo $RA

で、同じく10000回。を2回繰り返す。

若干均等に近くなった(最大297(3.0%)、最小145(1.5%))が、特定の曲の 再生回数が毎回少なめな点は、あまり改善できなかった。

それにしても、画像の縦寸法がまちまちなのも、なんとかせねば。

caeser(6)

$ echo VAX | caeser 1
WNT
本日のツッコミ(全2件) [ツッコミを入れる]
takanyon (2008-04-14(Mon) 11:30)

randomの種にrandomから入れたものしか入れなかったらあまり意味がないと思います。せめて時間とかそのあたりを入れないと...。

kuzu (2008-04-14(Mon) 17:03)

なるほど。$RANDOMにnanosecondを入れてみました。<br>かなり平均的な感じになりました。ありがとうございます。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。