とにかく書く

日々の雑感や知り得たことを、とにかく書いています

ArchLinux から EPSON の PX-401A で印刷する

FreeBSD の時と同様に
Kosei's FreeBSD Blog: CUPSでCanon iP 4200プリンター を参考にgutenprint をドライバにして CUPS で印刷した。

aur にある epson-inkjet-printer-px-402a をドライバとして使うと印刷できなかった。あと、Epson 公式の Mandriva Linux 用にある PIPS はビルドには成功したけど、CUPS でドライバとして選択できなかった。(というよりビルドしたのはプリンタ共通のツールで、PX-401A のドライバは別っぽい。)

ちなみに Epson 公式の PIPS は、libpng12 でビルドしないとコンパイルエラーが起きる。
./Core/pips-filter/Makefile 内の INCLUDES にあるlibxml2の次へ -I/usr/include/libpng12 を追加することでビルドは通った。

Google Test でC言語のプログラムをテストする

Google TestC言語のプログラムをテストするようにできたのでメモ書き。

C言語でプログラムを書いていて、CUnit でテストコードを書いていたのだけれど、CU_ASSERT_EQUAL などで failure になっても「どんな値で failure になったのか」が分からなかった。Google Test なら

  • failure 時に、どういう結果のためにfailure かがわかる
  • テストの追加が簡単にできる
  • テスト結果が見やすい

ためにやってみた。

続きを読む

TABLE の行(tr)の入れ替え

JavaScript で table の行(tr)を入れ替えようと次のように書いたら Node not found っていうエラーが出た。

function swap(a, b) {
	var table = document.getElementById('table_name');
	var clone = table.rows[a].cloneNode(true);
	table.replaceChild(table.rows[b], table.rows[a]);
	table.replaceChild(clone, table.rows[b]);
}

これは rows が table のプロパティに過ぎず、Node ではないから(だと思ってる。)replaceChild は、子ノードを要求する。次のようにしたら問題なくなった。

続きを読む

Migemo 導入

Migemo はローマ字のまま日本語をインクリメンタル検索するためのツール。10年ほど前に emacs に導入しようとしてできず、以来そのままだったので Arch Linux での導入に挑戦してみた。

続きを読む

ArchLinux

FreeBSDからArchLinuxに変えました。Unix系OSを使い始めた当初は、FreeBSDが上手くインストールできなくてVineLinuxを使い出しました。もう12年くらい前の話。それ以来Linuxを使ってきていて、昨年はじめてDebianFirefoxが古いことに嫌気が差してFreeBSDをインストールしたん。でもディレクトリ構成がちょっと違うとかで慣れない感じは続いてた。実用上とくに問題が起きたわけではないけれど、ゲームとかどうしてもFreeBSDでは限界があって。あと、最近調べものをすると良くArchLinuxの解説ページが見つかって、気になっていたのもある。

使ってみているけど、Flashを始めとするいくつかのプログラムの動作速度はArchLinuxのほうが早い。(もちろんタダの主観で他人にはクソほどの情報量もない。)これがネイティブプログラムの力なのかはわからないけれど快適。そのうちアップデートした途端にOSが起動しなくなったりして泣きを見るまでは、バックアップを取りつつ使っていく。