S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
wave同士を比較演算子==で演算することができる。値が同一か異なるかのみを見ているようだ。即ち、別フォルダにコピーしたwaveと元waveの比較はtrueになる。
値が同一であってもwaveとしては異なると見做したい場合はどうすればよいか。フルパスで比較すればいいのかなと思った。
Function AreWavesSame(wv1, wv2) WAVE wv1, wv2 return 0==cmpstr(GetWavesDataFolder(wv1, 2), GetWavesDataFolder(wv2, 2)) End
subversionで、リビジョン番号やその日時なんかがファイルに反映されると便利である。そのための機能がsvn:keywordsである。svn propsetを通じたプロパティ設定で、特定のキーワードを置換したい旨subversionに知らせることができる。具体的にはSubversionによるバージョン管理よりsvn:keywordsの項を参照。
TortoiseSVNでは、右クリック=>TortoiseSVN=>Propertyとし、Property name: からドロップダウンでsvn:keywordsを選択し、Property value: にRevision、LastChangedDateなどを入れる。複数入れたい場合は空白区切りでOKだった。
さて日本語環境だとLastChangedDateなどの曜日の表記が日本語になってしまい、文字化けなどを引き起こす場合もある。これをお手軽に英語表記にする方法は今のところ無いようだ。現在のところの一番マシな解は
$LastChangedDate:: $とコロンを重ねてキーワード置換を固定長に制限する(subversionの機能)方法のようである。このようにして、そもそも曜日を表示させないようにする、という何とも強引な手段である。
PDFファイルの差分を見たいなと思った。
xdocdiffという、TortoiseSVNでWord, Excel, PowerPoint, pdfのdiffを見れるようにするツールがある。これをWinMerge用のプラグインとしてportしたものがあるが、これによって差分が見られるようになるようだ。
実際にやってみたら、うまく動いているようだった。
WinMergeは、TortoiseSVN的にも役立つソフトのようである。
hyperrefは便利だが、ちょっとやってみたら数式が文字化けしたのでムカツいて使用をやめた。だがこの原因についてちょっとまじめに考えることにした。
結論から言えば、hyperrefの不具合というよりは仕様によって起きるものであった。具体的には、私が設定した引数を2つとるrenewcommandの処理がうまくいっていないようであった。
用いたTeXファイルには、私は以下のマクロを加えていた。
\renewcommand{\ss}[2]{\ensuremath{#1_{\mathrm{#2}}}}"s"はsubscriptから来ているのだろうが、何故2つ重ねたのかは忘れた。で、newcommandでなくrenewcommandにしているのは、\ssとはもともとエスツェットを出力する命令だからである。大雑把には、この命令がhyperrefで処理される段階で\ssと中括弧"{"の間にスペースが挿入されてしまい、\ssがエスツェットとして解釈されてしまっているために起きているようであった。
\newcommand{\sss}[2]{\ensuremath{#1_{\mathrm{#2}}}}
雰囲気はわかるがきちんと理解してるわけではない。理解にあたっては結局実行ファイルのフォーマットあたりまで遡る必要があるのか。
以下有用そうな文書
- Program Library HOWTO
- Why LD_LIBRARY_PATH is bad
- When should I set LD_LIBRARY_PATH?
Ajaxが世に広まった。
昔「テキストブラウザで事足りるWebページこそが良いページ」と思っていたが、昨今ダイナミックな機能の便利さを感じることが多くなり、考えが変わりつつある。もちろん、技術の活用は適材適所が肝なのだけれども。
例えばサンハヤト株式会社の製品情報。アンカー上にマウスポインタが重なるとチップスがポップアップする。あると便利だが無くても何とかなる機能というわけで、導入にあたって障害もないだろう。onmouseoverなるHTMLの属性によって実現しているようだ。javascriptの関数をコールすることもできるし、必ずしもスクリプトが必要というわけでもない。時間ができた時にいじりたい。
タイトルの通り。Illustratorが悪いのかAcrobatが悪いのかはわからないが、AcrobatがクラッシュするようなPDF中の斜線柄のスウォッチをただの色に変えると現象が生じなくなったので、スウォッチがクラッシュに一役買っていることは間違いないだろう。なんでそうなる場合とそうならない場合があるのだろう?今時間がないのでこれ以上のトラックはやめておく。
プログラムからショートカットを作成する方法について以前メモしたが、Linuxで処理する時などに備えファイルフォーマットそのものを知りたいと思った。
だが道のりはそれほど簡単ではないようで、「公式なドキュメントは無いようだ」との見解を見つけた。
xe-kodo(2006-08-29)
参考になるのは以下あたりか。
(rc*) ロミテチオ・ログ: .lnk ファイル解析
http://www.i2s-lab.com/Papers/The_Windows_Shortcut_File_Format.pdf
Shift-JISで2バイト目がASCIIのバックスラッシュと同じものを俗にダメ文字(だめ文字、駄目文字)と呼ぶ。2バイト文字が考慮されてないプログラムなどではエスケープシーケンスと勘違いされて処理がおかしくなることがある。「ソ」「表」など、結構頻繁に使用する漢字も含まれる。
http://ja.wikipedia.org/wiki/Shift_JIS#2.E3.83.90.E3.82.A4.E3.83.88.E7.9B.AE.E3.81.8C0x5C.E7.AD.89.E3.81.AB.E6.88.90.E3.82.8A.E3.81.86.E3.82.8B.E3.81.93.E3.81.A8.E3.81.AB.E3.82.88.E3.82.8B.E5.95.8F.E9.A1.8C
MSYS + コマンドプロンプトの組合せを気に入って使っている。
lsで日本語ファイルがうまく表示されなかったが、catにパイプしたりファイルにリダイレクトする限りではきちんと表示されていた。これは何故か?
hiroitoh@YEBO6 /C/hiroitoh/del $ ls japanese.txt ???{??.txt hiroitoh@YEBO6 /C/hiroitoh/del $ ls | cat japanese.txt 日本語.txt
hiroitoh@YEBO6 /C/hiroitoh/del $ ls --show-control-chars japanese.txt 日本語.txt
既に起動中のemacsにファイルを開かせたりするにはgnuclientやらemacsclientやらが有効。
詳しく調べてないので不正確なことを言ってるかもしれないが、NTEmacs21で導入したgnuclientwでは日本語ファイル名がうまく渡っていない一方、NTEmacs22のemacsclientwを用いると、日本語ファイルがうまく渡せているようであった。
タイトルの通り。今使うわけじゃないがメモする
http://www.pcre.org/
http://www.kmonos.net/alang/boost/classes/regex.html
カレントシェルとは要は「現在の」シェルである。サブシェルとは、カレントシェルの子プロセスとして走るシェルである。
シェルスクリプトの実行はサブシェルで行われる。ただし「ドットで実行される」ものはカレントシェルで実行される。サブシェルでは、カレントシェルで設定したシェル変数MYNAMEの値が反映されないことがわかる。ただし、exportした変数の値はサブシェルにも引き継がれる。
bash-2.05b$ MYNAME=foo bash-2.05b$ echo $MYNAME foo bash-2.05b$ cat hello.sh echo "hello, $MYNAME" bash-2.05b$ bash hello.sh hello, bash-2.05b$ . hello.sh hello, foo
bashで
$ ls >logとかすることで、画面へ出力されるlsの結果をファイルへの書き出しに変更できる。この入出力切り替えの仕組みをリダイレクトと言う。大量のメッセージが画面に出力される場合なんかには、それらをファイルに出力させておいて後からゆっくり見る、といった使用法が便利。
$ ls 1>log「1」とは「標準出力」を表すディスクリプタの番号である。即ち上記は「標準出力をファイルにリダイレクトせよ」という意味。なので、上記だけではエラーメッセージなどが出力される「標準エラー出力」に関してはファイルにリダイレクトされない。これを扱うには以下のようにする:
$ my_command 1>stdout_log 2>error_logディスクリプタが2である標準エラー出力の内容は、error_logファイルに書き出される。
$ my_command 1>log 2>&1とすれば、標準出力の内容も標準エラー出力の内容もlogファイルに書き出される。2>&1とは「ディスクリプタ2の出力をディスクリプタ1に振り替えよ」の意。ここで、このリダイレクトは右から評価されることが大事。上記は「エラー出力を標準出力に振り替えよ。んで、標準出力の内容はlogに書き出せ」という意味。つまり次のようにするとうまくいかない:
$ my_command 2>&1 1>logこれは「標準出力の内容をlogに書き出せ。んで、エラー出力は標準出力へ」となるので、結局エラー出力は画面にされてしまうわけである。
bash-2.05b$ ls bash-2.05b$ touch hoge bash-2.05b$ ls hoge fuga ls: fuga: No such file or directory hoge bash-2.05b$ ls hoge fuga >log ls: fuga: No such file or directory bash-2.05b$ cat log hoge bash-2.05b$ ls hoge fuga >log 2>&1 bash-2.05b$ cat log ls: fuga: No such file or directory hoge bash-2.05b$ ls hoge fuga 2>&1 >log ls: fuga: No such file or directory bash-2.05b$ cat log hoge
zshは言わずと知れた高機能シェルで人気も高い。
これをWindowsで使うにはcygwinを導入する必要がある。ftp://ftp.blarg.net/users/amol/zsh/ でcygwin不要の移植版が公開されていたようだが、現在はアクセスできない。
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
最終更新時間: 2010-03-08 22:21