2008年9月29日月曜日

latex で大きい図があるときに改ページしないようにする方法

\renewcommand{\dblfloatpagefraction}{0.99} もしくは \renewcommand{\floatpagefraction}{0.99}

2008年9月20日土曜日

iShowU と Jing

マックで画面の動画キャプチャを撮るフリーウェアiShowUを使ってみる.バージョンは1.68 よくできていて,簡単に使える.が,シェアウェア20ドルなので,登録するまでは録画したものに大きな文字列が表示されてしまう.むむ.

ちなみに,ここに同様のものがまとまっている.

Jing

Jingというのを使ってみた.これまたよくできているのだが,これは基本的に録画したものをWebでシェアするためのモノらしく,書き出す形式がswfしか選べない.

Coprnicus

Copernicus というのもある.これは,movを吐く.が,なんかフレームレートが低い.4fpsしか出ない.ちょっと悲しい.しかも,出てくるmovが異常にでかい.iShowUではわずか400Kぐらいだったものが,こちらだと20Mになる.まあ,freeのものにケチをつけるのは申し訳ないが...さらに,google videoにアップロードしてみたら化けた.ちょっと残念.iShowUのほうは,大丈夫.

こうして見ると,iShowUに20ドル払うのが正解という気がするなあ...

2008年9月6日土曜日

BloggerでGoogle Analytics

Google Codeでは,設定画面にAnalyticsのトラッカーIDを入れるフィールドがあり,ここにIDを埋めるだけで,Analyticsが使えた.はてなでも同じように簡単だった. が,Bloggerの設定画面にはそのような項目が見当たらない.なぜだ...おなじGoogle のサービスのくせにうまく連携できなくていいのだろうか. 検索したらこんなページを見つけた. どうも,HTMLのテンプレートに,トラッキング用のコードを埋め込まなければいけないらしい.なんだかなあ...

2008年9月5日金曜日

ubuntu を vncでmacから使う.

CotVNC

まずは,vnc clientを選ぶ.いろいろ検索したが,事実上これしかfreeのものはない,という話のChicken of the VNCを使用.Mac Portsに入っているので,
sudo port install cotvnc
であっさり入った.インストール先はApplication/MacPorts以下.ちょっと戸惑った. これのフルスクリーンモードはかなり徹底していて,ほとんどすべてのキーを食ってしまう.出方がわからなくて,めちゃめちゃ戸惑ったが,検索してみたら control-option-command-` で出られた.まいったまいった.

ssh でトンネル

vncの認証はかなりお粗末だし,iptablesでssh 以外通さないようになっているので,sshトンネルでvncを使う.クライアント側のbashrc に以下を定義.
alias vnc="ssh -n -L 5901:localhost:5901 SERVER sleep 100d &"
sleep 100d は100日間寝る,という意味.まあ,その前に接続は切れるだろう. こうしておいて,ターミナルからvncと打てば,トンネルができる. cotvncでは,localhostの1番ディスプレイを見に行くように指定すれば良い.

vncserver の設定

いきなり起動しただけだと,twmも立たない.(デフォルトで入っていないからなんだが).なので,./vnc/xstartup を編集し, twmを呼んでいるところで,gnome-session でgnomeを起動. これでいいのかどうかわからないが,とりあえず動いているようだ.

ubuntuでiptables

ubuntuは大変良いのだけど,FedoraやらRHやらと違って,ファイアウォールなどがデフォルトでは入らない.自分で設置してみよう. iptable を呼び出すスクリプトを書く. このサイトを参考に.設定としては,とりあえずsshのみを通すことに.必要ならその都度あければいい.
#!/bin/sh

ssh_port='22'

# Flush & Reset
iptables -F
iptables -X

# Deafult Rule
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

# loopback is OK
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# The response of the packet which connection established is OK
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# ICMP(ping)
iptables -A INPUT -p icmp -j ACCEPT

# ssh
iptables -A INPUT -p tcp --dport $ssh_port -j ACCEPT    
自動でこれが実行されるように,/etc/rc3.d と /etc/rc5.dからリンクをはればいい.ほんとうは,start/stopを解釈するようにしなければいけないのだが,面倒なので省略.

2008年9月4日木曜日

MySQLの日本語設定

Djangoで遊ぼうと思ったら,なんかDBまわりにエラーがでて動かない. 原因は,MySQLの文字コードだった.Django自体はutf-8なので 大丈夫なのだが,MySQL のほうがlatinになっているため. http://d.hatena.ne.jp/lpm11/20070616/1181971116 によると
Schema を作る前なら /etc/my.cnf の [mysqld] セクションに default-character-set=utf8 を追加しておくなどすれば良い
. だそうだ.が,そもそもこのファイルがない. /usr/local/mysql/support-files/my-small.cnf を/etc/my.cnf にコピーしてこの内容を追記,MySQLを再起動してみる. で,いちど作ったデータベースの文字コードを変える方法があるのかどうか わからなかったので,データベースをdropして作り直し.
 
drop database django;
create database django;
これでなんとか動いた.

2008年9月3日水曜日

profile.d

RH系だと,システムワイドな設定は profile.dに書いておくというのが 一般的だが,deb系にはこれに相当するディレクトリがない.ので勝手にいれる. /etc/profile の上のほうに下記を追記
if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi
で, あとは/etc/profile.d/*.sh をいろいろ書くと. cshのほうは最近とんと使わないので無視. たとえば,/etc/profile.d/globus.sh はこんなだ.
export GPT_LOCATION=/usr/local/gt4.2
export GLOBUS_LOCATION=/usr/local/gt4.2
. $GLOBUS_LOCATION/etc/globus-user-env.sh

2008年9月2日火曜日

GRAM2 設定.

/etc/services に下記を追記.
gsigatekeeper      2119/tcp                   # Globus Gatekeeper
/etc/xinetd.d/globus-gatekeeper を新しく作る. 内容は下記.
service gsigatekeeper
{
   socket_type  = stream
   protocol     = tcp
   wait         = no
   user         = root
   env          = LD_LIBRARY_PATH=/usr/local/gt4.2/lib
   server       = /usr/local/gt4.2/sbin/globus-gatekeeper
   server_args  = -conf /usr/local/gt4.2/etc/globus-gatekeeper.conf
   disable      = no
}

マップファイルに登録

/etc/grid-security/grid-mapfile に下記を登録.
"/O=Grid/OU=GlobusTest/OU=simpleCA-orange/CN=nakada" nakada

Globus Simple CA

Simple CA

を使って,ホスト証明書とユーザ証明書の設定. なんどやっても面倒だ.
sudo su globus
export GLOBUS_LOCATION=/usr/local/gt4.2/
/usr/local/gt4.2/setup/globus/setup-simple-ca 

GSIのセットアップ

export GLOBUS_LOCATION=/usr/local/gt4.2
sudo -E /usr/local/gt4.2/setup/globus_simple_ca_21f546b8_setup/setup-gsi -default
-E をつけないと,環境変数が引き継がれず,面倒なことになる. /etc/grid-security 以下にいろいろなものが配備される.

ホスト証明書の作成

  証明書リクエストの作成  
  sudo -E /usr/local/gt4.2/bin/grid-cert-request -host orange

  証明書をサインして配備
  sudo -E su globus   
  cd /tmp
  /usr/local/gt4.2/bin/grid-ca-sign -in /etc/grid-security/hostcert_request.pem  -out hostcert.pem 

  sudo mv /tmp/hostcert.pem /etc/grid-security/hostcert.pem
  sudo chown root:root /etc/grid-security/hostcert.pem

ユーザ証明書の作成

  証明書リクエスト作成
  /usr/local/gt4.2/bin/grid-cert-request

  サイン
  sudo -E su globus   
  cd /tmp
  /usr/local/gt4.2/bin/grid-ca-sign -in ~nakada/.globus/usercert_request.pem\
  -out usercert.pem 

  配備
  cp /tmp/usercert.pem ~/.globus/usercert.pem

gt4.2 を ubuntuにインストール

debianのパッケージがうまくインストールできなかったようなので,ソースから
sudo mkdir /usr/local/gt4.2
sudo chown globus:globus /usr/local/gt4.2

sudo su globus  - 以下globusユーザ

export GPT_LOCATION=/usr/local/gt4.2
export GLOBUS_LOCATION=/usr/local/gt4.2
export JAVA_HOME=/usr/java/jdk1.6.0_10/

cd /tmp
tar zxvf ~/Download/gt4.2.0-all-source-installer.tar.gz 
cd gt4.2.0-all-source-installer
./configure --prefix=/usr/local/gt4.2 --disable-system-openssl
make
make install

configure の --disable-system-openssl は,システムにインストールされているopensslを使用せずに,パッケージ内のopensslを使うというオプション. 本来これが無くても動くはずなのだが,これがないと,authentication に失敗したというエラーがでる.

ubuntuのホームディレクトリ内のうざい日本語名リンクを英語に変えるには

LANG=C xdg-user-dirs-gtk-update