No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 881 | 882 | 883 |...| 893 | 894 | 895 || Next»

そしてカウンタ設置

せっかく作ったのでカウンタをつけてみる.カウンタのイメージは もず倉 で公開されている東方カウンターを使用.というか,このドット絵が気に入ったのでカウンタを作ったのだけど.

とりあえずドット絵が多種類表示されるようにカウンタ値に下駄をはかせ引き算風に.う~ん,にぎやかだなぁ

ちなみにこのカウンタイメージは 8 と 9 が 2種類存在する.で,両方とも使いたかったのでひとつの数字に対して複数イメージを使えるようにカウンタを作ったのであった.

Rubyでカウンタ作り

寝すぎて寝れなくなったのでおもむろに Ruby でカウンタを作ってみた.Ruby を選択した理由は単に Perl を使いたくなかっただけ.

そんでさっさと組み上げたわけだけど久々の Ruby で何箇所か引っかかったので挙げてみよう.

  • 配列の可変長引数としての展開は method(*array) のように * をつける
  • インクリメント ++ は無い ( i += 1と書け )
  • CGI 関係は require 'cgi' で (cgi-lib は古い)
  • cgi にはオフラインモードがある (ruby -r cgi prcounter.rb みたいに使う)
  • 文末にセミコロンいりません
  • 文字列つなげるとき + は文頭にかけません.文末に書け

などなど下らないことで時間を食いまくりましたとさ.

記念にできたものはここにおいておこう prcounter-0.10.zip

ちなみにこのカウンタはひとつの数字に対して複数のイメージを対応付け,それをランダムに選択して表示できるという少々変な機能が付いていたりする.実用上はまったく意味がなさそうだなと思いつつ個人的に欲しかったのでつけてみた.

Meadow で文字コード変更

何度やっても忘れるのでここに書いておこう.Meadow での文字コード変更は

C-x Ret f
M-x set-buffer-file-coding-system

だ.

rsync でバックアップ

サーバのバックアップに SCP で全ファイル転送とかやるのもいい加減あほらしいので ssh を通した rsync でローカルを同期させることにした(さすがに rsh は使いたくない).とりあえず使い方と使いそうなオプションを見てみると

Usage:
 rsync [OPTION]... SRC [SRC]... DEST
Options: -v, --verbose 詳細表示 -a, --archive アーカイブモード(-rlptgoD) -r, --recursive 再帰 -l, --links シンボリックリンクそのまま -p, --perms パーミッション保存 -o, --owner オーナー保存(root only) -g, --group グループ保存 -D, --devices デバイスファイル保存(root only) -t, --times タイムスタンプ保存 -u, --update アップデート(より新しいファイルの上書きはしない) -n, --dry-run 転送されるものの確認(実際の転送を行わない) --delete 送信元に無いファイルは送信先で削除 -z, --compress データを圧縮する -e, --rsh=COMMAND リモートのシェルコマンドの指定

といった感じである.一々コマンド全部打つのも面倒なので使いそうなオプションの組み合わせで makefile を用意.

.phony : put-dry get-dry put get \
         put-del-dry get-del-dry put-del get-del default
  
LOCAL=./alldata
REMOTE=ls-al@ls-al.jp:
OPTIONS=-avzu -e ssh --exclude='*~' --exclude='*.bak' --exclude='CVS'
  
default: get
put:
	rsync $(OPTIONS) $(LOCAL) $(REMOTE)
get:
	rsync $(OPTIONS) $(REMOTE) $(LOCAL)
put-dry:
	rsync $(OPTIONS) --dry-run $(LOCAL) $(REMOTE)
get-dry:
	rsync $(OPTIONS) --dry-run $(REMOTE) $(LOCAL)
put-del:
	rsync $(OPTIONS) --delete $(LOCAL) $(REMOTE)
get-del:
	rsync $(OPTIONS) --delete $(REMOTE) $(LOCAL)
put-del-dry:
	rsync $(OPTIONS) --dry-run --delete $(LOCAL) $(REMOTE)
get-del-dry:
	rsync $(OPTIONS) --dry-run --delete $(REMOTE) $(LOCAL)

get/put で削除なしの同期(REMOTE→LOCAL / LOCAL → REMOTE)で,-del が付くと削除あり,-dry が付くと実際の転送なしで確認となる.

これでバックアップが楽になったぞ(ネットワークの負荷的に)

妖々夢ノーマルノーコンクリア

とりあえず,体調不良で今日一日布団の中で完全に死んでいたのだが,食後にすぐ寝るわけにもいかず食後の運動(?)として妖々夢をやってみた.

なにやら体調が悪いときにやるとうまくいくようで,ノーマルノーコンクリア.咲夜さんを使ってのクリアだけど永夜抄と違って妖々夢の咲夜さん強~い.スペカもあと数枚で60枚になるので,そろそろExtraをクリアしなければ.

グリチャレ負けた...

グリチャレの結果が出た.

とりあえずトップチームのプログラムどーなってんだ? はえぇ!? ペナルティ0.まさに別格ですな(シーケンシャルでも勝てないような).それにしても完走自体が上級は6チーム,初級が9チームと走りきるだけでも大変だったみたい.そんななかで一応走りきれて結果も真ん中ぐらいだからとりあえず最低ラインはクリアとしよう.

うーん,それにしてもこんなに差がつくとは... 反省.やっぱり結果を一度クラスタ内でためるべきだったかな.あとレプリカつかわなくてもよかったような気もする.通信も完全に非同期にするべきだったかなぁ.なんにせよ,どこがネックだったのかちゃんと調べる時間があればなぁ... まあ,予選締め切り一週間前から作り始めたんだからこんなもんか.

並列プログラミングって難しいなぁ.

«Prev || 1 | 2 | 3 |...| 881 | 882 | 883 |...| 893 | 894 | 895 || Next»
Search
Feeds

Page Top