とにかく書く

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

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 は、子ノードを要求する。次のようにしたら問題なくなった。

続きを読む

ArchLinux

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

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

Pingus に既存のステージ(levels)を追加する方法

Pingus は、レミングス というパズルゲームにインスパイアされて作られたゲーム。入り口から次々に出て勝手に歩き出すペンギンを操作してゴールまで導く。

Pingus にはステージのエディタがついていて、自分でステージを作成することもできる。ports からインストールした段階で、チュートリアル用の22ステージの他に、すでに作成されたステージが Levels から選択できる。

だけど /usr/local/share/pingus/levelsets を見ると、もっと沢山のステージが作成中であることがわかる。これらもゲーム内の Levels に表示させるには、/usr/local/share/pingus/levelsets/にある levelset ファイルを開いて (developer-only #t) と書いてある行の最初にセミコロンを入れれば良い。
これらのファイルは書き込み属性がないので、 sudo chmod +w *.levelset とすることを忘れずに。

それにしても pingus の設定ファイルが scheme で書かれているのは知らなかった。興味深い。

2015年に周年を迎える会社の中での最長

帝国データバンクは、毎年末に周年を迎える企業を公表している*1。今年2015年に周年を迎える企業の中で最長の会社は、京都市中京区にある本家尾張屋だって。なんと550周年。創業は応仁の乱の2年前というから驚くほかない。
お品書き*2を拝見しても、かけそばが一杯700円と普通のお値段。てっきり3,000円くらいするのかと思っていたのに。
いろいろなことがあったろうけれど、こつこつと積み重ねていけば、こうして大樹のようになるのだと感動した。

error "The directory `~/.emacs.d/server' is unsafe"

ノートPC(Windows 7 Professional)のCドライブの容量が5GBと少なくなってきたので、cygwinemacsをDドライブに移すことにした。移動させて、関連する環境変数をC→Dへ変更したのだが、emacsを起動すると、

error "The directory `~/.emacs.d/server' is unsafe"

と表示されて、設定ファイル(.emacs.elなど)が読み込まれなかった。


windows - Emacs - Error when calling (server-start) - Stack Overflowによると、~/.emacs.d/server の所有者が Administrator だからの様子。以下の手順で所有者を自分のアカウントに変更すれば問題なくなった。

  1. ~/.emacs.d/server を右クリックしてプロパティを選択する
  2. [serverのセキュリティ]ウィンドウの[セキュリティ]タブにある[詳細設定]ボタンを押す
  3. [serverのセキュリティの詳細設定]ウィンドウの[所有者]タブの[編集]ボタンを押す
  4. [所有者の変更]欄から自分のアカウントを選択して、[適用]ボタンを押す
  5. 開いてきたウィンドウを[OK]ボタンを押していって閉じる