平衡点


2008/12/01

_ 某所の XT4 へ計算機環境を仕込んだ時の log その 1

単なるメモ.

wget なんかで tar.gz を落そうとすると弾かれる. scp で手元から転送するのが吉.

クアッドコア対応モジュールの読み込み

$ source /work/sample/quad_module/quad.pgi
$ module load netcdf

NetCDF

実体は pgi fortran なので, CPPFLAGS を忘れずに付けないといけない.クアッドコア対応モジュールを利用する (初級講習会資料 p.17 を参考に).

$ export FC=ftn
$ export F90=ftn
$ export CC=cc
$ export CXX=CC
$ export CPPFLAGS=-DpgiFortran
$ export FFLAGS="-O3 -fastsse -Msmartalloc -tp barcelona-64 -Mlist -Mipa"
$ export F90FLAGS=$FFLAGS
$ ./configure --prefix=$HOME
$ make
$ make check
$ make install

gtool5

$ export FC=ftn
$ export SYSFFLAGS="-O3 -fastsse -Msmartalloc -tp barcelona-64 -Mlist -Mipa"
$ NCDUMP=$HOME/bin/ncdump \
  ./configure --prefix=$HOME \
              --with-netcdf=$HOME/lib/libnetcdf.a
$ make
$ make check
$ make install

2008/12/02

_ ルジャンドル関数とか球面調和関数とか

  • そういや軸対称モデルって無いんでしたね.
  • そういや円筒モデルも無いな.

堀之内さんが Legendre陪関数計算ライブラリ を小物置き場に投げて下さいました.

といった所で, Dennou-Ruby 周りの lenny パッケージ作らなきゃな, とか気がついたので, 実益も兼ねてパッケージ作成中.

... lintian 先生曰く「csh は harmful」 ...駄目っすか?あと, man が無いコマンドが多すぎる, とも言われました. rd2man とかでインチキ man ページでも作るかな.


2008/12/03

_ 関西 Debian

第20回 関西 Debian 勉強会, 次は 12/14 ですか.

12/15 から東京だし, ポスター作成佳境に突入してそうだしなぁ...どうしよ.


2008/12/13

_ メモリが足りない

計算機も, 頭の中も.

M 川さんが My Let's 倶楽部のプレミアム品 W シリーズを購入していて, 垂涎.

そろそろ CF-R4 じゃ苦しいなぁ. Debian 動かしている分には全然問題無いのだけれども, VirtualBox で Windows 上げておいたりしているので, かなりキツい.

...と, PowerPoint で A0 ポスター作成して, 痛感しましたよ, という愚痴.

CF-R8 のプレミアムエディション, メモリ 2GB で 28万弱かぁ...

SONY VAIO Type T もスペック的には捨て難いのだけれども, いかんせん VAIO なんだよなぁ(嫌な記憶が蘇える)....

うーん.


2008/12/14

_ 散財

イロイロ買ってしまった.

iPod を bluetooth 化

先ず iPod を bluetooth 経由で聞くために, 以下のモノを購入. いや, だってイヤホンのコードって面倒じゃん.

iPod 側送信 PLANEX iPod対応Bluetooth ver 2.1ステレオオーディオ送信機 (Dockコネクタ) BT-DockT
プラネックス

イヤホン側受信 PLANEX Bluetooth Ver2.1 ワイヤレスステレオヘッドホンアダプタ(3.5mmステレオミニジャック) BT-HP01AD
プラネックス

カスタマーレビュー見てから買えばよかったかなぁ. 今の所, 音楽聞くには問題は無いけれど, 受信側の電池の持ちについてのカスタマーレビューは気になる所. 3 時間未満じゃ, 新幹線の友にはなりえないなぁ...どうなんだろう.

そいでもって, とりあえず繋いだら, Die in Cries が流れて懐しい気持になった.

THANX-ベスト・オブ・ダイ・イン・・クライズ
DIE IN CRIES, BMGビクター, ¥2,344

...ノクターンは相変わらず良いなぁ...

書籍: 統計力学

田崎晴明センセイの統計力学本が出ていたので思わず購入しました.

コレ 統計力学〈1〉 (新物理学シリーズ)
田崎 晴明, 培風館, ¥3,300

と, コレ 統計力学〈2〉 (新物理学シリーズ)
田崎 晴明, 培風館, ¥3,630

以前, 同じ著者の熱力学の本を読んだ時にも思ったけれど, 冒頭の導入できちんと哲学を語っている(語ろうとしている)本って, 少ない気がするよなぁ. 冒頭だけで買った価値がある気がしないでもないここ数時間.

さて, いつ読むんだろう. とりあえず目次眺めて, 辞書扱いできるようにしておかないと.

書籍: 乱流理論

Batchelor の Homogeneous Turbulence を巽センセイが訳した本である,「乱流理論」が古本屋にあったので, 購入. 3,000 円だった. amazon のマーケットプレイスでは 8,000 円だったのでビックリした.

乱流理論 (1960年) (物理学叢書)
バチェラー, 吉岡書店, ¥956

まあ, これも積読かなぁ...でも気になる所は幾つかあるので, そのうち読むでしょう. 書いてあることは, もしかしたら古いかもしれないし, 今となっては間違いがあるのかもしれないけれど, なんか良いんですよ. 昔の本は. ...なんか.

と, また本棚に本が増えるんでありましたとさ.


2008/12/15

_ 最近 mym さんの某日記が美味しそうで困る

ビールとかお食事とかビールとかお食事とか.

ビールとかお食事とか.

ビールとか.

ビール...

_ W05K の挙動

変です.

  • Windows 側でアクティベーションしないと, linux 側で見えない.
  • どのタイミングでアクティベーションが必要なのか, イマイチわかりません.
  • かと言って, Windows 側で一旦アクティベーションしようにも, カードの認識に失敗すること多々.
  • ドライバ入れておいても, 挿した際に誤認したり, 変なポート掴んだり, 「リソースの競合でデバイス」が動かなかったり.

一旦動きだせば, まあ普通のモデムなんだけれども.

...なんだかなぁ...

_ 関西 Debian 勉強会

今日(もう昨日)は第20回関西Debian勉強会 でした.

先ず, 場所がいつもと異なり, 株式会社ロックオン大阪本社のスペースだった訳ですが, まだ関西素人(?)の私は, 阪急梅田で降りてから, しばしウロウロと迷ってみたりして.

メインは「LaTeX で Debian 勉強会の資料を作ってみよう」な話だった訳です. 私は楽しんで見ていたのですが, ハンズオンとしてはどうなんだろう, とか思ったりもして.

LaTeX での文書作成と, Emacs + whizzytex-mode での文書作成は分けた方が良い気がしました. 前者は単純に LaTeX でのマークアップの解説で良いわけですし, 後者はどっちかと言えば環境設定ですよね. ~/.whizzytexrc が無くて, コンパイルで転んでいた, とか.

あと, 半分チューターになるつもりで行ったのにライブ DVD の中身を確認してませんでした. ゴメンナサイ. .whizzytexrc が無い人がいて, 「コマンドラインで platex でコンパイル -> xdvik-ja でプレビューでもとりあえず良いじゃん」とか思ったのですが, ライブ DVD は xdvik-ja が入っていなかったわけで(ここで私がチューターしつつ自爆). あははは

_|‾|○

飲み会で, たかやさんが「みんなメール返してよー」と言ったら, その後宴会の席でメール返信している lurdan さんが居て(笑).

ともあれ, 皆様お疲れ様でした. 来年もよろしくおねがいします.

_ cpufreq を backtick に表示してみる

やってみたけれど, 数分で飽きた(笑)

#!/usr/bin/ruby1.8
infodir="/sys/devices/system/cpu/cpu0/cpufreq"
# display units is GHz
cur=(`cat #{infodir}/scaling_cur_freq`.to_i/1000000.0).to_s + "GHz"
# display current governor
gov=`cat #{infodir}/scaling_governor`
# format output strings
puts cur+"/"+gov[0..2]

_ Keyjnote -> Impressive

「Keyjnote が Impressiveという名前になった」という lurdan さんの twit を見て, 試してみた.

Impressive は PDF でプレゼンテーションする際に, ページ遷移や一覧表示を綺麗に行なう python スクリプトのようだ. 試しに動かしてみたら, それなりに綺麗に表示された.

...でも, ページ遷移は結構もたつく. これは調整可能かな? キャッシュをあらかじめ生成しておけば, もたつき感は解消されるんだろうか? インデックスの表示は非常に便利. <URL:http://jp.youtube.com/watch?v=gBWciszfTbk:movie>

...この動画, 良いのかなぁ...

ちなみに, 表示だけなら PDFCube なんてのもありますね. こっちは動作がだいぶ軽い. でも一覧モードが無いみたい.

<URL:http://jp.youtube.com/watch?v=AscU72HOwgM&feature=related:movie>

なんにせよ, PowerPoint でプレゼンするのは, 当分私の環境では無理だろうなぁ...


2008/12/16

_ 深大寺, 蕎麦屋「多聞」

天文台で理論懇/ユーザーズミーティングに参加中.

昼に多聞に行ってきました. いつも通り(?)つけとろ大盛り隣の煙草の箱はサイズ比較に. 対面のセーターは S 山さんです.

...日の入り方が良くないな. 以前(→<URL:http://d.hatena.ne.jp/sasakyh/20080830#p2>)の写真の方が綺麗かも.

無事完食. 今回は盛りが少ない気がしないでもない. 盛りが豪勢な時は, 底の方の蕎麦が相転移(?)している気がするからなぁ.

...そんな訳で, 夜になっても, くしゃみをしたら蕎麦が出てきそう(笑). 満足.


View Larger Map

あ, 量だけじゃなくて, 味も良いですよ. ここの店は > noritada さん.


2008/12/25

_ 帰省

毎度の事ながら, 飛行機(の安い切符)を取り損ねたので, 往復とも新幹線に.「はやて」の切符が取れそうな日ということで, ちょっと早いけれど 27 に帰省することに.

...しかし, 飛行機って高いなぁ. 出遅れると, 飛行機片道分 ≒ 鉄道往復 + 福沢さん一人分程度. 時間をお金で買ってるんだと思えば, まあそうなのかな.

というわけで, 新幹線ハックですね. はい.

_ bluetooth でじたばた

先日購入した

PLANEX Bluetooth Ver2.1 ワイヤレスステレオヘッドホンアダプタ(3.5mmステレオミニジャック) BT-HP01AD
プラネックス

と, USB 経由の bluetooth アダプタ

PLANEX Bluetooth Ver2.0+EDR対応 USBアダプタ(Class 1) BT-MiniEDRW
プラネックス, ¥670

を使って, laptop で音を鳴らして bluetooth で飛ばして, リモートのイヤホンで聞くまで. 試しに Windows でやってみたらさっくりできたので debian でもやりたくてじたばた.

PIN(passkey) の登録までにちょっと手間取った.

必要なモノ

とりあえず以下を install した.

  • bluez-utils
  • bluez-audio

/etc/init.d/bluetooth が導入されて, daemon として hcid が起動する.

あと設定用に

  • bluez-gnome

を入れておく. xfce4 を使っているので, 自動起動に入れておく.

設定とか

挿してみて動作しない場合には

  • bluez-firmware

を入れてみると良いかもしれない. 挿してみると

usb 2-1: new full speed USB device using uhci_hcd and address 3
usb 2-1: configuration #1 chosen from 1 choice
usb 2-1: New USB device found, idVendor=0a12, idProduct=0001
usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0

と見えた. ついでにタスクバーに bluez-gnome のアイコンが出てきた.

ここでイヤホン受信側をボンディング状態にして一度スキャンする

$ hcitool scan

ここで見えた XX:XX:XX:XX:XX:XX は後で使うのでメモしておく.

サービスのアクティベーション

続いて PIN コード(passkey) によって認証してボンディングする.<URL:http://wiki.bluez.org/wiki/HOWTO/AudioDevices:title> にあるようにdbus を直接叩く(ここにある python スクリプトでも良いけど).

$dbus-send --system --print-reply --dest=org.bluez \
/org/bluez org.bluez.Manager.ActivateService string:audio
...
   string "org.bluez"

返ってくる string を次に使う. ここでは "org.bluez" が返ってきた.

デバイスの登録.
$dbus-send --system --type=method_call --print-reply \
 --dest="org.bluez"  /org/bluez/audio \
 org.bluez.audio.Manager.CreateDevice string:XX:XX:XX:XX:XX:XX
 ...
    string "/org/bluez/audio/device0"

"--dest" はアクティベーションで返ってきた文字列を指定, string は接続したい機器のアドレス. 返ってきた string が作成されたデバイス.

接続

受信側をボンディング待受状態にしておく. でもって,

$ dbus-send --system --type=method_call --print-reply \
  --dest="org.bluez" "/org/bluez/audio/device0" org.bluez.audio.Sink.Connect

"--dest" にアクティベーションで返ってきた文字列, 続いて作成したデバイスを設定して接続. そうすると bluez-gnome アプレットがPIN コードの入力を要求してくる. 入力すると無事接続できた.

実際に音を鳴らしてみる.

先ず dmix 経由で鳴らしてみる. ~/.asoundrc に

# for bluetooth
pcm.bluetooth{
  type plug
  slave {
      pcm "bluetooth_hw"
  }
}
pcm.bluetooth_hw {
  type bluetooth
  device XX:XX:XX:XX:XX:XX
  profile "auto"
}

適当な mp3 でもって

$ mplayer -ao alsa:device=bluetooth test.mp3

で鳴った.

面倒なのは, 音を出すアプリケーション毎に出力を設定しないといけないこと. 設定が嫌なので, PulseAudio で出力することに.

# for default -> PulseAudio
pcm.!default{
  type pulse
}
ctl.!default{
  type pulse
}
# for bluetooth
pcm.bluetooth{
  type plug
  slave {
      pcm "bluetooth_hw"
  }
}
pcm.bluetooth_hw {
  type bluetooth
  device 00:1B:DC:20:14:58
  profile "auto"
}

これはこれで. .xsession あたりに

pulseaudio -D  2>/dev/null

として pulseaudio が起動するようにしておく.

参考文献


2008/12/27

_ howm を複数ファイル分割へ戻す

changelog メモっぽく単一ファイルにしていたけれど, 流石に検索が重くなってきたので, 複数ファイルへ戻すことにする.

#!/usr/bin/env ruby
$KCODE='e'
#--- config start ---"
src = ENV['HOME'] + "/work/howm/ChangeLog.howm"
outdir = ENV['HOME'] + "/work/howm/"
#--- config end ---"
unless File.exist?(src)
  puts "ChangeLog files does not given"
  exit 0
end
# howm の形式の指定
datef = '\d{4}-\d{2}-\d{2}'
timef = '\d{2}:\d{2}:\d{2}'
timelinef = datef + '\s' + timef
# 日付毎に分割
cl = File.read(src).split(/(?=^\[#{timelinef}\])/m).sort
cl.each do |entries|
  entries.gsub!(/^\s+$/, "")
  dt = $1 if entries =~/\[(#{timelinef})\]/m 
  fn = $1 + "-" + $2 if dt.gsub!(/-/,"").gsub!(/:/,"") =~ /(\d{8})\s(\d{6})/
  File.open(outdir + fn + ".howm", "w"){|f|
    f.puts entries
  }
end

安易です.

ついでに howm からはてダラ用のソースへと変換するスクリプトもでっちあげる.

#!/usr/bin/env ruby
$KCODE='e'
require 'tempfile'

src_dir = ENV['HOME'] + "/work/howm/"
out_dir = ENV['HOME'] + "/work/hatena/"
src = Dir.glob(src_dir+"*.howm").sort

# エントリー格納用 Hash
howm_entries = {}
# エントリーパース
src.each do |src_file|
  # 日付の取得
  yy, mm, dd = $1, $2, $3 if File.basename(src_file) =~/^(\d{4})(\d{2})(\d{2})/
  # 出力ファイル名の設定. これを Hash の key にする.
  out_fname = yy + "-" + mm + "-" +  dd + ".txt"
  # ソースの読み込み
  entry = File.open(src_file).read
  # 不要な空行を削除
  entry.gsub!(/^\s+$/,"")
  # 秘密のエントリ以外を出力
  unless entry =~ /^\=\s*p:.*/
    # howm 用の timeline を空行に(はてなダイアリでタイトルを入力しない)
    entry.gsub!(/^\[\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\].*$/,"")
    # ファイルへのリンクを削除
    entry.gsub!(/(\=\=\>.*?\n)/m,"")
    # 逆リンクの削除
    entry.gsub!(/(\<\=\=.*?\n)/m,"")
    # 連続した改行を \n\n に置換
    entry.gsub!(/\n\n+/m, "\n\n")
    # プラグイン関係を preformatted に
    entry.gsub!(/^\>/,"\s\>")
    entry.gsub!(/^\|/,"\s\|")
    entry.gsub!(/^\</,"\s\<")
    entry.gsub!(/^f:id/,"\sf:id")
    entry.gsub!(/^map:/,"\smap:")
    entry.gsub!(/^\<iframe:/,"\s\<iframe:")
    # 格納
    if howm_entries.key?(out_fname)
      # ださい...
      pre = howm_entries[out_fname].to_s
      new = entry + pre
      howm_entries[out_fname] = [new]
    else
      howm_entries[out_fname] = [entry]
    end
  end
end

# 出力
howm_entries.sort.each do |out_fname, entries|
  str = ""
  diaryfile = out_dir + out_fname
  if File.exists?(diaryfile)
    old = open(diaryfile).read
  end
  str = entries.to_s.gsub(/^(\=.*\:?)/,'\1'+"\n")
  rd2 = "rd2 -r rd/rd2hatena-lib"
  unless str.empty?
    IO.popen(rd2, 'r+') do |pipe|
      pipe.write(str)
      pipe.close_write
      new = pipe.read
      unless old == new 
        puts "#{diaryfile} is updated"
        File.open(diaryfile, "w"){|file|
          file.puts new
        }
      end
    end
  end
end

...いまいち. 特に以前同様, 配列に一度格納しているのがなんか嫌. ファイル数が多くなると破綻しそうな気がする.

ちなみに整形自体は, 以前いんちき臭く作成したrd2hatena-lib.rb経由で.

...日記自体はちゃんと更新できている様なので, まあいっか.

_ bluetooth 経由で聞くと音が切れる

前回(bluetoothでじたばた)の続き.

rhythumbox で音を鳴らして聞いているのだけれども, 頻繁に音が飛ぶ.

どうも処理が複数走った時に, 割り込みくらって止まっている感じだなぁ.やはり USB の bluetooth スタックだと駄目なのかな? リアルタイムカーネルにすれば良いんだろうか? うーん.

iPod で鳴らしている分には問題無いのに. なんか悔しい.


2008/12/28

_ メモ

これは...

もしかして幸せになれる処方箋だったりするのかな?

_ 帰省しました

実家(青森)へ. 凄い雪です. まるで私を歓迎して下さっている様です(違.

うははははは.

外が白いと嬉しくなってしまう北国人間. やっぱ冬はこうじゃなくちゃ.夜間に除雪のブルドーザーが動いている音がするのが懐しくて良い感じ.

今窓の外を見たら, ブルドーザの積み上げた除雪の雪山が近所の家の 8 割ぐらいの高さになっている.明日の朝, どうやって外に出るんだろう(笑)


2008/12/29

_ unison をつかってディレクトリを同期

メールの読み書きを

  • laptop が使える時は laptop の mew
  • laptop が使えないけれど ssh が使える時には某所サーバで mew
  • どっちも駄目な時には gmail

としている. あと imap ではなく pop.

そんな訳で, 某所のサーバと laptop で ~/Mail を同期させる設定をメモしておく.

$cat ~/.unison/mail.prf
# include setting
include common
include ignore
# logfile
logfile = /dev/null
# root
# laptop 側
root = /home/アカウント名/Mail
# サーバ側
root = ssh://某所サーバ//home/アカウント名/Mail
# ignore
ignore = Name #pop
ignore = Name .mew-passwd*
ignore = Name id.db.new*

でもって common.

$ cat ~/.unison/common
# not change timestamp
times = true
# prefer newer
prefer = newer
# batchmode
batch = true
# ssh compression
rshargs = -C

ignore リスト. 主に編集作業中のバックアップとか.

$ cat ~/.unison/ignore
# Unison preferences file
ignore = Name #*#
ignore = Name *~
ignore = Name .*~
ignore = Name *.tmp
ignore = Name *.swp

同期自体は

$ unison mail

で実行できる.

某所サーバに unison を仕込むの(ソースから install) するのがちょっと手間だったけれど, 「どっちが親かを考えなくても良い」ので, rsync に比べてはるかに楽.

そのうちちゃんとまとめておこう


2008/12/30

_ Google Desktop for linux を install してみた

install したあと, カリカリとデータベースの更新をしている模様.

使い勝手などの報告はあとで.

_ screen の status line が崩れる

偶に崩れるのでそのうち設定調べるためのメモ.

どうも window の最大化<->元のサイズに戻す, をトグルすると発生する模様.

reset しても戻らないのだけれども, 気がついたら正常に表示できるようになったり.

よくわからん. うーん.

_ プロプライエタリは 2 歳まで

メモ


2008/12/31

_ 一年を振り返って

大晦日です. 2008 年を振り返ってみると...あんまり進歩していないなぁ, とか思ったり.

それでは.

_ Google Desktop その後

前回Google Desktop for linux を install してみたの続き.

  • 検索用の index の生成に一晩かかった(gdl_fx_crawler と gdl_indexer が動作)
  • 常時 index の生成を行っていると, ディスクへ write する度にオーバーヘッドが結構凄い事になっている. 同じような検索エンジンである beagle に比べても多少モッサリした感じ.
  • UI は綺麗. この辺は流石 google
  • 検索対象ディレクトリの追加と削除は可能
  • けれども, 特定の拡張子のみを登録する(or しない), といった設定ができない

正直, そこまで必要ではないな. ということで, uninstall. ディスク I/O がもう少し速いなら動かしていても良いかもしれないけれど, やっぱ未だ PATA なノートには辛い...


連絡先など
最近の日記
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|
Back to Top ▲