2010年3月31日水曜日

サーバートラブル ( その2 )

トラブルもやっと収束に向かっているようで、まだ、新しいコントロールパネルの機能の一部が機能していないようだけれど、落ち着いてきた。

.htaccess ファイルや、mod_rewrite が、コントロールパネル上では使えるようになったように見えるが、実際にはまだ機能していない。これが本当に使えるようになるのか、それともたまたま有料オプションの機能が紛れ込んでいるだけなのか、その辺のところがよくわからない。
他にも、DNSの設定機能とかが増えていて(これは実際に使えているみたいなのだが)これがバグでなく本当に新しい機能ならうれしいところ。

で、一旦退避していたサイトを戻すことにした。ファイル容量の計算法が変ったようで、少しけづらないとOverQuotaになってしまう。今回のアップデートで残念ながらデグレードになってしまったところ。

---
[追記] DNSの設定機能は無くなっていた :-(

---
[追記:2010/04/08] メールは依然として届かないみたい。問題を把握していないのか、それとも修正の優先順位が低いのか...

2010年3月30日火曜日

REDUCE ( その2 )

どうも、このREDUCEは別のlispでコンパイルするのではなくて、bootstrap用のlispが最初から用意されているみたい。
SHELLを /bin/sh にしたり、make を gmake にしたりする手間はあるものの、特に修正が必要な場所もなくすんなり compile は成功。gmake install したら gmake が 6000個も動き出して swapを使い切ったのには慌てたけれど、まあこの辺は手動でコピーするということで。


ws# reduce
Reduce (Free CSL version), 30-Mar-10 ...

1: (x+y)^2;

2 2
x + 2*x*y + y

2: bye;
ws#

REDUCE

昔のプログラムを動かすためだけに保存してある古い環境が一つ残っているのだけれど、*もしかしたら* と思って検索してみたら、なんと、昔は有料だったそのプログラムが今はオープンソフトウェアで無料になっていて、Windows用(やいくつかのlinux用)には、コンパイル済みのbainaryまで配布されていた。

MAXIMAがフリーになっていたのは随分前に知っていたけれど、REDUCEもフリーになっていたのね。昔のreduceは、KCL(Kyoto Common Lisp)でコンパイルして使っていたのだけれど、KCLは GCLに発展したのだけれど、GCLでは昔の reduce はコンパイルできなくて、それで昔の環境が捨てられなかったというわけだ。
今となっては、古臭いユーザーインターフェースだし、かといって捨ててしまうにはちょっと愛着がある、といったところ。
フリーになった reduce が、今の GCLでコンパイルできるかどうかはまだ試していないけれど、reduce-x86_64-unknown-freebsd6.2-20090414.tar.bz2 という64bit版のbinaryは作られているようだから、それほど難しくはないのだろう。

2010年3月26日金曜日

サーバートラブル

ずっと安定していて気に入っていた無料レンタルサーバーがあるのだけれど、この一週間くらいトラブルが続いている。
掲示板の方をみるとどうもサーバーの引越し(と機能強化やらなんやら)をやっているらしく、繋がらない、更新できない、いつになったら終るのか、といったメッセージで溢れている。
今日はネームサーバーの方もとらぶっているようで、名前が引けなかったりしている。

規模が随分大きくなったのも理由の一つなのだろうが、もしかしたら別の資本が入ってきたのかもしれないね。拙速さがめだつ更新なので、何かタイムリミットのある引越しだったのかな。

2010年3月22日月曜日

NTTのGPL違反 ( その2 )

さて、NTTによれば、「公開準備中」という回答なのだが、時間稼ぎをしてうやむやにするつもりなのかな。もう一ヶ月も待たされているのだけどね。

一応 BusyBox には連絡を入れておいた。
RedBootにも連絡を入れたほうがいいかな。


Atheros のドライバの扱いは、どうなっているのだろう?
1.x の頃はよくわからないけれど、6.x に組み込まれているものは、たぶん、BSD & GPL の dual license の mad-wifi と呼ばれるドライバのように見えるのだけれど、Linuxのカーナルモジュールとして使うときには BSDライセンスを選べるのだっけ?
BSDライセンスを適用するなら、とりあえずソースコードの公開義務はないけれど、「著作権表示をしていない」時点で、 BSDライセンス違反だね。

---
[追記 2010/04/10] 4月10日現在、まだ公表したという知らせはこないですね。まさか、linuxのソースの公開だけでお茶を濁すつもりじゃないよね?
---
[追記 2010/04/21] linux以外のソースは何が公開されるのか聞いたら、また返事がなくなった。やっぱりlinuxのソースだけで逃げるつもりだったのかな?

2010年3月21日日曜日

WEBプログラミングばかりやっていると

制限された表現力に慣れてしまって、プログラミングの楽しさを忘れてしまうね。
ちょっとまともなアニメーションをしようと思うと、すぐにHTMLの枠には収まらなくなってしまって、flashなり javaなりに頼らないといけなくなるし、かといって flash や java が native なアプリほどの書きやすいわけでもないから、そんな部分にコスト(労力)をかけていても、何だか空しさが付き纏う。

もちろん、WEBの枠内でも(いまさら HTMLをガリガリ書くことは減ってきているし)別の楽しみ方はあるのだけれど、プログラミングのフラストレーションはたまる一方。

2010年3月20日土曜日

ダミーのキーボード ( その3 )

結局、netboot と組み合わせて、キーボードレス・ディスクレスの X端末に仕立てる。
login も、xdm 起動時に、X を :0 で動かして、これに対して x11vnc で接続して操作することに。

2010年3月15日月曜日

netboot ( その2 )

久しぶりに diskless boot を試す。
( 久しぶりに ... というのは、たぶん 20年ぶり位。ほんと。)

PXEが一番一般的だというのは知っているので、その辺から調べる。
dhcpでブートファイル名を読み込んで、tftpでそれを取り込んで、ファイルシステムは NFSでマウントする ... ってまったく昔と変っていないね。少しは変化したのかと思っていたら拍子抜けだ。

名前こそ昔の bootp から dhcp に変っているけれど( もともと、dhcpは、bootp の拡張として考案されたわけだし )、他は受け渡せるパラメータが、たぶん増えているのだろう。

NFS越しの flock で、少し嵌ってしまったけれど、デーモンの起動順序の問題だということで、これも一応解決。

PXEで、リモートインストールできる( 特に Windows ね) という話が見つかったので、これは、周辺機器がほとんど備わっていないネットブックへのインストールには使えるかもしれない。

2010年3月12日金曜日

マイページ

そろそろ、懸案のマイページに、取り掛かろうかな。
SNSのような、ユーザー間の連携は無し。( 統計情報的なものは出すかもしれない )
一種の クラウド ではある。

2010年3月8日月曜日

ルービックキューブ ( その3 )

今は解説本も出ているし、検索すればいろいろ出てくるはずなので、いまさらどうという話題ではないのだけれど。

家にも一つキューブがあって、大抵は一面だけが揃った状態で放置されているのが常なのだけれど、たまには正攻法で元に戻してみようか、ということでしばし戯れる。

正攻法で、というのは、ばらばらに分解して元に戻すというのはナシということ。

解き方自体は、昔流行った当時に一つ考案していたので、それを思いだすだけのことなのだが、細かいところをちょっと忘れてしまっていたので、じっくり思い出してみたということ。

最初のステップは、偶置換になるようにすること。
まあ一手動かせば奇置換は偶置換になるので、問題は現在の状態が偶なのか奇なのかを判定することに帰着するわけだ。
一番手っ取り早い判定法は、8つの頂点の位置(向きは問わない)を揃えること。
8つの頂点のうち、一面分にあたる4つの頂点を揃える(向きは問わない)のは造作もないことなので、この4つを揃えた時に、残りの4つの頂点がどうなっているかをチェックする。
一つだけ合っていて、残りの三つが巡回的にずれていれば偶置換なのでそれで良し。二つ合っていて、残りの二つが互換になっているようなら、これは奇置換なので、90度ずらして3つが巡回的にずれているようにする。

ここから後は、すべて偶置換の操作しか行わないので、最後まで偶置換の状態が保たれる。
具体的には、A B A'B' ( A' は Aの逆の操作) や、X'(偶置換)X の形の操作しか行わない。
( 数学的には、A B A'B' は A と B の交換子 [A,B]と呼ばれるもの。X'YX は Y の共役だ。)

8つの頂点を合わせるというのは、別の言い方をすれば、2×2×2のキューブの解き方と同じなので、これは試行錯誤していれば誰でも簡単にできるようになる。ここでは位置だけを問題にして向きは問わないのだから、ずっとやさしい。( まあ、すっかり忘れてしまっていたけれど。)

次のステップは、12の辺の位置を揃える(向きは問わない)こと。これは、上の交換子の記号を使うなら、[A,B][A,B]で、頂点の位置を変えずに、辺のうちの3つだけを巡回的に動かせるので、これと、その共役の操作を何度かやればできる。

その次は、12の辺の向きを揃える。これは、[A,B][A,B][C,B][C,B]で、頂点の位置や辺の位置を変えずに、二つの辺の向きだけを変えられるので、これを何度かやればできる。

最後に、8つの頂点の向きを揃える。これは、[A,B][A,B][A,B][C,B][C,B][C,B]で頂点の位置を変えず、辺の位置と向きを変えずに二つの頂点の向きだけを変えることができるので、これとその共役を何度か繰り返せば完成になる。

一面ずつ揃えるという一般的な解き方とはちょっと趣が違うので、途中の段階までは、揃っていっているという実感が(見ている人には特に)あまりないのが難点といえば難点。

( 結局、基本交換子 [A,B] が、頂点4個を二つずつ位置を交換して、辺3つを巡回させることから、それを組み合わせて頂点を動かさない変換や、辺の位置を動かさない変換を合成することに帰着させるという仕組み。)

とりあえず、親の威厳は何とか保ったかな。

---
[追記] 辺の向きを揃えるところは、[A,B][A,B][C,B][C,B] でなく、[A,B]X[C,B]X' でできたはず。これだと、前者が16手なのに対して 10手ですむ。少し余分な記憶力が必要になるけれど。

2010年3月6日土曜日

gentoo linux ... ( その3 )

gentoo linux を引っ張りだしてきたのも、jffs2 ファイルシステムのイメージをマウントするのが目的だったわけなのだけれど、一応、作業メモ。

1. mtd 関連と、jffs2 関連のサポートを有効にして、kernel の再構築。
( どれか本当に必要なのかよくわからないが、mtd block デバイスあたりまでは必要らしい。)
2. mtd_utils を emerge。( これが、結構バージョンチェックがうるさいかも。)
3. jffs2dump でファイルの中身を確認。bigendian と little endian の違いでエラーがでるようなら、endian の変換。
4. /dev/mtdblock0 が、存在しないようなら、mknode b 31 0 。( ここで作成されるブロックデバイスの大きさは、kernelの再構築の際に何か指定する場所があったような気がする。
5. dd if=jffs2のファイルイメージ of=/dev/mtdblock0
6. mount -t jffs2 /dev/mtdblock0 マウントポイント

ただ、ファイルシステムイメージがクリーンでないもの(つまり、作成された後に、何か修正が加えられたもの)の場合には、修正された部分がうまく読み込めていないような気がする。

linksysの無線ルータ ( その2 )

買ったはいいけれど、ちょっと癖があるね、このルータ。

今日は遅いので、ここまで。

---
[追記] ときどき、妙に電波が弱くなることがあるのだよね。
受ける側の問題なのか、周囲の電波の干渉のせいなのかはよくわからないのだけれど。
直線で 5m位の距離なので、常に「強い」か「非常に強い」で接続していてもおかしくないのだけれど、ときどき「弱い」の状態になる。
まあ、それでも 36Mbit/sec程度はキープしているようから、よしとしよう。

2010年3月5日金曜日

linksysの無線ルータ

linksysの無線ルータが780円で売られていたので思わずGET。
何年か前に3000円位で大量に売られていたモデル。そのときは仕様がよくわからなかったので手を出さなかったのだけれど、その時に調べた記憶をたよりに今回は入手しておいた。
ちょうど、RT200KIがらみで無線アクセスポイントの構成を再考しなくてはいけないこともあるし。

で、何はともあれメーカーのサイトを見にいったら、去年の2月に営業活動を終了していて、今残っているのはアフターケアのためだけになっている。まあ、それならこの値段もうなずける。

確か linuxを載せる hackの話題もあったなぁ と検索をかけてみると、こちらは、型番が微妙に違う別のルータだった。

2010年3月1日月曜日

gentoo linux ... ( その2 )

ひさしぶりに、gentoo を弄ってみたら、EAPI がどうのこうのと文句を言われて、emerge ができなくなっている ;-(

検索してみると、2008年頃に、この辺の仕様が変ってきているみたいで、なんやら portage をアップグレードしないといけないらしい。BLOGの記事を遡ってみると、最後に gentooを使ったのが、2007年の事のようだから、その間に変化があったようだ。

さて、どうやったら スムースにアップグレードできるのだかよくわからない。 gentooのクリーンインストールは結構時間がかかるので ( ソースからコンパイルしないで、バイナリをうまく取り込めば多少速くできることはわかっているのだが、もう細かいやり方を忘れてしまった )あまりやりたくないのだが ...

まあ、たいしてカスタマイズしてあるわけではないので、(時間はともかく)手間は新規インストールが一番少なそうなのだが...