2007年8月30日(木)

分散ストレージ

 グリッド・ストレージ・ソリューションは、物理的に分散する複数ストレージ環境を、あたかも1つの大きなストレージであるかのように利用するソリューション。物理ストレージの場所を意識せずにデータの保存・検索・読み出しを行えるのが特徴で、参照用のデータに適したソリューションのため、検索や読み出しに特に高いパフォーマンスを実現できるという。またテープストレージも利用可能で、暗号化や改ざん防止機能を活用したデータの保管にも対応する。

 日本IBMでは、大容量かつ遠隔地を含む複数拠点でのデータ管理に最適としており、レントゲンやCTによる医療画像、CADで利用される設計図面、報道機関での高解像度写真や動画など、更新が発生しない、参照用の大容量・大量のデータ保管での利用を想定する。さらに、データを効率的に分散することから、障害・災害対策など業務システム全般にも適用できるとのこと。

日本IBM、グリッド技術を活用した大規模データ活用ソリューション

2007年8月22日(水)

電源問題

東電の電力供給が悪いのか、 PC の電源が落ちまくって困る

もともと、起動時に HDD の spin up にもコケるほど電源容量に余裕のない PC なんだが、昨日まではそれなりに使えてたのに急に起動して数分も経たずに電源が落ちるようになってしまった

かなり時間喰いそうな計算やらせようと昨日の晩に計算しかけて帰ったのに、どうやら戸締りして部屋を出た直後には落ちてたようで、今日になってみたら全然安定しないでやんの……

とりあえず、夜になるのを待って、電灯とかエアコンとか切りまくって、それでも落ちまくるんで古い UPS 間に挟んでみたらやっとなんとか動き続けてるっぽい

これで最後まで計算できるんかな……

……朝来たらちゃんと落ちずに計算も続いていた。けど、こりゃ時間かかるなもう1日以上は要るな…

…と思ったら昼飯食ってる間に電源落ちてやがったorz
駄目すぎる

2007年8月21日(火)

TeX 数式

久しぶりに LaTeX で気合入った数式書こうとしたら、ボールドでイタリックとかギリシア文字(小文字)でボールドとかの書きかたを忘れていてしばらくハマる。

答えは…、結局自分の日記見た

あまりに面倒なのでマクロ書いとこうとして、書き方思い出すのに自分用マクロファイル見たらちゃんと書いてあったわ…
そうか…、このためのマクロだったのか……

2007年8月16日(木)

texlive

巨大パッケージ群 texlive

前回インストールされた後も、手動で全言語版パッケージを消してまわるハメになったんだが、ふと texlive-latex-extra なんて実は要らんのじゃ…と思って消しだしたら…

texlive-math-extra を消したところで ptex-bin までうっかり消される

じゃ ptex-bin をインストールすれば texlive-math-extra とセットで戻ってくるかというと………

colinux{yagi(pts/4)}1077: sudo apt-get install ptex-bin                     zsh
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  texlive-lang-finnish texlive-lang-latin texlive-pstricks
  texlive-lang-portuguese texlive-lang-french texlive-lang-greek
  texlive-lang-spanish texlive-lang-cyrillic texlive-lang-swedish
  texlive-latex-extra texlive-publishers texlive-bibtex-extra
  texlive-lang-norwegian texlive-lang-italian texlive-lang-german
  texlive-fonts-extra texlive-lang-danish texlive-lang-croatian
  texlive-lang-dutch texlive-lang-hungarian texlive-lang-mongolian
  texlive-lang-vietnamese texlive-lang-czechslovak texlive-lang-other
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  texlive-bibtex-extra texlive-fonts-extra texlive-lang-croatian
  texlive-lang-cyrillic texlive-lang-czechslovak texlive-lang-danish
  texlive-lang-dutch texlive-lang-finnish texlive-lang-french
  texlive-lang-german texlive-lang-greek texlive-lang-hungarian
  texlive-lang-italian texlive-lang-latin texlive-lang-mongolian
  texlive-lang-norwegian texlive-lang-other texlive-lang-portuguese
  texlive-lang-spanish texlive-lang-swedish texlive-lang-vietnamese
  texlive-latex-extra texlive-math-extra texlive-pstricks texlive-publishers
Suggested packages:
  dvipsk-ja jbibtex-bin jmpost mendexk cm-super
Recommended packages:
  texpower texlive-generic-extra
The following NEW packages will be installed:
  ptex-bin texlive-bibtex-extra texlive-fonts-extra texlive-lang-croatian
  texlive-lang-cyrillic texlive-lang-czechslovak texlive-lang-danish
  texlive-lang-dutch texlive-lang-finnish texlive-lang-french
  texlive-lang-german texlive-lang-greek texlive-lang-hungarian
  texlive-lang-italian texlive-lang-latin texlive-lang-mongolian
  texlive-lang-norwegian texlive-lang-other texlive-lang-portuguese
  texlive-lang-spanish texlive-lang-swedish texlive-lang-vietnamese
  texlive-latex-extra texlive-math-extra texlive-pstricks texlive-publishers
0 upgraded, 26 newly installed, 0 to remove and 0 not upgraded.
Need to get 210MB of archives.
After unpacking 406MB of additional disk space will be used.
Do you want to continue [Y/n]? n

ちなみに、直前の状態で残っていたパッケージは

ii  texlive                            2007-10                         TeX Live: A decent selection of the TeX Live packages
ii  texlive-base                       2007-10                         TeX Live: Essential programs and files
ii  texlive-base-bin                   2007-12                         TeX Live: Essential binaries
ii  texlive-common                     2007-10                         TeX Live: Base component
ii  texlive-doc-base                   2007-3                          TeX Live: Base documentation
ii  texlive-font-utils                 2007-12                         TeX Live: TeX font-related programs
ii  texlive-fonts-recommended          2007-10                         TeX Live: Recommended fonts
ii  texlive-generic-recommended        2007-10                         TeX Live: Miscellaneous generic macros
ii  texlive-latex-base                 2007-10                         TeX Live: Basic LaTeX packages
ii  texlive-latex-recommended          2007-10                         TeX Live: LaTeX recommended packages
ii  texlive-pictures                   2007-10                         TeX Live: Packages for drawings graphics

なので、これだけあれば普通に動いてるっぽいんだがなぁ………

mercurial による孤立環境のファイル同期

試してみた。

Mercurial を選んだのは、別に python 萌えだからではなく以下に見るように野良 build の都合 (darcs のために Haskell の build からやってるわけにはいかん)

colinux をマスター環境、他に host A, host B があったとする。 どのホストも FW の遥か後方に位置していて互いに direct access はできない

  1. インストール
    1. colinux は root を握っているので適当にバイナリインストール
    2. host A, host B ではpython はインストール済みとする
      1. ソースを取得
      2. (make all して) make install-home すると、 ~/ 以下に実行ファイルと python モジュールがインストールされる
      3. モジュールのインストール先( ~/lib/python とか) を PYTHONPATH に追加する
  2. マスター側で登録
    ($HOME の dot file を CVS 管理しているので、これを hg でも二重に管理する)
    1. $HOME で hg init
    2. とりあえず、 .screenrc .zshenv .zshrc .zlogin .zlogout あたりを hg add
      ちなみに CVS リポジトリの方の最初の日付は 2002年7月22日。登録されてるファイルには .Xresources から .wl, .addresses, .folders はては .signature まで…
    3. hg commit
    4. (hg bundle できなかったので) hg export tip > H0
    5. この H0 を、境界ホストを通じてなんとか host A まで転送する
  3. host A での登録
    1. とりあえず tmp dir を作成しておいて、そこで hg init
    2. hg import H0
    3. .hg ディレクトリを ~/ に mv
    4. hg diff で確認すれば host A specific な修正が判るので適宜修正して hg commit
    5. これを host B に反映させるべく抽出する。 hg log で revision 番号を確認して hg export rev > H1
      (import する時のことを考えて、適当に分割して commit/export すること)
    6. この H1 を境界ホストを通じてなんとか host B まで転送
  4. host B での登録
    1. H0 を境界ホストを通じてなんとか host B に転送
    2. host A と同様に、 hg init して H0 と H1 を import
    3. .hg を ~/ に mv
    4. hg diff しててきとうに修正して hg commit
    5. 修正分を hg export rev > H2 してこいつをなんとか host A まで転送
  5. host A で merge
    1. hg import する
  6. マスター環境に戻る
    1. H1 および H2 を hg import すれば、 host A, host B の差分を取り込める
    2. cvs commit して終了

注意
たとえば上の例では、 host A, host B では .zlogin/.zlogout はほとんど殺してあったりする。 なので host A で修正して commit する時は、こいつだけまず commit する。 export する時もこれだけの差分で抽出しておいて、 host B には持っていって適用するが、 マスター環境には持っていかない

しかし、やっぱり転送の部分が死ぬ程面倒だな〜。 文章で書くと簡単なんだが、一々 scp して、 host によっては ssh-agent が効かなかったり DNS 逆引きの timeout 待ちされたり、そもそも DNS 引きそこなったり…
これに VPN まで加わったらやっぱり死ねる

そして、これ、差分/revision control の部分って結局人手でやってるんだよな〜。やっぱ破綻しそう…

2007年8月12日(日)

version control 3

とりあえず手元で試してみた

試してみたのは (Tortoise)Darcs と Mercurial で使い勝手を比較。

まず TortoiseDarcs だが、とても TortoiseSVN ほどの高機能さは望めない。
そもそも TortoiseCVS の cvs を叩くとこだけを差し替えただけっぽいし開発が続いているかどうかも怪しい。
darcs の制限かもしれんが、 diff すら外部ツールに頼られるとな〜

一方、 Mercurial はコマンドライン版しかない
まー Unix ならコマンドラインだけで何も不便を感じないんだが、そこは windows のコマンドプロンプト。あんな補完も低機能な環境でちまちまやってらんないよ

これならまだ、 explorer で見た処で改変があったかどうか表示される TortoiseDarcs の方がマシ

TortoiseCVS の方のドキュメントで確認して diff には ExamDiff を使うことにする

windows 用コマンドライン版の (gnu) diff は
http://www.fsci.fuk.kindai.ac.jp/aftp/pub/win32/patch-diff-w32.zip
これらしい

あとは Linux の方で、 dot file なんかを CVS に突っこんであるんだが、遠隔地のホストに持ってて、向うで書き換えて、こっちでも書き換えて merge したいなんてこともあるので、そこらへんでも使ってみるかなと考えてる

さすがにそっちじゃ、野良 install の可能性があるので build に Haskell なんて超マニアックなものの要る darcs は使えんべな。むしろ python script 一発の mercurial か
どこからでもアクセスできるところにリポジトリ置けてれば別に分散でなくてもいいんだが…

そういや、 cvs から darcs へのリポジトリマイグレーションはあるんだけど mercurial はないっぽんだよな・・・

2007年8月10日(金)

関東脱出

暑くて窓開けててもロクに眠れなくなってきたのでさっさと北国に脱出

クーラーはないのでじっとしてるとさすがに暑いのだが、それでも夜は断然涼しい。
夜寝れる方がずっとマシだ。
もうちょっと外気が入ってくればいいんだがな〜

version control 2

バージョン管理ものの続き

分散型で darcs というのもあるらしい

Mercurial, darcs, Bazaar - tune web
Programming/2005/10/26/arch->darcs
2006/09/15 - val it : α → α = fun
FrontPage - darcs Japanese info

tortoise darcs があるというのは魅力だな〜
windows で作業しててすっかり堕落した

でも指定した任意のバージョン間で diff とって patch にしたりとかは Unix で svn 叩いてる方が楽

2007年8月8日(水)

version control

仕事で書くコードは昔は cvs 今は svn で管理してるんだが、俺がやってるような、あれこれ計算モデルを考えてみてそれぞれ variant を作りまくっては結果で評価というのにはこういう cvs や svn のような、メインとなる trunk の管理が主で、枝も分岐はさせられる、という類いのは、あんまり向いてないんじゃないかと最近思ってきた。

結局、ある時点でベースとなるコードがあって、それに対して色々と候補を作るわけだがどれがその後 trunk になるかは判らんし、いろいろ評価中で commit できないでいるところへ、 bug fix やその他でベースへの修正が発生したりすると、検討中のにマージしにくかったり、すると評価が変わるんでできなかったり…

gnu arch とかが差分ベースだったが、そういうので楽なのなんかあるかな

で、調べてみた

arch の実装の一つが gnu-arch らしい
これは随分昔にちょっとだけ見たことあるけど、ちょっとぞっとしないな〜
fuki - fuga's Wiki - GNU arch

類似ので Linux がソースの管理に使ってるのが git
IBM Git を使ってソース・コードを管理する : Linux : dW - Japan
git: Linux kernelのためのバージョン管理システム(VCS)
Git入門

さらに git 類似で Mercurial というのがあるそうな
夜でもアッサム: gitとMercurialの比較[SCM]
steps to phantasien t(2007-01-18)
Mercurial の利用
Pythonで分散バージョン管理
JapaneseTutorial - Mercurial


Linux はあんま好きじゃないから(ぇ、 Mercurial にするかなぁ…
Mercurial も python で書かれてるそうだから、ちょっと気が乗らないが…

2007年8月5日(日)

openmg

久し振りに携帯に音楽転送しようとしたら、また OpenMG でインストーラが起動してはスタックを繰り返す・・・

おかしいな?まえに一度解決したはずだが・・・

いろいろ調べてて、これを見てはっと気がついた
Going My Way: VAIO 利用時に OpenMG Secure Module.msi の場所を指定しろというエラーが出た場合の対処方法


そういや俺も、 \windows だの \program files 以下でてきとーに要らなそうなファイル何度か消したなぁ。…とくに install ファイルの残骸っぽいのとか・・・

あー、要るファイル消してたのか…なら再インストールすりゃいいだけだな

2007年8月4日(土)

待ち合わせ場所:カリヨン広場(ただし時計はなし)

20070804195-2.png

某米沢のでんでん関係者(謎)の残党で呑み
ワイン何本開けたか誰も把握できなくなる体たらく。 …てゆーか、某Big-Florian呑みすぎ。ワインそんなカパカパ開けんなよー

食い物は旨かったが、大声で騒いでいたので店員や他の客にはいい迷惑だったろう


2007年8月3日(金)

バグ取れた…

…多分だが

素晴しい!実に素晴しい!えくせれんと!!!
まさに俺にしかできまい

1ヶ月以上もこれに潰されてて、そろそろこの案件の人月使い切りそうだったので、これ以上やるだけ損なのでもうやりません。お金いいです。言おうかというところだった…

潰したバグはチョンボが1件、実装のチョンボが2件…
誰だ?!盲目的に Euler スキームだから駄目なんだ Crank-Nicholson にしろばかり云いやがったのはっ!


…やっと検証計算が、いつも発散を始めていたあたりまで来た
なんか怪しいがさてどうなる…
なんとか許容範囲内で押さえ込めないか?

…というところで終電なので帰る。さて月曜にどうなっているか

[referer: [an error occurred while processing this directive]]

« 2007年07月 | Main | 2007年09月 »

2007年12月 2007年11月 2007年10月 2007年09月 2007年08月 2007年07月 2007年06月 2007年05月 2007年04月 2007年03月 2007年02月 2007年01月 2006年12月 2006年11月 2006年10月 2006年09月 2006年08月 2006年07月 2006年06月 2006年05月 2006年04月 2006年03月 2006年02月 2006年01月 2005年12月 2005年11月 2005年10月 2005年09月 2005年08月 2005年07月 2005年06月 2005年05月 2005年04月 2005年03月 2005年02月 2005年01月 2004年12月 2004年11月 2004年10月 2004年09月 2004年08月 2004年07月 2004年06月 2004年05月 2004年04月 2004年03月 2004年02月 2004年01月 2003年12月 2003年11月 2003年10月 2003年09月 2003年08月 2003年07月 2003年06月