コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2006年5月21日 >>> 2006年4月24日
link もっと後

2006年5月21日

フリーフォントの中でIPAゴシックは、抜群の品質なのですが、ビットマップフォント部分(9と12ポイント以外入ってない?)に弱点があって、どうも画面表示には適していないように思います。
ああ、アンチエイリアスなんていうボロボロの文字をボケさせて誤魔化す(MacとかMacとかMac)品質放棄技術はやめてください。ディスプレイのような低解像度だとうっとおしいです。

現在Linux上でMSゴシックを使っていますが、それに代わる画面表示用フォントは無いものかと探してみました。ビットマップフォントの有無ってなかなか書いていないので、唯一情報が得られ、値段も手頃だったNECのFontAvenueとCanonのFontGalleryを購入しました。

ところが使ってみると、一部で異常に字が小さくなったり、ポイント数の大きい字が崩れるなど、あまり芳しくありません。オープンソースには全く縁の無いはずのMSゴシックがもっとも綺麗に表示されるあたりが皮肉ですね。
開発者たちはフリーフォントなんて使ってなくてMSゴシックでデバッグしているとしか思えません。そんな邪推もしたくなるような結果です。

やはりMSゴシックを超えるものは無いのかなあ…。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月20日

常総市にあるきぬの湯に行きました。一回も行ったことないのに現地集合は厳しいっす。でも見たことあるような建物だったような気もします。これが既視感?

走っているときに青看板を見ていると、相次ぐ合併のせいか見慣れない地名が増えたなあと思いました。そういえば新しい市はなぜに平仮名?愚民は漢字も読めないとでも言いたいのか。以下、ひらがなの街の例。

  • つくば市(1987年、桜村、谷田部町、豊里町、大穂町、1988年、筑波町、2002年、茎崎町)
  • ひたちなか市(1994年、那珂湊市、勝田市)
  • かすみがうら市(2005年、新治村、霞ヶ浦町、千代田町)(5/23訂正: 新治村、霞ヶ浦町ではなく新治郡霞ヶ浦町でした)
  • つくばみらい市(2006年、伊奈町、谷和原村)

データは都道府県市区町村からのものです。
筑波市、常陸那珂市、霞ヶ浦市、と書くことに何の問題が?ああ、つくばみらい市はどう書いても終わってるので、大人しく伊奈市に変更すべきだと思います。

夜はダーツの予定でしたが、取りやめて結城邸で飲み会をしました。ストリングチーズを齧って食ったら、そんなの邪道だって。ど、どう食べたって良いじゃないですか。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月19日

雨だったので車で研究学園まで行って、電車に乗り、ドコモミーティングへ向かいました。帰りはせっかく区間快速を待って乗ったのに、寝過ごしてつくば駅まで行っちゃって、向かいに居た区間快速で戻る羽目に。ああ、時間無駄にしたわー…。
TXは秋葉原で区間快速を待つより目の前の快速に乗ってつくば駅に行き、区間快速で1駅戻る方がスムーズかもしれません。でも完全にキセル行為なので、やらないほうが身のためかな。

帰りに研究室に寄ったら、川崎君が、Wine上でGyaoを見るんだと言って頑張っていました。果たして成功したのでしょうか?

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月18日

セミナーで発表しました。結構あっさり終わってしまって、つくづくドコモへの出張で頑張っておいて良かったと思いました。
研究室内のネットワークをどうするかなど話し合いましたがあまりまとまりませんでした。以下、覚えている限りの議事録です。

アドレスについて
  • クラスAプライベートアドレス
    学内無線LANの tsunamiが配っているアドレスとぶつかる。
  • クラスBプライベートアドレス
    よりベターな解決策かもしれない。欠点はなじみが無くて覚えづらいことか?
ブリッジするレイヤ
  • レイヤ2
    ブリッジやポートVLANなどで、同一サブネットにするとDHCPサーバが一つしか置けず、そうなると必然的に研究室内のネットワークからインターネットへ向かう出口が一つになる。
    帯域を共有するのは大した問題ではない。コネクションを張りまくる(P2Pアプリケーションなど)と、ルータのNATテーブルが溢れ、不安定になる問題が現在より頻発する。
  • レイヤ3
    ルータ - ルータ間のVLANを行う、今までと同じ。インターネットへの出口は複数になる。サブネットが変わるのでブロードキャストが届かない。
    たとえばSMBはブロードキャストでマシンを検出するので、違う階のマシンには届かずマシンが見えなくなる。困るのがSMBだけならWINSサーバを置くという手もある。
編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月17日

研究室のゼミの後に、明日のシス情セミナーの発表練習を行いました。ドコモへ出張したとき、発表会で使った資料をかなり流用したので、それなりにまとまっております。勢いでそのネタを研究会に発表することになりました。う、頑張らねば。

研究室にあるマシン(IDE HDD 2台)でRAID 0を構成して測ったら、なんと書き込み64MB/s〜72MB/sという脅威の性能を発揮しております。
我が家のサーバの場合はUSB接続だから遅いのと、妙にCPUを食うのが気になるけど、廉価RAIDだしこんなもんかな?次回作では複数のUSBカードを使うことや、外付けSATA接続などが良さそうですね。

Xenepicは昨日の発見した引数のままで今日もログイン可能なようです。HanGameアカウントのパスワードに関係の無い数値なので、この数字が漏れたら一巻の終わりじゃね??うへーうへーうへー…。

榮樂氏に「benchってナニ?」って突っ込まれたので、補足。benchはwrite速度を測るプログラムです。Linux 2.6専用と書いてあるのは、2.4系のDirect I/O(O_DIRECT)のアライメント制限を考えて書いていないからです。
一応、手元のLinux 2.4で試したら ext2はOKなのにext3でコケるからおかしいと思ったら、どこかのMLでカーネルのバグなんじゃね?という記述が見受けられました。

ホントかいなと思ってカーネルのコード見たら、fs/ext3/inode.cではstruct address_space_operationsのdirect_IOメンバに値を入れないため、O_DIRECTを指定して読み書きしようとした時点で失敗しEINVALが返ります。
バグというより、元々ext3はO_DIRECT使っちゃ駄目みたい…。なぜかはわかりませんけど。

benchのソースコードを下に貼っておきました。ヘッダや、エラー処理は省略しております。

書き込み速度計測bench.cpp for Linux 2.6

int main(int argc, char *argv[])
{
  int fd;
  size_t size, bufsize, wsize, pos;
  unsigned char *lpalignbuf;
  struct timeval tv_start, tv_end, tv_past;
  char *lpc;
  size_t i;

  if (argc < 4) {
    printf("usage: \nbench filename size bufsize\n");
    return 0;
  }
  
  //サイズを得る
  size = strtol(argv[2], &lpc, 10);
  bufsize = strtol(argv[3], &lpc, 10);

  //Direct I/Oモードでファイルを開く
  fd = open(argv[1], O_RDWR | O_DIRECT);
  lseek(fd, 0, SEEK_CUR);

  //アラインメントをそろえたバッファを生成、乱数で埋める
  posix_memalign((void **)&lpalignbuf, 512, bufsize);
  for (i = 0; i < bufsize; i++)
    lpalignbuf[i] = rand() % 256;
  
  //測定を開始する
  gettimeofday(&tv_start, NULL);
  //乱数を書き込む
  for (pos = 0; pos < size; ) {
    //書き込むサイズ
    if (size - pos < bufsize)
      wsize = size - pos;
    else
      wsize = bufsize;

    //書き込む
    write(fd, lpalignbuf, wsize);
    pos += wsize;
  }
  free(lpalignbuf);
  close(fd);

  //測定を終了する
  gettimeofday(&tv_end, NULL);
  tv_past.tv_sec = tv_end.tv_sec - tv_start.tv_sec;
  tv_past.tv_usec = tv_end.tv_usec - tv_start.tv_usec;
  while (tv_past.tv_usec < 0) {
    tv_past.tv_usec += 1000000;
    tv_past.tv_sec -= 1;
  }

  //結果表示する
  printf("time: %13d.%6d[sec]\n"
         "speed: %f[MB/s]\n", 
         tv_past.tv_sec, tv_past.tv_usec, 
         (double)size * 1000000 / (tv_past.tv_sec * 1000000 + 
         tv_past.tv_usec) / 1000000);

  return 0;
}
編集者:すずき(2009/01/24 16:20)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月16日

5/9のスクリプトをシェルスクリプトにして、検索結果リストのムービーを保存できるようにしました。その際再生ページのタイトルをファイル名に使います。ファイル名がIDだとまるで意味がわからなくなるので。
落とした .flvファイルのプレーヤは Media Player Classicとffdshowのコンビが良いです。拡大縮小も、シークも自由自在です。たまに再生開始時に数秒固まりますけど、落ちたりはしないようです。

Xenepic online(運営はHanGame)というゲームを始めてみたのですが、Ragnarok Onlineのパクリというか…。まあそのおかげで取っ付きやすいですけどね。ただ起動しただけではだめで、IEでいちいちHanGameにログインしないと遊べないようになっています。非常に面倒くさいです。

どうやって普通の起動と区別しているのか、下のプログラムをXenepicと入れ替えて引数を調べたら、変な数値とHangame IDを指定して起動していました。ちなみにその引数を渡すだけで普通にログインできます。作りがいい加減ですね…。
数値はパスワードのハッシュかと思ったのですが、パスワードを変えても不変でした。日付とか時間か?

引数表示

#include <stdio.h>
int main(int argc, char *argv[])
{
  for (int i = 0; i < argc && argv[i] != NULL; i++) {
    printf("%d: %s\n", i, argv[i]);
  }
  getchar();
}
編集者:すずき(2006/11/27 23:18)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月15日

昨日作成したRAID0+1の書き込み性能を測定しました。
やはり3台もつないでミラーリングするとかなり遅いです。

USB HDD 3台によるRAID0+1の性能
$ ./bench ./a 102400000 262144
loop: 391
time: 4.812052[sec]
speed: 21.279903[MB/s]

速度の見積もりはUSBバス帯域を480Mbpsの7割とし、データがストライピングで完全に三等分になったとして、
336/3*2=224Mbps=28MB/sです。
見積もりと実測値がかなり離れているので他にオーバヘッドがあるのかもしれませんが、不正確を承知でもう2台追加した場合を計算すると、
336/5*3=201.6Mbps=25.2MB/sです。
このようにバスに余裕がない状態でミラーリングすると、ディスクを増やしただけ書き込み速度が下がります。

ちなみに RAID0のみならディスクを増やしても速度が落ちる心配はありません。バスの飽和まで速度が上がるはずです。まあ、あまり増やしても分散書き込みの処理のオーバヘッドが増えるだけですけどね…。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月14日

外付けUSB HDDでSoftware RAIDを構築する全ての方へ。
※私自身よくわかってないので、間違いなどあるかもしれません。ご指摘は大歓迎です。

LinuxではUSB Mass Storage(USB HDDやUSBフラッシュメモリ)をSCSIエミュレーションによりあたかもSCSIデバイス(sda, sdb, ...)であるかのように扱います。ところがどのSCSIデバイスに割り当てられるかが不明瞭で、ただ差し直しただけで対応が入れ替わったりします。/dev/sdaがどのデバイスと関連付けられるかは、やってみるまでわからず、これではとてもRAIDを構築できそうにありません。

USBデバイスを固定する(?)方法としてudevがあります。scsiバス上にある(エミュレーションなのでそう見える)「○○社」製のデバイスなら、usbhdaに割り当てる、などの設定が可能です。区別に使える情報はudevinfoというプログラムで得ることができます(udev使うなら /sys以下の情報(sysfs)が必要かも)。

udevinfoの使用例
# aptitude install udev

# udevinfo -a -p /sys/block/hda
(... 略 ...)
follow the class device's "device"
  looking at the device chain at '/sys/devices/pci0000:00/0000:00:1f.1/ide0/0.0':
    BUS="ide"
    ID="0.0"
    DRIVER="ide-disk"
    SYSFS{drivename}="hda"
    SYSFS{media}="disk"
    SYSFS{modalias}="ide:m-disk"

たとえば ○○社製のhogehogeという名前のHDDが一台だけある、という環境でしたら、以下のように書くことができます。/etc/udev/rules.d/ 以下に .rulesで終わる名前のファイルを適当に作ります。例ではlocal.rulesとしています。
モデル名は大抵スペースが入っているので、udevinfoで確認することをお勧めします。

udevのルールの例
BUS="scsi", SYSFS{model}="hogehoge   ",  NAME="sda%n", SYMLINK="usbhda%n"

NAMEならデバイスファイルが、SYMLINKならデバイスファイルではなくシンボリックリンクが作られます。%kという文字列を指定すると、カーネルが作成したデバイス名(sdaとかですね)に置換されます。詳しくはudevのドキュメントを見てください。

ところがこれで解決しない場合があります。私のように同じメーカーの同じ製品を2台使っている場合です。USBの機器にはシリアル番号を提供するものもあり(私の所持するIO-DATA製の外付けディスクなどがそう)ますが、SCSIエミュレーションのデバイスが提供してくる情報からは得られず、全く区別がつきません。

そこでLinux 2.6で最近登場した ubを使います。カーネルをリコンパイルしてubを有効にします。そのさいusb-storageドライバとSCSIエミュレーションによる方法は勝手に無効化されます。たぶん…。
私の環境ではカーネル構築だけDebian流にやってません、ご容赦ください。

ubを有効にする(Linux 2.6.16)
# cd /usr/src/linux
# make menuconfig
(Device Drivers -> Block devices -> Low Performance USB Block driver)
(.configならCONFIG_BLK_DEV_UB = yにする)

再起動すると /devの下にubaとかubbというブロックデバイスができていると思います。このデバイスに対してudevinfoするとIDという項目があると思います。これはおそらくUSBバス上の物理的なポートの位置ではないかと思います。

ubの情報
# udevinfo -a -p /sys/block/uba
(... 略 ...)
follow the class device's "device"
  looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1:1.0':
    BUS="usb"
    ID="1-1:1.0"
    DRIVER="ub"
    SYSFS{bAlternateSetting}=" 0"
(... 略 ...)

差し替えたり、抜いてみたりして観察してみた限り、IDは私の環境では同じポートに接続する限り不変な値のようです。この性質を利用して区別します。
先ほどのlocal.rulesに対して、以下のように書きました。

IDで区別するudevルールの例
BUS="usb", ID="1-1:1.0", NAME="usb1-1_hd%n"
BUS="usb", ID="1-2:1.0", NAME="usb1-2_hd%n"
BUS="usb", ID="1-3:1.0", NAME="usb1-3_hd%n"
BUS="usb", ID="1-4:1.0", NAME="usb1-4_hd%n"
BUS="usb", ID="1-5:1.0", NAME="usb1-5_hd%n"
BUS="usb", ID="1-6:1.0", NAME="usb1-6_hd%n"

これでmount /dev/usb1-1_hd1 /mnt/usb1-1-1などとすると、ポート1に接続されているデバイスの先頭パーティションをマウントできます。
肝心のポート1がどれなのかは、実際に機器を接続してudevinfoをして調べます。私にはIDを調べるうまい方法がわかりませんでした。ごめんなさい。

外付けUSB HDDでSoftware RAIDを構築する全ての方へ。
※しつこいですが私自身よくわかってないので、間違いなどあるかもしれません。ご指摘は大歓迎です。

Software RAIDについては、先日(2006年5月7日参照)紹介したので mdadmの使い方、cat /proc/mdstatの意味など基本的なことはそちらを見ていただくとしましょう。
さて、当方の環境ですが /homeを担っていたhda7とUSB HDD 3台でRAID 0+1を構築し、/homeにマウントしようと思います。容量は160GB(RAID1)+160GB(RAID1) のストライピング(RAID0) で320GBとなります。信頼性と容量が今までの倍になるわけです。そのぶんHDDが4倍ですが…。

まずはRAID1を2つ作成します。RAID1をいきなり作ってしまうと、ディスクの同期処理が始まり何もできなくなるので、いったん縮退モードで作成してデータのコピーを済ませ、その後ディスクを追加します。

RAID1アレイを二つ作成
# mdadm --create /dev/md0 -l1 -n2 missing /dev/usb1-1_hd

# mdadm --create /dev/md1 -l1 -n2 missing /dev/usb1-3_hd

次に2つのRAID1をまとめるRAID0アレイを作成します。この構成はRAID1+0と呼ぶのかもしれませんが、ここでは一貫してRAID0+1と呼びます。
RAIDを作成するときデバイスファイルがないと言われたら、-aを付けてください。

RAID0+1アレイを作成
# mdadm --create /dev/md3 -a -l0 -n2 /dev/md0 /dev/md1

間違ってmd2ではなくmd3にしてしまいましたがそのままいきます…。/proc/mdstatを見て作成されたかどうか確認します。確認したらmd3をreiserfsでフォーマットします。

アレイの確認とフォーマット
# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid5] [raid4] [raid6]
md3 : active raid0 md0[0] md1[1]
      317127104 blocks 64k chunks

md1 : active raid1 ubc[1]
      156290816 blocks [2/1] [_U]

md0 : active raid1 uba[1]
      160836416 blocks [2/1] [_U]

unused devices: <none>

# mkreiserfs /dev/md3
(... 略 ...)

ブート時に自動的に構成されるように /etc/mdadm/ にある mdadm.confにRAID構成の設定を保存します。

アレイの設定を保存する
# cd /etc/mdadm
# echo DEVICE /dev/usb* /dev/md* > mdadm.conf
# mdadm --detail --scan >> mdadm.conf

# cat mdadm.conf
DEVICE /dev/usb1-1_hd /dev/usb1-2_hd /dev/usb1-3_hd /dev/md0 /dev/md1 /dev/md3
ARRAY /dev/md3 level=raid0 num-devices=2 UUID=bxxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxx2
   devices=/dev/md0,/dev/md1
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=0xxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxx9
   devices=/dev/usb1-3_hd
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=9xxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxx7
   devices=/dev/usb1-1_hd

catした結果を見るとmd3, md1, md0の順番でスキャンされています。このままで良いはずなのですが、私の環境では md3の設定を一番後ろに書かないと、起動時にコケてしまいます。md3がmd0とmd1に依存しているからかなあ?よくわかりません。
データをコピーして、再起動したらディスクを追加します。同期処理にしばらくかかるので放置しておきましょう。

アレイにディスクを追加する
# mdadm --manage /dev/md0 -a /dev/usb1-2_hd

# mdadm --manage /dev/md1 -a /dev/hda7

mdadm.confの設定を更新するのもお忘れなく。あとはfstabを修正して再起動してみて、動作を確認したら終わりです。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月13日

大下さんとジョイ本へ買い物に行きました。教育実習に使う教材を作るためだそうで、製本テープや、画用紙だとかを買っていました。真面目にがんばってるなあ。

RAID5を構築する準備をしようと思い、USB接続のハードディスクを2台と、1つのバスに3台つなぐのはちょっと心細いから、USB 2.0のカードも買いました。
家に戻って「早速増設じゃー」とケースを開けたら、空きスロットが PCIバスじゃなくてAGPバスだった…。せっかく買ったのに使えないよorz
空きスロット=PCIバス?という思い込みで確認し忘れました。安い拡張カードだったのが命拾いですね。次回作サーバへの準備ということにしておきましょう。

中身はI/O製がHGSTの160GBでBuffalo製がWDの160GBでした。そんなことより、Buffaloの電源に台湾製のしょぼいコンデンサが刺さってます。HDDの近くで結構熱くなるし、まさか連続運用半年でアボーンなんて設計じゃないよね…?

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月12日

榮樂氏の代わりとして臨時TAに行きました。Coinsはリプレースの影響で未だに超不安定らしいですよ。Macなんかにするから…なんてね。普段はたった一時間で2〜3台止まって当たり前だとか。今日は技官さんが今朝リブートしたからきっと大丈夫だよ、なんて言っていたおかげか特に問題ありませんでした。
自分は2学期にTAの予定ですが、はっきり言ってこんなシステム上でやりたくないぞ。

塚原氏と晩御飯食べに行きました。土浦の李厨房には学生割引がありますが、K'sの奥にある李厨房はどうだったろう?今度行った時に聞いてみようか。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月11日

走ると白煙が上がるらしい塚田氏の車、とうとう修理することにしたそうです。今日、塚田氏が修理屋さんに預けに行くというので榮樂氏とともについて行きました。代車はRAV4でした。毎回違う車が出てきてつくづく面白いお店だと思います。
乗ってみて感じたのは RAV4の加速がかなりイイ!ということです。我が家のFTOと同格の2000ccなのにこうも違うのは、以下の違いがあるからです。

  • FTOは最高速重視で(馬力高:200馬力)の高回転エンジン(低回転:トルク小、高回転:トルク大)
  • RAV4は加速重視(馬力低:155馬力)の低回転エンジン(低回転:トルク大、高回転:トルク小)

これは馬力(仕事率)=トルク(力)×回転数(速度)という関係を考えるとわかりやすくなります。

式を見ると、高回転エンジンなら馬力が上がることがわかるかと思います。さらに同じトルクなら、低回転域で出すより高回転域で出した方がより最大馬力が稼げるわけです。
スポーツカーと呼ばれる車ならば、上記の最大馬力を稼ぐ設計をするはずです。

一方、街乗りに使う車はブン回すと燃費が悪い、うるさいなど悪影響が多いため高回転域は不要です。そのため低い回転数で良い「加速」を得る必要があります。そのための工夫点はエンジン設計者にしかわかりませんが、とにかく高回転域を犠牲にしてでも、低回転域でのトルクを稼ぐ設計にします。
セダン、ミニバン、SUVなど便利な車は、トルク重視の設計をするはずです。

これを逆転させてしまうと、初めだけ速いけど伸びが悪くて遅いスポーツカーや、思い切り回してナンボのモタモタセダンなどになってしまいます。これはきっと物好き以外には売れないでしょう。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月10日

ドコモの二次面接に向かいました。会場がなんとキャピトル東急という驚愕の高級ホテル。ホテルを目の前にして「これが二次面接の会場とはご立派だなあ」と感心しつつ控え室に居た人と話していたら……ハイ、ナニ、なんだって?
こ れ が 最 終 面 接 ?
おいいいいいい、そんなの聞いてねえよ!

思えば、人事の人「次の面接に進んでいただきたくご連絡を」としか言っていませんでした。それを早合点してじゃあもう一回あるんだと思ったのが悪かったです。うう、でも最終なら最終って言って欲しかったよ。
最終でもどんどん落とすと噂のドコモなのに、相当しどろもどろになってしまい、今日の面接は自分が面接官でも絶対落とすわーって思いましたね。向こうも呆れている感じでしたね。さよならドコモ。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月9日

近藤君と志村君が香辛飯屋の挑戦カレーに挑みましたが、残念ながら負けました。前見たやつと違って、野菜が入っているところがうっとおしいようです。
会計時に「割引券は一枚につき一品の値引き」と言われました。えぇ、そんなの知らないよ。チラシが一枚しかなくて本来なら2個目の挑戦カレーが値引きされないはずが、哀れに思ったのか店員さんが適当にごまかし安くしてくれました。
チラシはカラーコピーして構わないので、今度誰かやるなら頼む数だけチラシを揃えましょう。

車から加給音のような変な音がします。無論、ターボなんぞないので、エンジンのどこかが詰まって鳴っているのかもしれない。また壊れたのか…!

YouTubeのムービーURLを生成するスクリプトを書いてみました。
検索ワード(URLのword= 以降の所)を変えると検索結果も変わります。ただし、URLを生成するためにムービーを表示するページを一々読み込んでは解析して…と、やっているため結果が出るのが非常に遅いです。検索結果が多いと、数分かかるかも。イライラしてリロード連打しないでね。
時間が経つとユニークIDが失効して、ダウンロードできなくなります。そのときはリロードして新しいURLを生成してください。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月8日

ルートディレクトリのあるパーティションがクラッシュしました…。fsckするとlost+foundに全てのファイルがぶち込まれ復旧できず。これはどうしようもないってことで昨日一日使ってDebianを再インストールいたしましたよ。
Debianを触り始めた頃に付けていた必死設定メモが残っており非常に参考になりましたが、最近は面倒でメモっておらず、以前とかなり違う環境になりました。皆さん、メモは大事ですよ!

以前と変更したところというと、kinput2 + Cannaからuim + Anthyの組み合わせに変更した点と、起動がヘビーなGnome2 & metacityをやめて、IceWMだけにしたこと。VNCでしか利用しませんが、IceWMなら一瞬でvncserverが起動し終わります。ちょっと感動しました。

IceWMの設定をしているときにGTK周りのフォント設定もやったんですが、ややこしくて設定しきれませんでした。slypheed(GTK 1.0系 .gtkrcに設定)やgftp(GTK 2.0系 .gtkrc-2.0で設定)のフォントは変更できても、MozillaやFirefoxが言うことを聞きません。
原因がさっぱりなので、~/.mozilla/default/(7文字のランダム文字列).slt/chrome/userChrome.cssに(なければ作る)設定を書いてごまかしました。

userChrome.cssでメニュー等のフォントを指定
* {
 font-family: alias-fixed-iso8859-1 !important;
 font-size: 12px !important;
}

そういえば手持ちのWindows XPからコピーしてきたMSゴシックを使うのってOKなのだろうか。
きっと駄目なんだろうなー。

画面表示に使うことだけ考えるとビットマップフォントが多様に収録されているMSゴシックが優秀すぎるため、フリーのフォントは太刀打ちできません。
さらに言えば世の中に商用フォントは数あれど、画面表示用を重視したフォントは売られていないのですよ。OS標準のビットマップフォントで十分だし、フォント屋のお客さんであるDTPデザイナー達は画面表示用フォントなんて買わないからね。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月7日

現在ページのデザインを変更中です。おかしくなってる場所があるかもしれないです。日記の1日分を枠で囲うだけでblogっぽくなる気がしませんか?
トップページで日記の枠が右のメニューにめり込んでいるのは仕様です。

ソフトウェアRAID0を組み、簡単なベンチマークプログラムを走らせてみました。mkraidは古いのかDebianのパッケージになかったので代わりにmdadmを使いました。

# mdadm --create /dev/md0 -l0 -n2 /dev/sdb1 /dev/sda1
mdadm: /dev/sdb1 appears to contain an ext2fs file system
    size=277948352K  mtime=Sun May  7 18:02:45 2006
mdadm: /dev/sdb1 appears to be part of a raid array:
    level=0 devices=2 ctime=Sun May  7 17:56:47 2006
mdadm: /dev/sda1 appears to be part of a raid array:
    level=0 devices=2 ctime=Sun May  7 17:56:47 2006
Continue creating array? y
mdadm: array /dev/md0 started.

作成に成功すると /proc/mdstatに以下のような情報が追加されます。

# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid5] [raid4]
md0 : active raid0 sda1[1] sdb1[0]
      277948352 blocks 64k chunks

unused devices: <none>

通常のパーティションと同様にファイルシステムを作成します。この例ではext3ですが、好みのファイルシステムがあればそれを使ってください。

# mke2fs /dev/md0
(省略)
# tune2fs -c0 -i0 -j /dev/md0
(省略)
# mount /dev/md0 /mnt/usb_raid

1バイトずつストライピングしていては遅いばかりで性能が上がらないので、chunkという値に指定したサイズを単位としてストライピングされます。今回はchunkをいじっていないのでデフォルトの64KBになっているはずです。
そして今回用いた簡易ベンチマークはDirect I/Oを用いてファイルにランダム値を書き込みます。このとき一度にwriteで書き込む量を変化させてベンチマークを行いました。おそらく chunkの整数倍の方が性能が上がると予想しますが、さてどうなるでしょうか。

buffer[KB]  speed[MB/s]
32          23.569085
64          29.780680
96          33.003887
128         37.963501
160         36.080456
192         35.805102
224         36.681815
256         37.470814

結果を見ると128KB以上のバッファサイズであれば大した差はないようです。さすがにこの程度は考慮済みなのでしょう。
RAID0の速度は、昨日(5/6)hdparmで同時に測った値(sda=21.5[MB/s] sdb=17.0[MB/s])の和とほぼ等しいです。つまりhdparmの誤差で遅く見えたのではなく、USBは同時アクセスが苦手だと考えられます。

ちなみにディスクアレイを停止させる場合は、以下のようにします。

# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid5] [raid4]
md0 : active raid0 sda1[1] sdb1[0]
      277948352 blocks 64k chunks

unused devices: <none>

# mdadm --misc -S /dev/md0

# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid5] [raid4]
unused devices: <none>

確認のために /proc/mdstatの出力をさせました。md0が消滅していることがわかると思います。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月6日

久しぶりに作業に参加しました。久しぶりに日の光に当たったから疲れました…。

帰りに研究室によってUSBから電源供給するケーブルを持ってきましたので、先日(2006年5月3日)動かなかったポータブルHDDの動作を確認できました。これでUSBに二つのディスクが接続された環境が得られました。早速実験です。

さてRAIDを組むに当たって、二つ同時にアクセスが発生することが考えられます。そこで USB接続のディスクに対する同時アクセスは速度面で得なのか?を確かめました。まず単独で各デバイスの速度を計測します。UATA100接続のディスクhda1を比較対象として載せました。

# hdparm -t /dev/hda1
/dev/hda1:
 Timing buffered disk reads:  186 MB in  3.02 seconds =  61.51 MB/sec

# hdparm -t /dev/sda1
/dev/sda1:
 Timing buffered disk reads:   92 MB in  3.01 seconds =  30.59 MB/sec

# hdparm -t /dev/sdb1
/dev/sdb1:
 Timing buffered disk reads:   70 MB in  3.00 seconds =  23.32 MB/sec

二つのディスクのアクセス速度を加算しても、バスの帯域上限(480Mbps = 60MB/s)に達しないので、遅くならないだろうと思ったら意外にも10MB/s以上遅い結果が得られました。

# hdparm -t /dev/sda1
/dev/sda1:
 Timing buffered disk reads:   66 MB in  3.07 seconds =  21.47 MB/sec

# hdparm -t /dev/sdb1
/dev/sdb1:
 Timing buffered disk reads:   52 MB in  3.04 seconds =  17.08 MB/sec

原因としてUSBというのはそもそも、同時に複数デバイスを読みに行くパターンを苦手とするのか、それとも単にhdparmの結果が不正確なだけなのか、のどちらかが考えられます。hdparmの影響を確かめるにはDirect I/Oでファイルを書き出す程度の簡単なベンチマークプログラムを書いてみればわかるのかな?
ソフトウェアRAIDが速度にどの程度影響するのかも気になるため、ストライピング構成を使ってより実環境に近い値を測ろうと思います。まあこの程度の構成ならば影響ないと信じたい…。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月5日

大下さんと晩御飯を食べにさとまで自転車で行きました。軽いサイクリング代わりになりました。
大下さんの自転車が壊れかけでボロボロなのが気になって仕方ないです。折りたたみ自転車やアルミフレームの軽い自転車なんかも、安くて良いものが売ってるんだから、無理して修理しながら乗らないで買い換えれば良いのにねー。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月4日

USB接続の外付けHDDを買ってきました。IO-DATA製です。ちなみにソフトウェアRAIDに挑戦してみたいので、しばらく使ってみて問題なさそうならもう一台購入する予定です。
早速分解してみると、中身はHGST(日立IBM)のDeskstarでした。最近はSeagateが好きですが、別にどの会社が駄目って事はありません。あ、でもサムスンのHDDだったらちょっと入れ替えを検討したくなるかも…。
ちなみにこのドライブは HDD以外はきっと同じ部品の使いまわしで、HDDだけ簡単に入れ替えられるのではないかと予想しております。

hdparm -tで測ってみると、USB HDDは26.8MB/sとちょっと遅いです。同じマシンで使っているUATA100のディスクは60MB/s出ていました。USBが遅いのは前々から予想していたので仕方ないかな。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月3日

たぶん風邪直りました。まだ若干ですが喉が痛いです。

4/29に書いたバックアップをやろうと思って、研究室からUSB接続のポータブルHDDを拝借して動作確認をしました。ところが全く動きません。さらにHDDからカチッカチッと音がしています。
壊したか?…と思ったら実は電力不足でした。2.5インチHDD(ポータブルHDDの中身ね)を駆動するには USBのバスパワーではギリギリらしく、この手の製品は「環境によって動かない」ことが多々あります。我が家のマシンのようにバスパワーの出力が足りないと、アクセスランプだけ点くとか半端な動作をしてしまうわけですね。

ちなみにお気づきの方も居られるでしょうが、バックアップ用途にポータブルHDDは使いません。通常は3.5インチHDD(電源を別に取るタイプ)を使います。「バスパワー関係無いじゃん?」という指摘はごもっともです。

田口邸の飲み会に行きました。じょーや徳若氏と久しぶりに会った気がします。いつのまにか徳若氏はS15シルビアに乗り換えていました。徳若氏は燃費が悪くなったよってぼやいてましたが、そりゃヴィヴィオビストロ(軽自動車)と比べたらどんな車でも駄目だろう。じょーは警察学校が楽しそうでもあり、しんどそうな感じでもありました。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月2日

たぶん風邪ひいたのだと思いますが、起き上がると非常にだるいので、一日中寝ていました。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年5月1日

作業していたら、すごいだるくなってきたので寝た。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年4月30日

昨日受けてきた面接の話など。大阪でやると思っていたら、東京の会場でした。最近、交通費が嵩んでいるのでうれしい誤算。
人事面接が2回と筆記試験でした。面接は2回ともほとんど同じ内容の質問をされ、違いが良くわからなかったのですが、実は何か大事な点を見ていたのかもしれません。
前評判どおり筆記が激ムズです。問題はじっくり考えれば解けますが、時間が短すぎてままなりません。これから一年間、筆記試験のためだけに頑張ったとしても満点を取れる気がしないテストでした。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年4月29日

現在このサーバはHDD一台のみで、クラッシュしたときに絶対後悔するから、定期的なバックアップを取りたいと考えています。
本サーバは大した規模でもないし、数日に一回差分をミラーリングするだけで十分かなと思っております。そこで現在、ミラーリング用の領域を増設する方法を考え中です。

  • サーバにIDE HDDを増設する
    キューブ型PCだとHDDの熱がこもるから嫌
  • USBでHDDを増設する
    USBが遅い(最大480Mbps)
  • テラステーションなど家庭向け大容量RASを使う
    意外と高額
  • バックアップ専用マシンを使う
    装置、ランニングコストが高額

先日ヨドバシをうろうろして探してみたら、家庭向けのRASは FTPやSMBでアクセスするタイプが主流みたいです。まあ、SMBならマウントして使うという手もありますけども。
熱も速度も気にならない(レイテンシは気になる)のはネットワーク接続のディスクの良い所ですが、やはり使いづらさが目立ちます。 妥当なのはUSB接続のディスクでしょうか。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年4月28日

ドコモのミーティングに行った後、アキバのヨドバシでふらふらしていたら、研究室の新入生歓迎会に遅刻しました。あちゃー。

ソニーの給料が高いのは本当かと思って、有名どころの電機メーカー、SI系と比較できるリストを作りました。
数値はYahoo! FINANCEで調べ(たぶん四季報と同じ数値のはず)ました。手当てや残業代を含むかわからないので、本当の年収を表していない可能性もありますが、まあそれでも、ソニーの給料は良さそうだとわかると思います。他にもキヤノン、NTT五社(東、西、コミュニケーションズ、データ、ドコモ)が良さそうですね。総合電機メーカの給料は横並びという話も見えてきます。


(2006年4月時点)
企業名         平均年齢 平均年収 (千円)
---------------------------------------
野村総合研究所     35.7 10300
ソニー             38.2 9330
キヤノン           39.4 8680
日本電信電話       38.2 8580
KDDI               37.6 8360
富士写真フィルム   43.7 8350
日本ユニシス       41.6 8320
日本オラクル       34.7 8230
NTTドコモ          35.2 8070
リコー             40.6 7990
NTTデータ          36.1 7970
カシオ計算機       41.3 7780
新日鉄ソリューションズ36.7 7700
松下電器産業       42.3 7580
東芝               39.8 7560
富士通             39.4 7540
パイオニア         39.8 7510
日本ビクター       42.0 7470
日立製作所         39.4 7430
シャープ           40.3 7360
NEC                39.1 7280
三菱電機           42.2 7190
セイコーエプソン   40.6 7010
オリンパス         39.9 6910
村田製作所         35.8 6790
三洋電機           40.7 6610
アルパイン         38.3 6560
沖電気工業         39.5 6500
船井電機           35.7 6390
日本無線           38.4 6320
ケンウッド         39.2 6320
日本ケミコン       38.5 6200
ペンタックス       42.9 6110
京セラ             37.9 6100
カノープス         34.9 5740
富士ソフトABC      32.2 5560
アルファシステムズ29.4 5210
ジャステック       30.1 5200
ニチコン           36.9 5100
編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年4月27日

セミナーで山本(幹)先生の生徒に質問しました。その場でサラサラっと答えてくれたのでふーん、と思っていたら、セミナー終了後、山本先生に呼び止められました。
というのも「あの質問の答えが間違っていたから、訂正を…」とのこと。さすがマメな山本先生です。呼び止められるときに、名前を呼ばれたような気がします。質問のとき名前言わなかったのになあ?

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年4月26日

どうしても万物の起源を自国にしたいらしく、韓国は色々香ばしい主張を連発していますが、お隣の中国も何か言ってます。記事によればゴルフの起源は、12世紀に中国で流行っていた捶丸という球技だそうです。それが200年後(14〜15世紀)にスコットランドでまた流行ったということでしょうか?時間も場所も離れすぎていませんか。

最近流行のAjaxに挑戦しています。主にSeaMonkeyで動作確認していて、ふとIEで見てみたら全然動かなかった。
特にIEはGETの結果をキャッシュしてしまい、サーバにアクセスしに行かなくなる問題があります。これは結構困ります。仕方ないのでシステム時間のミリ秒表記をGETの引数に渡し、ユニークなリクエストにすることで無理やり読ませました。ネットを見るともっと良さそうな方法を見かけますが、どうもJavaScriptは面倒でねえ…。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年4月25日

永田町に初めて行って適当に歩いてたら、警官がいっぱいいる場所に着いてしまいました。何の建物なのか、通行証がどうのこうの言っているのが聞こえたために、逃げてきました。特に何もしてなくても、警官を見ると無意味にビビるのはなぜだろう。
今日の面接、担当の面接官があまりにも野口君に似てて吹き出しそうでした。関西弁じゃなかったのでセーフでしたけど、それでも目が合うたびにニヤけそうになりました。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2006年4月24日

明日の面接に向けて馬渕氏に教えてもらった写真屋で証明写真を撮りました。肩が下がってる、顔が斜め、と何度か取り直され、最後に良い感じの写真が出てきました。値段が高いだけあるかな。

昨日(4/23)500系のぞみ号で「いい日旅立ち」が流れると書きましたが、Wikipediaによればのぞみ号でなくてもJR西日本のB編成車両なら流れるそうです。と書いても意味不明なので例を挙げると、JR西日本所有の700系でも流れている、ってことです。そしてそんなことは鉄オタ以外誰も気にしませんね。
Wikipediaには鉄オタがいっぱいいて、鉄道関連の記事が無駄に詳しいです。ありえないくらい暇な人は一度「東海道新幹線」の項を見てください。専門家でもないだろうに良く書くなあ、と思うこと間違いなしです。

編集者:すずき(2006/11/19 16:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2006年5月21日 >>> 2006年4月24日
link もっと後

管理用メニュー

link 記事を新規作成

<2006>
<<<05>>>
-123456
78910111213
14151617181920
21222324252627
28293031---

最近のコメント5件

  • link 24年6月17日
    すずきさん (06/23 00:12)
    「ありがとうございます。バルコニーではない...」
  • link 24年6月17日
    hdkさん (06/22 22:08)
    「GPSの最初の同期を取る時は見晴らしのい...」
  • link 24年5月16日
    すずきさん (05/21 11:41)
    「あー、確かにdpkg-reconfigu...」
  • link 24年5月16日
    hdkさん (05/21 08:55)
    「システム全体のlocale設定はDebi...」
  • link 24年5月17日
    すずきさん (05/20 13:16)
    「そうですねえ、普通はStandardなの...」

最近の記事3件

  • link 22年3月18日
    すずき (06/22 17:32)
    「[射的 - まとめリンク] 目次: 射的一覧が欲しくなったので作りました。ガスガン その1ガスガン その2ガスガンが増えました...」
  • link 23年11月25日
    すずき (06/22 17:31)
    「[JTSA Limited大会参加2023] 目次: 射的JTSA Limitedの大会に参加しました。いつも使っているエアガ...」
  • link 24年5月26日
    すずき (06/22 17:16)
    「[JTSA Unlimited大会参加2024] 目次: 射的JTSA Unlimitedの大会に参加しました。去年は選手登録...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 06/23 00:12