2012-01-01から1年間の記事一覧

2つのテキストファイルで異なる部分の行数をカウントするには

diffを取って,>で始まる行だけ抜き出して,その数を数えればいいのだろうか? diff -bB FILE1.txt FILE2.txt | sed '/^[^>].*/d'これで,> で始まる行だけ抜き出せるので,wc でカウントする.

Inkscapeで描いたベクタ図形をパワポにコピー&ペーストするには

イ○ストレータなんて高いものは使わねぇ!というポリシーの人が使ってるInkscape.Linuxでもベクタ図形が描けて便利だし,数式のベクタ図形も,この方法を使えば簡単にSVGとして取得できる. Inkscapeで描いたベクタ図形を,ベクタとしてパワポなどのOffice…

findで特定のディレクトリを無視するには

オプション -prune を -path などと組み合わせて使えばいいらしい.例えば build ディレクトリを無視しつつ CMakeLists.txt を検索するには, find . -path './build' -prune -or -name CMakeLists.txt -printと書く. -path './build' -prune -or のように…

imshow で表示しても waitKey を使わないとウィンドウは描画されない

ということを今まで知らずに使ってた.User Interface - OpenCV v2.4.2 documentation#waitKey によると: This function is the only method in HighGUI that can fetch and handle events, so it needs to be called periodically for normal event proces…

ODEのインストール時にグラフィック(X11)で問題が起きる場合は

ODE (Open Dynamics Engine) を Linux (ここでは Ubuntu) にインストールするときに,以下のようなエラーが出る場合の対処法. x11.cpp:108: error: undefined reference to 'XOpenDisplay' x11.cpp:123: error: undefined reference to 'XCreateColormap' .…

gnuplotで出力したSVGのマーカの太さを変更するには

論文に掲載するグラフを gnuplot で作るとき,SVG (Scalable Vector Format) で出力して Inkscape などで編集すると便利だ.だが,マーカ(×など)の線の太さを Inkscape で変更できなかったので,直接 SVG (XML) ファイルを編集してマーカの線の太さを変更…

bash で引数つきのエイリアスを使うには関数を使えばいいらしい

tcsh だったら !* を使うのだが, bash の場合は関数を定義しないとダメらしい. 例 (tcsh, bash の順): alias pless '/usr/share/source-highlight/src-hilite-lesspipe.sh \!* | less -R' function pless(){ /usr/share/source-highlight/src-hilite-less…

iPad では SSL (https) で接続すると動画が見れない!?

信じられない話だが,iPad (iPhone も) では,SSL で接続すると,動画が見られなくなる場合がある.例えば http://example.com/hoge.mp4 は見られるが,https://example.com/hoge.mp4 は見られない,など.

std::vectorの要素の参照型はbool&ではない(場合がある)

std::vector::back() を使うと,末尾の要素の参照を取得できる.これは普通は,T&型だ.ところが,T=bool に限っては,「std::_Bit_reference」型なのだ(少なくとも g++ の場合). 通常,bool を関数の引数として渡すとき,わざわざ参照渡ししようとは思わ…

テンプレートメンバ関数の特殊化はクラス外で

クラスのメンバ関数をテンプレート関数として作成し,さらにそれを特殊化する場合,特殊化は,特殊化宣言も含めてクラス外で行わなければならないらしい.