米子市から愛を込めて

明けましておめでとうございます。

米子市は記録的な大雪だそうですが、正直、参っています。
家庭用のプラスチックの雪かきシャベルでは太刀打ちできません。ヒビが入ってしまいました。
スコップを買いに行くにも、路地は除雪がほとんどされていなくてひどい状況です。
なんとかヒビの入ったシャベルでクニャクニャさせながら雪をかいています。
というか、あきらは鳥取市出身ですが、米子市は気温が低いらしくて、圧雪というか、もう氷の板状態です。
所々に切れ目を入れて、地面との間にシャベルを滑り込ませて剥がしているような状態です。

今年ほどの大雪はないにしても、毎年1、2回は圧雪となって、こんな状態です。
もう分かり切っている事なので、市は対策をして欲しいですね。

っていうか、あきらが米子市に来る前からこの状態の繰り返しだったんでしょうね。
米子市民は何を考えて市長を選んでいるんですかね。

Ubuntu 10.10 の PostgreSQL がノートパソコンで自動起動しなかった

Ubuntu 10.10 の PostgreSQL がノートパソコンで自動起動しませんでした。
原因ははっきりとはわからないのですが、以下の対策で安定して自動起動されるようになりました。

$ sudo update-rc.d -f postgresql remove
$ sudo update-rc.d postgresql defaults 92 21

/etc/rc*.d/ の S19postgresql を S92postgresql に変更して、起動するタイミングを後にずらしました。

CMS は DOM で表現可能であることが望ましい

今、CMS の内部設計を見直しているのですが、どうも DOM でページ構造を表現すると上手くいく事が証明できそうです。

例えば、子ページの順番をソートする場合や、子ページの一覧の先頭に新規ページを追加する場合、順番の数字で管理するより、前後のリンクで管理する方が、更新が必要なデータの件数が一定であるので、特に子ページの件数が多い場合は望ましいと思われます。

DOM で考えると childNodes / firstChild / lastChild / previousSibling / nextSibling です。

しかし、サイトのページが多い場合、毎回まともに XML を読み込んで DOM として処理していては、処理速度やデータがロックされる期間を考慮すると好ましくありません。
なので、あくまでも DOM 的な考え方でページのオブジェクトの設計・実装を行う事になります。

システムで CMS サーバと呼べるようなデーモンを準備して、常に DOM をオンメモリの状態にしておけるのであれば DOM として処理する方が妥当でしょう。

まぁ正攻法以外もあります。

例えば、先頭の順番の数字が 0 だったら -1 を設定するとか。
途中の番号が歯抜けでも問題無ければ、途中を削除しても順番は更新しないとか。
でも、追加とか移動する場合に、順番を大量に更新する必要がある場合もあります。

結局、この記事はただのメモですので、どーでもいい人はスルーしてください。

<index template="template/index.html">
<page type="list" id="1" title="新着情報" updated="2010-12-01 13:25:30" template="template/page.html">
<parts type="html">
<![CDATA[
新着情報一覧です。
]]>
</parts>
<parts type="list" order="new" />
<page type="page" id="3" title="サイトリニューアルしました。"updated="2010-12-05 13:00:00" template="template/page.html">
<contents>
<![CDATA[
サイトリニューアルいたしました。
]]>
</contents>
</page>
<page type="page" id="2" title="サイトオープンしました。"updated="2010-12-01 13:00:00" template="template/page.html">
<contents>
<![CDATA[
サイトオープンいたしました。
]]>
</contents>
</page>
</page>
</index>

Ubuntu 10.10 で NX Free Edition を使う

Ubuntu 10.10 には FreeNX がありません。
Google の開発した NeatX もあるのですが、サーバーがまともにシャットダウンされなくなったりします。

そこで NoMachine の NX Free Edition を使ってみました。

実は、Windows に RDP でログインして VMware で Ubuntu を実行する方がスムーズに動くんですけどね。
それだけ Windows の RDP は優秀ということです。
普段はあまり Microsoft を誉めたりしないんですけど、事実は認めないとね。

NX Free Edition のダウンロード

以下のURLより三つのパッケージをダウンロードします。

NX Free Edition for Linux

nxclient_3.4.0-7_i386.deb
nxnode_3.4.0-14_i386.deb
nxserver_3.4.0-14_i386.deb

NX Free Edition のインストール

以下のコマンドで上記パッケージをインストールします。

$ sudo apt-get install libaudiofile0
$ sudo dpkg -i nxclient_3.4.0-7_i386.deb
$ sudo chmod 755 /usr/lib/cups/backend/ipp
$ sudo dpkg -i nxnode_3.4.0-14_i386.deb
$ sudo dpkg -i nxserver_3.4.0-14_i386.deb

NX Free Edition の設定

/usr/NX/bin/GNOME.sh を作成します。

以下の手順で設定します。

$ sudo vi /usr/NX/bin/GNOME.sh
$ sudo chmod +x /usr/NX/bin/GNOME.sh
$ sudo vi /usr/NX/etc/node.cfg

/usr/NX/bin/GNOME.sh の内容

#!/bin/bash
/usr/bin/xmodmap -e 'keycode 123 = backslash underscore'
/etc/gdm/Xsession gnome-session

/usr/NX/etc/node.cfg の変更部分

CommandStartGnome = "/usr/NX/bin/GNOME.sh"

確実にインストールを完了させるため、サーバーを再起動します。

NX Client for Windows のダウンロード

以下のURLよりダウンロードします。

NX Client for Windows

NX Client for Windows のインストール・実行

ダウンロードしたファイルを実行してインストールします。
インストール完了後、NX Client for Windows を実行して接続してみます。

NX Client for Windows の設定

いったん接続して確認すると、キーボードの配列が英語になっています。
ユーザーディレクトリに .nxconfigセッション名.nxs が作成されていますので、Custom keyboard layout を修正します。

<option key="Current keyboard" value="false" />
<option key="Custom keyboard layout" value="jp" />

Ubuntu 10.10 初期設定用スクリプト

LAMP/LAPP 初期設定を行います。

もうあんまり必要ではないかも知れませんが。
何かの参考になればと思い、アップしました。

インストール直後にターミナルで以下のコマンドを実行します。
sudoコマンドのためユーザーのパスワードを聞かれますので入力してください。

$ wget https://akira.matrix.jp/ubuntu/maverick/setup.tar.gz
$ tar xzvf setup.tar.gz
$ cd setup/
$ ./setup.0

自動的に再起動されます。
再起動後にターミナルで以下のコマンドを実行します。
sudoコマンドのためユーザーのパスワードを聞かれますので入力してください。

$ cd setup/
$ ./setup.1

後半で以下について入力してください。

・MySQL の root ユーザーのパスワード
・Postfix の設定
・Sun Java インストールの確認

後は Eclipse とか、必要なものをインストールして下さい。

何か問題があったらコメントお願いします。

IS03 予備バッテリー到着

事前購入宣言で貰えるはずのバッテリーが、ヤマト運輸で到着しました。
これはコレでありがたいのですが、わざわざ本体のバッテリーを入れ替えて充電する必要があります。
使用と充電が並行して出来ないと、バッテリーが切れた時点で交換できないので不便なんですけれど。

au さんは予備バッテリーの充電器は計画してくれているのでしょうか?

Skype の自動アップデートで英語表記になってしまった

子供が寝付いてパソコンを立ち上げたら、いきなり Skype がアップデートされました。
アップデートが完了して立ち上がったら、何と英語に。

インストールし直そうかと思ったけど、メニューの「Tools」>「Change Language」で「日本語」を選択して、日本語表記に戻りました。

っちゅーか、これ、アップデーターのバグじゃないですか?