意外に簡単! LinuxでジョイスティックをC++から使う方法

バイスをオープンし,ちょっとした設定のあと,Linuxで提供されている js_event 構造体に読みこむだけ.Cでも同様.PlayStation 2/3用のコントローラをUSB接続したものでも使えた.
参考: joystick tutorial and code

続きを読む

変数の初期化をサボるな,それから -Wshadow オプションを使え

という自戒.前にも似たような話を書いたのだが,懲りずにまたやった.
今回は,未初期化の変数と未発見のバグを含んだプログラムを使っていて,まったく関係のないコードを加えたタイミングで変数の初期値変動によってバグが顕在化した場合に,新しく加えたコードがバグの原因のように見えてしまって,デバッグに苦労する,という話.で,この手のトラブルを避けるには,変数を必ず初期化し,gccなら -Wshadow オプションを使おう,という内容.

続きを読む

子プロセスで親プロセスの環境変数を変更したい

...が,簡単にはできないらしい.今やりたいことを整理すると: (1) ある bash スクリプト hoge.sh では何か環境変数が定義される,(2) シェル (tcsh) で hoge.sh を実行して,hoge.sh の中で定義される環境変数をシェルで使いたい,(3) hoge.sh は変更しない.
使ってるシェルが bash なら,以下で解決.

. hoge.sh

tcsh だから話がややこしくなってる.子プロセス (hoge.sh) で定義された環境変数を無理やり tcsh で使う方法を考えた.

続きを読む

コマンドラインでCSVなどのデータを整形して見るには

column コマンドと less を組み合わせれば,CSVなどのデータファイルはすごく見やすくなる.
ソース:linux - Command line CSV viewer? - Stack Overflow

column -s, -t < INPUT.csv | less -#2 -N -S
続きを読む

PukiWiki 1.4.7 はそのままだと PHP5.4 で動作しないらしい

PHP5.4 をインストールして,PukiWiki を表示させると,

ウェブサイトでエラーが発生しました。 ウェブサイトがメンテナンスのために停止しているか、正しく設定されていない可能性があります。
HTTP エラー 500(Internal Server Error): サーバーによるリクエストの実行中に、予期しない状況が発生しました。

みたいなエラーが発生する.PHP5.3 をインストールすれば,動くようになる.

続きを読む