平衡点
2009/02/01
_ howm を適当にパースする
以前 howm をファイル分割した際に, ついでに howm ファイルを適当にパースして RD に渡して出力する(d:id:sasakyh:20081227#p1), なんていうスクリプトをでっちあげた.
howm ファイルがあまりに多くなってきたので, ちょっと修正して timestamp を比較することにした.
...長くなってきたし, そろそろリファクタリングしたい...
2009/02/05
_ wc とか文字コード一発変換とか
emacs 内で wc を使いたいので, wc.el を導入してみた. 非常に便利. そして関数名まで wc に変更してみたりして.
ついでに, text-adjust.el も導入.
さて, もっとガシガシコードを書こう.
しかし, 安心して使える Fortran90 コンパイラってなんなんだろう...
2009/02/09
_ CSS での段組みとか
久々に float とか margin とかネガティブマージンとかゴニョゴニョする.フォントサイズを変えた時でも段組を維持したいので, サイズ指定は大抵フォントサイズで行なっているので, しばしモニョっとしつつ.
muse の出力でもって, 「Recent Changes」とか出せないかなぁ. あと RSS 出力(これはできるッポイけれど).
うーん.
_ emacs の muse-el で プレゼン用 PDF を作成する
lurdan さんトコ(「muse-mode でプレゼン pdf を作る (1)」id:lurdan:20090207)に反応してみる.
うわばみ さんの設定では latexmk-pdf とされていたので、sid で aptitude install latexmk してみたけど、pdf にまつわる設定は特に見当たらなかった。多分自作のスクリプトか何かだろうなー、と思いながら本家の latexmk ページを見ると、どうも最新版では dvipdfmx に渡すオプションもあるようだ。debian のパッケージは暫く放置されているようだったので、apt-get source して無理矢理最新に追従させてみた。---
はーい. latexmk-pdf はでっち上げた単なるシェルスクリプトです. こんなの.
#!/bin/sh SRC=`basename $@ .tex` latexmk -dvi $SRC dvipdfmx $SRC
latexmk 自体は debian パッケージ版を使用しています. 設定(~/.latexmkrc)は以下の通り.
$latex = 'platex'; $pdflatex = 'platex'; $latex_silent = 'platex -interaction=batchmode'; $bibtex = 'jbibtex'; $dvips = 'dvips'; $dvi_previewr = 'xdvi-ja.real'; $dvipdf = 'dvipdfmx';
個人的にはあんまり賢くない, とは思っていますが, 相変わらず「動くから良いや」です.
あと,
* beamer の書式がよくわかってない---
beamer の書式は私も良くわかりませんけれど, いわゆるプレゼン作成だけなら,muse の中で閉じますよね. 同じソースから, beamer の pdf と (x)html を出力しようとするとちょっとゴニョゴニョしないといけないかもしれませんけど.
それとも, lurdan さんが「書式」って言ってるのは「テーマ」の事でしょうか? だとすれば, 私も知りたい. beamer デフォルトのテーマはイマイチ好きになれないし, 電脳ロゴ入れたいし(どうでも良い?).
そんな訳で, 結局計算機なプレゼンには相変わらずRabbit使うんだろうなぁ... Rabbit 愛しているよ Rabbit((とか言いつつ, preformatted のフォントサイズをどう指定しておけば良いのかわかっていない今日この頃))
ちなみに muse で書いている計算機メモは微妙に見栄えを弄ってみたりした. css で段組みなんて久々にやってみたけれど, どうだろう. firefox(iceweasel) でしか確認していないけれど I.E. で見るとやっぱズレたりするんだろうなぁ...
ところで, 右サイドバーと左サイドバーは, どっちが好みですか(と,唐突に聞いてみるテスト)
2009/02/10
_ 明日はコードを書こう, と思うのでメモ
- 「分割出力されている NetCDF ファイルを結合する」プログラム.
- データは緯度の絶対値が同じ緯度円毎に分割されている
- つまり, MPI rank0 が 赤道近辺, MPI rank が最大のファイルが南北の極域.
- 初期値設定ルーチン(これはすぐできる, ハズ)
- 全エネルギーを無次元数 1 に規格化した乱数データ
- 全エネルギー値を無次元数 1 に規格化した回転軸双極子データ
- 全エネルギー値を無次元数 1 に規格化した赤道双極子データ
- ドキュメントとかイロイロ
- rdoc-f95 に合わせて, プログラムにコメント埋める, という作業.
とメモしておく.
願わくば終了時刻が 2/11 36:00 とか 2/11 48:00 にならないことを...
(追記)順調に遅れている... orz
2009/02/13
_ 2/14 はチョコなんかと関係ありません!
べ, べつにチョコなんか欲しくないんだからね.
という話は置いておいて,
先ず一つ目
日本時間だと, 2009/02/14 08:31:30 です. 土曜の朝から TV 見てたりするそこの人も, UNIX time なるモノを知らなかった人も, ちょっとした記念(?)に自分の手元の計算機で 1234567890 を確認してみては如何でしょうか?
続いて二つ目. やまねさんが記事を書いてらっしゃいますが, ようやく Debian GNU/Linux 5.0(lenny) がリリースされます(( 02/15追記. 出ましたね→Debian GNU/Linux 5.0 released )).
うーん. バレンタインってなんだったかなぁ. あんまり覚えていないなぁ...
2009/02/15
_ Debian GNU/Linux 5.0 lenny がリリースされました
- リリースアナウンス原文
どっかの DQ みたいに「出す出す詐欺」にならなくて良かった((CD image の作成に時間がかかったみたいだけれども)).
というわけで, さあ etch -> lenny へ行きましょう.
ちなみに手元の計算機は squeeze に移行しようと思っています.
_ モニョっとするメール二つ
夜半にモニョっとするメールが二つ届いた.
一つ目は, 上の方での混乱? それとも私がわかっていない? どっちにしろたいした問題ではない(?)ので, まあ良いや.
二つ目は, 先日北海道側であったメールと同じ内容かな. 当事者の年齢(学年)が上なだけ, 大変始末に困るなぁ. 口を出すべきじゃあ無いと思いつつ, ちょっとメールを書き始める.
...頭を冷やしてから, もう一度読み直してみよう.
2009/02/20
_ Debian パッケージ作成環境の構築
先日, 念願の 64bit 環境を手に入れたので, 野良パッケージ作成様の環境を構築した. 母艦は Core2Quad の Debian GNU/Linux 5.0(lenny), amd64. ここに amd64,i386 の pbuild 環境を構築する. 作成する野良パッケージは, 主に地球流体電脳倶楽部 で公開しているソフトウェア群.本家に上げたいのだけれども, ライセンスの確認(あんまり問題無さそう)とFortran コンパイラの問題ので, とりあえずは保留.
必要なソフトウェアの導入
クリーンな依存関係の test/clean な build 環境を提供するためのパッケージとして,Debian にはpbuilder がある. これを導入する. で, pbuilder では環境を固めた base.tgz を展開し chroot しているのだけれど, これを少し高速化するためのパッケージとしてcowdancer がある.これらを導入する.
環境構築
cowbuilder の設定
以下に書く内容は非常に ad hoc. 今ドキュメントを眺めてみると, もうちょっと賢いやりかたはある.
64bit 版(amd64)の base.cow を作成する. ここでは /var/cache/pbuilder/lenny-amd64.cow に置くことにする.
$ sudo cowbuilder --create \ --distribution lenny \ --basepath /var/cache/pbuilder/lenny-amd64.cow
32bit 版(x86)の base cow は /var/cache/pbuilder/lenny-i386.cow に作成
$ sudo cowbuilder --create \ --distribution lenny \ --basepath /var/cache/pbuilder/lenny-i386.cow \ --debootstrapopts --arch --debootstrapopts i386
初期設定として, それぞれに電脳サーバの apt-line と GPG Key を追加しておく.
$ sudo -s # HOME=/root cowbuilder --login --save-after-login
login できるのだけれども base system しか無いので vi が無い.面倒なので cowbuilder がハードリンクを貼った先(/var/cache/pbuilder/build/pid.cow) を修正する
追加した apt-line は電脳サーバの apt-line と localhost の apt-line.最初は deb file:// としていたのだけれども, pbuilder/cowbuilder は chroot しているので親のファイルが見えない. しょうがないから localhost 閲覧限定で httpd(apache) を上げて, そこから取得することにする.
追加した apt-line は以下の通り.
# GPG key: AEE995F4 deb ftp://www.gfd-dennou.org/arch/cc-env/debian-dennou/ lenny/ deb-src http://www.gfd-dennou.org/arch/cc-env/debian-dennou/ lenny/ deb http://localhost/debian/ ./ deb-src http://localhost/debian/ ./
あとは GPG key の追加. これは cowbuilder で login した shell で apt-key を実行して追加する.
apache の設定
pbuilder/cowbuilder から参照できるようにlocal に httpd を立ち上げて, 作成したパッケージが apt で取得できるようにする.その後で /etc/apache2/sites-available/pbuild を作成して以下の内容を追記.
$ sudo aptitude install apache2 $ cat /etc/apache2/sites-available/pbuild <VirtualHost *:80> Alias /pbuild/ "/var/cache/pbuilder/result/" <Directory "/var/cache/pbuilder/result/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost> $ sudo a2ensite pbuild
これで pbuilder/cowbuilder の chroot 環境でもhttp://localhost/pbuild が見えるようになる.
スクリプトの準備
パッケージの構築には以下のスクリプトを使用(( .pbuildrc で設定できる項目もあるけど )).
電脳サーバではパッケージを pool スタイルで管理していない((パッケージ名のディレクトリに置いてある))ので, パッケージ名のディレクトリを作成し, そこに結果を置くことにする.
あと, 作成したパッケージを apt で http://localhost/pbuild から取得できるように作成したパッケージを/var/cache/pbuilder/result/ にハードリンクして, apt-ftparchive を実行している(mkaptline, 実体は apt-ftparchive + 鍵署名).
# source: bash #!/bin/bash set -e PWD=$(pwd) DENNOU_PKG_NAME=`echo $@ | awk -F_ '{print $1}'` RESULTDIR=$HOME/pbuild/result/$DENNOU_PKG_NAME [ -d $RESULTDIR ] || mkdir -p $RESULTDIR DISTLIST=$(ls -d /var/cache/pbuilder/*.cow) CONFIG=$DENNOU_PKG_NAME.pbuilderrc cat << EOF > $HOME/pbuild/$CONFIG BUILDRESULT=$RESULTDIR/ EOF for CHROOTDIR in $DISTLIST do ARCH=$(basename $(basename $CHROOTDIR | cut -d'-' -f2) .cow) sudo cowbuilder --update --basepath $CHROOTDIR sudo cowbuilder --build \ --basepath $CHROOTDIR \ --configfile $CONFIG \ --debootstrapopts --arch \ --debootstrapopts $ARCH $@ done sudo ln $RESULTDIR/* /var/cache/pbuilder/result/ rm -f $HOME/pbuild/$CONFIG $HOME/bin/mkaptline
結果
そんな訳で電脳 Ruby 謹製品 Debian Packageの更新は終了. 今迄amd64 のパッケージは人に頼んでいたのだけれど, それもできるようになった.
あとは spml に必要なライブラリ ですか...
うーん. gfortran がきちんと動くようになってくれれば, 本家に入れられるのに...