Home > Archives > 2005年03月24日

2005年03月24日

pLaTeX で EUC

cvs に上げられた TeX ファイルをコンパイルしようと思ったら EUC コードだった.普段使っている pTeX のデフォルトは SJIS なので当然のことながらこける.

で,せっかくなのでEUCをコンパイルするオプションを学んでみた.

platex --kanji=euc --fmt=platex-euc paper

これだけでコンパイルできるのでそれなりに簡単なのだが,platex -e ぐらいに単純だともっといいなぁと思う今日この頃.

ちなみに,オプションつけるより

platex-euc paper

としたほうが短い.

そしてカウンタ設置

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

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

ちなみにこのカウンタイメージは 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 が付くと実際の転送なしで確認となる.

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

Home > Archives > 2005年03月24日

Search
Feeds

Page Top