2005年12月アーカイブ

i-ram

| コメント(0) | トラックバック(0)

今年も後僅かか...。なんか1年過ぎるのが早くなった気がする。

---

紹介しようとして今までするの忘れてた。
一部で話題のi-ramでRAID0の時のWinXPの起動の様子(リンク先の動画のとこクリック)

これみてi-ramイイジャンと思うようになった。けどメモリ4Gとか高いしなぁ(´A`)


なかなか面白いアイデアなので各社色々出してるみたいね。
メモリじゃなくコンパクトフラッシュメモリを使ったヤツも出てるみたい

不揮発性メモリなので電源落としてもok&HDDより耐久性が強い&消費電力少なくてウマーらしく、個人的にスゲェ興味があるのですが、不揮発性メモリって確か書き込み回数の上限があったような...。i-ramのようにWinいれてひゃっほーぃとか無理そ。

ReadOnlyなKnoppix入れて家鯖に使うとかすれば幸せになれそうな気がする。HDD壊れるのが先か、CFの書き込み制限に達するのが先か。微妙なところ。少なくとも現時点では1GあたりHDDの数百倍は値がはるので導入するとしてもまだまだ先だろうなぁ。CFカード2G一枚700円とかにならないと買う気にならん。

λ...

| コメント(0) | トラックバック(0)

代々木で線路内に人が侵入したらしく(酔っぱらいか!?)、電車が遅延しまくり。
気づいたらこんな時間に(´・ω・`)とりあえずさっさと寝るとしますかな。

#研究室の鯖に繋がらなくなってしょぼーん中
#停電かLANケーブル引っこ抜かれたかな(´Д`;)

なんか最近コメントspamが多発してるので標準でスパム対策機能がくっついてる3.2にupgradeさせた。

mt-staticフォルダの指定忘れて途中画面が固まってヤベーってなったけどなんとか成功。
#が、なんか再構築すると500エラーが出る。ヤバイ。

とりあえずメニュー画面に慣れないとな...。(´Д`;)

#何気にBerkeleyDB使用していたのでMySQLとかに移行しようか悩み中。
#ロリポだとSQLiteがいいらしいね。今度やってみよう...

#[更に追記]
#SQLiteに移行。ホントに移行したのか若干不安だが再構築時に500エラーが出なくなったのでよしとするかなぁ...。(いいのか

#[更に更に追加]
#やっぱりちゃんとできてなかったっぽい。
#標準のmt-db2sqlではなくmt-db-convertを使ったらいけた。↓
#
#Done copying data from DBM to DBI::sqlite! All went well.
#
#Your recommended setting
#-------------------------------------
## DataSource /xxx/xxx/xxx/xxx/db
#ObjectDriver DBI::sqlite
#Database xxx.db
#-------------------------------------

php_poke_ref_.jpg

塾講のバイト帰りに買いました(amazon)
Perlのポケリファよりちょっと厚い感じ。phpは標準関数多いなぁ。

amazonでphp関連の本を検索して思ったのだが、結構本が充実してる。
標準ライブラリPEARの使い方とかテンプレートエンジンであるSmarty入門とか。(2冊とも同じ作者。目の付け所がイイ!と思う)

Perlじゃ一冊丸ごとCPANの説明なんて本は見つからないし(最近じゃWEB+DB vol25の記事ぐらいかな)テンプレートエンジンの本もオライリーのTT洋書ぐらいしかないのでちょっととっつきづらい。(WEB+DB vol25にちょっとだけ紹介記事有り)


個人的にはwebで見るより本で見た方が頭に入るタイプなのでCPANのポケリファ出版希望。Acmeの項とか読みまくりたい。(何

subclipseなら問題なかったのだが、Unixのコマンド上で
svn checkout svn+ssh://hoge@fuga~
ってやったらsvn:Can't recode stringで止まってしまった。とりあえずrm -rfで一旦消して、bona先生がすかさず
LANG=ja_JP.eucJP svn checkout svn+ssh://hoge@fuga~と打ち込んで解決。むぅ、流石だ。どーやらプロジェクト内に日本語ファイル名があるとこうなるらしい。(recodeはdecodeのスペルミスだとか。紛らわしいのぅ)

が、毎回言語の指定するのはしんどい。
その後、シェルの設定ファイル(zshっこなので.zshrc)に
export LANG=ja_JP.eucJP
export LC_ALL=ja_JP.eucJP
追加すればいいことを知る。ん~、快適(´Д`*)

win→UnixならputtyAgentをスタートアップに起動して秘密鍵を登録してから繋げばよいのだが
Unixマシンでコレに当たる作業をどうすればよいのか知らなかったので忘れないようにメモっておく。

とりあえず.sshディレクトリ内に接続先用の秘密鍵(id_dsa:パーミッション600に変更)とか置いておく(ちなみに公開鍵は.pubがくっつく。パーミッションは644が適当か。)

んでシェルにeval `ssh-agent -s`と打ち込んで(bash系の場合。csh系は-sじゃなく-cらしい)実行。

agentが立ち上がるので(ちなみにprintenvでSSH_AGENT_PIDが更新されてるのを確認できる)
後はssh-addと打ち込んで実行。パスフレーズを聞かれるので打ち込む。
これで後はputtyの時と同様毎回パスフレーズを打つ必要はなくなる。

ちなみにagentを終了させたかったらssh-agent -k

#追記
#Keychainというソフトを入れればこの辺のことを自動的にやってくれる。

tce_xmas.jpeg

土日は塾講のバイトなのでグターリ気味です⊂⌒~⊃。Д。)⊃


とりあえず学校の発表用資料の修正を月曜までにせんと...。結構やること多め。
#そーいえば何気にblog開設から1年ですか。1年もよく続けられたなぁ。と自分を誉めてみる。

しばらく書いてなかったな...

・神経質がたたって病院送り
・.confが見つからない
・マスターデータの作成

の3本でした。結構慣れない環境なのでヤバイヤバイ。subversionに慣れておいて良かったぁとつくづく思った。多分研究室の環境をcvsのままにしてたら右も左もワカラン様な状況だったとです。

とりあえずphpの勉強しなきゃいかん状況。後Ethnaというフレームワークにも慣れんとなぁ~。チュートリアルとか読まないとヤバイ。

ni_2.jpeg

今日中に組めなかったら研究室泊まるかなぁ~と思っていたのだが、なんとかうまく動いてくれたっぽい。
前回のヤツと比べて明らかに距離だけではなく時間の制約も考慮してくれてるっぽいし。

とりあえずCの方で吐き出された遺伝子と比べてみなければ...。
検証が無事終わったらようやくGAっぽいプログラミングができそう。

before_ni.png

前回の記事でちょろっと述べたLinとKernighanの算法、改善する前の巡回路の影響を受けにくいってことはGAに適用した場合、似たような遺伝子だらけになるのであんまよろしくないような気がしてきた。


とりあえずnearest insertion methodの動きが分かったので忘れないうちのめもっておく。
TSPの論文を見てみると

nearest insertion method...(2つの都市i,jの距離をd(i,j)で表すとする。)
d(i,k)+d(i,j)-d(k,j)が最小となる都市k,jの間に都市iを挿入するように枝を繋ぎ変える

らしいのだがこれじゃ全然イメージできない。(;´Д`)
ぐぐってみたらもっと分かりやすい説明をしてくれるページがあったのでそこから引用すると...

簡単に言えば、「3-サイクルから始めて、サイクルに含まれない点のうち、そのサイクルに追加して新しいサイクルを作る時最もコストが小さくなるものを選び、その頂点を追加する。この操作をHamiltonサイクルになるまで続ける」ということになる。


図にするとこんな感じか

nearest_insertion_method.png

一番距離が短くなるような箇所に3を挿入してそれが終わったら今度は5番のノードを距離が短くなるように新しくできた4つのノードの中に加えて更に今度は2を...(以下略
よーするに評価基準が距離なだけで挿入ソートと動きは同じ。

当然最初の3サイクルとその後に続くノード列によって大きく巡回路は変わる。
実際にさっき挙げたページに

変形Kruscal法が最も精度が良く、最近傍法がその次で、最近挿入法は全く精度が良くない。

とある。だけどGAで近似解を求めるなら初期世代は多様性を持った方が嬉しいのでコレ使うことにする。
幸いランダムなノード列を持つ遺伝子の生成はできてるのでこれからこれを実装してみます(´・ω・`)

将来に備え(?)忘れないウチにめもっとく。
Win以外のやり方を知らなかったのだがFreeBSDでもCool'n'Quietを有効に出来るソフトがあるらしい。

参考サイト
その1
その2(「Athlon64 4000+マシン導入!」の部分)


最新のFreeBSD6.0ならcpufreqというツールを使う方法もあるとか。
んまー、自分がAthlon64マシンを鯖に利用するときにはFreeBSDが公式にC'n'Q or PowerNow!をサポートしてくれてるかもしれない。その前にC7(以下自粛)

家でもコーディングして研究室のマシンにcommitできるようにしたいと思ったのでやってみることにした。cvsでsshでもいいのかもしれんが思い切ってSubversionに移行してみる。

rootになってportupgradeでsubversionと移行ツールのcvs2svnを入れる。

ここのページを参考に早速実行。(ただし、今まで研究室のeclipseで文字コードMS932で開発してたので[--encoding=MS932]オプションを追加した。)ものすごい勢いでコンソールが流れる。

が新たに作られたsvnrootの中を見てもそれらしいファイルが見つからない。さっき流れたコンソールには/trunk/プロジェクト名/なんちゃらかんちゃら

みたいな文字列がながれてたのに何故だ...としばらく考えてこんでたら...。
Subversion によるバージョン管理より...

Subversion には「プロジェクト」という概念はありません。リポジトリは単なる仮想的にバージョン化されたファイルシステムであり、どんなデータも含むことのできる大きなツリー構造です。管理者によってはひとつのリポジトリにひとつのプロジェクトだけを入れることを好みますが、他の管理者はディレクトリを分割した形で複数のプロジェクトを格納することを好みます。

なるほど、プロジェクト名のディレクトリはこのままじゃ見えないらしい。なんかSubversionそのものについての知識が不足してるなぁと痛感。svn ls file:///hogehoge/svnroot でtrunk発見。
svn ls file:///hogehoge/svnroot/trunkで更にプロジェクト名一覧も出てきた!

とりあえず今日進められたのはココまで。subclipseを使ってsvn+sshで繋げようと思ったが何故かうまくいかなかったので(おそらくパーミッションの問題?)月曜以降にトライすることにする。

他に参考になりそうなサイト
UNIX USER 2003 8: Subversionで管理せよ

#12/4[うまく繋がったのでいくらか修正and追記]
rootで作業しているのでこのままではsvnrootに一般ユーザではアクセスできない。

ここから先はdevという開発用のグループがあったとして話を進める。
chgrp -R dev svnroot
chmod -R 774 svnroot

これでdevに属するユーザならアクセス可能。
ユーザをグループに所属させるには

pw usermod [user] -G [group]

後はwinの方のeclipseにsubclipseプラグインを入れて
ここのページを参考にやってみた。(winなのに/区切り?と思ったが/でないとダメそう)一応JavaHLインターフェースで接続できるのを確認。
が、plinkの窓が邪魔すぎる...。なんとかならんのか?と思ってぐぐったら解決。なるほど、存在が謎かったplinkwってwindow無し版のplinkだったのね。環境変数SVN_SSHをplink→plinkwに書き直す

とりあえずjavaHLインターフェースでCVSと同等の操作ができるようになった。(´Д`人)わそーぃ
使用感としてはレポジトリビューは遅い。eclipse全体がもたつく感じがする。それに対してリソースヒストリービューはイイね。CVSの時より明らかに早いような...。


eclipse wikiのsubclipseに関するページを見る限り、
JavaSVNインターフェースの方が軽いらしいのだが、何故かこれだと接続できないのでもう少し色々試してみますλ....

本日のTC:E

| コメント(0) | トラックバック(0)

map:KARINTOU

tce_SS_5.jpeg

あまりの高低差に飛び降りてみる人多発。
ちなみに下にいるテロ側は雨あられと降る手榴弾に耐えなければならないのでツライ( つ∀`)

thunderbird

| コメント(0) | トラックバック(0)

の迷惑メールフォルダを開いたらすごいことになってた。

thunderbird_ss_0.jpeg

全ての値が初期値!(゜Д゜;) bugかのぅ...

このアーカイブについて

このページには、2005年12月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2005年11月です。

次のアーカイブは2006年1月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 7.9.3