memo.xight.org

日々のメモ

映画の原題

  そのまんまだけど,調べたのでメモ
ショーシャンクの空に The Shawshank Redemption
マイノリティ・リポート Minority Report
ジュラシックパーク Jurassic Park
キューブ CUBE[2003-08-09-1]
StarWars EPISODE II クローンの攻撃 EPISODE II ATTACK OF THE CLONES

Becky! Ver.2 を標準のメーラにする

注意事項

  Windows2000やXPを使用している場合,管理者権限のあるユーザーでBecky!をインストールしないと,
  IE の[ツール]-[インターネットオプション]-[プログラム]-[電子メール]の欄に Becky!Ver.2 を追加することができない.
  もし欄にBecky!が見つからない場合,一度管理者権限のあるユーザーにて上書きインストールをする.

教訓

  OSの再インストール後,Becky は再インストールしよう.

Reference

  Becky! Ver.2 FAQ & Tips
  http://www.becky-users.net/faq/contents/19010.html

個人使用なら無料の Linux 用 AntiVirus Soft "H+BEDV"

インストール

$ tar -xzvf avlxwks.tgz
$ cd antivir-2.0.2-workstation
# ./install


ライセンスファイルの設定とアップデート

  メールで送られてきた hbedv.key ファイルを /usr/lib/AntiVir/ にコピーする.

# cp hbedv.key /usr/lib/AntiVir/


アップデート

  アップデートプログラムを起動 (初回のみでOK)

# /usr/lib/AntiVir/avupdater start

  ちゃんと動いているかチェック

# /usr/lib/AntiVir/avupdater status


手動でウィルス定義ファイルを更新

# antivir --update


テスト

  ウィルスファイルをチェックする

$ antivir VIRUS.COM

- Reference
  H+BEDV AntiVir - Professional Virus defense
  http://www.hbedv.com/
  レジストレーションフォーム
  http://www.hbedv.com/private/
  山本 道成のページ - ネットワーク&自宅サーバ - 無料のウィルススキャナー(H+BEDV AntiVir)を導入
  http://nap.dyndns.org/~michi/network/virus_hbedv.html

Postfix で ウィルスメール対策

Summary

  Postfix が受けとったメールを AMaViS がウィルススキャンソフトの H+BEDV AntiVir に渡して
  ウィルスチェックを行うようにします

インストール方法

  AMaViS はパッケージが用意されているので,インストール

# aptitude install amavis-postfix


  arc の圧縮形式も対応したければ rpm から借りてくる.

$ alien arc-[version]-i386.rpm
# dpkg -i arc-[version]_i386.deb


  rar はパッケージで入れる

# aptitude install rar


AMaViSの設定ファイル /etc/amavisd.conf の修正

# H+BEDV AntiVir
$antivir = "antivir";

  だけで動作するが,

$unrar = "/usr/bin/rar";
$warnsender = "no";

  を追加
  $warnsender は ウィルス感染者にメールを送る設定.

Postfix の設定

  /etc/postfix/main.cf

content_filter = vscan:

  /etc/postfix/master.cf

vscan            unix  -  n  n  -  10  pipe flags=q user=amavis argv=/usr/sbin/amavis ${sender} ${recipient}
localhost:10025  inet  n  -  n  -  -   smtpd -o content_filter=

# postfix reload


Reference

  山本 道成のページ - ネットワーク&自宅サーバ - Postfix で ウィルスメール対策
  http://nap.dyndns.org/~michi/network/virus_postfix.html

vim で文字コード指定してファイルを開く方法

:e ++enc=[文字コード] [File名]

  ex) :e ++enc=euc-jp hoge.c # hoge.c を euc-jp として開く
      :e ++enc=cp932 # 現在開いてるファイルを cp932 として開く

.vimrc に記述するなら

" 開いているファイルの文字コードを指定して開きなおす
" EUC-JP
nmap ,ee :e ++enc=euc-jp<CR>
" SJIS
nmap ,es :e ++enc=cp932<CR>
" JIS
nmap ,ej :e ++enc=iso-2022-jp<CR>
" UTF-8
nmap ,eu :e ++enc=utf-8<CR>

TPO とは

Time , Place , Occasion の略

  時・場所・場合に応じて服装や行為・言葉などを使い分ける必要があるという考え方.

How to WAM (GETA)

  $GETAROOT/etc/ci.conf に

handle: [Handle]
short-name: [Short-name]
dataroot: /usr/local/geta/data/corpus/mainichi/
jma:p: japanese.sh

  japanese.sh は形態素解析の結果を 1 行に 1 形態素を出力するためのもの.
  dataroot と同じディレクトリに配置する.

WAM の生成

$ mkw [Handle] freqfile

Google API を使ってみる

サンプルの使用法

  java -cp googleapi.jar com.google.soap.search.GoogleAPIDemo ライセンスキー search 検索語
  日本語が通らないという情報があったけど,通るようになっているっぽい.

API の使用方法

  全ての API は com.google.soap.search パッケージに属します.
  GoogleSearch クラスのオブジェクトに検索語を渡し, doSearch() メソッドを呼び出すと,
  検索が実行されて, その結果を収めた GoogleSearchResult オブジェクトが得られます.

GoogleSearch google=new GoogleSearch();
google.setKey(自分のライセンスキー);
google.setQueryString(検索文字列);
GoogleSearchResult result=google.doSearch();


  検索失敗時に GoogleSearchFault 例外が投げられるので, try〜catch 節で囲む.

  GoogleSearchResult オブジェクトから検索結果が取り出せます.
GoogleSearchResultElement[] element=result.getResultElements();
for (int i=0;i<=element.length-1;i++)
{
	// element[i] の情報を使う
}


  スペルミス指摘,キャッシュページの取り出しは, GoogleSearch オブジェクトの doGetCachedPage メソッドや
  doSpellingSuggestion メソッドを呼び出す.

Reference

  Google Web APIs
  https://www.google.com/apis/
  Atsushi's Homepage
  http://www.antun.net/tips/soap/google.html

Javadoc で API 仕様とリンクさせる方法.

方法

  -link オプションを使用する.

$ javadoc -encoding EUCJIS \
          -docencoding euc-jp -charset euc-jp
          -classpath .
          -link http://apollo.u-gakugei.ac.jp/man/java/api/ \
          -d ./doc \
          -private Hoge.java


Reference

  javadoc - Java API ドキュメントジェネレータ
  http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/solaris/javadoc.html#link

SDIC Emacs上で英和・和英辞書を閲覧

インストールの方法

  Debian の Package は sdic sdic-gene95 sdic-edict
  sdic-gene95 か sdic-edict は辞書の Installer.どちらかを選択してインストール.
  sdic-gene95 をインストールする場合,kakasi が必要.

  sdic-gene95 をインストールする場合,gene95.(lzh|tar.gz|tar.bz2) を /tmp あたりに置いておく.
  この際,gene95.(lzh|tar.gz|tar.bz2) の所有者を root にしておかないと怒られる.

  sufary がインストールされていると,辞書のインストール時に索引ファイルを作るか聞かれる.
  当然,索引があるほうが早いので作る.

  xdic は purge したほうがいいらしい.
  sdic とは競合しないらしいけど.

.emacs の設定

  C-cw で英単語の意味を調べる.C-cW でカーソルの位置の英単語を調べる.
(autoload 'sdic-describe-word "sdic" "英単語の意味を調べる" t nil)
(global-set-key "\C-cw" 'sdic-describe-word)
(autoload 'sdic-describe-word-at-point "sdic" "カーソル位置の英単語の意味を調べる" t nil)
(global-set-key "\C-cW" 'sdic-describe-word-at-point)
;; 動作と見掛けを調節するための設定
(setq sdic-window-height 10
	sdic-disable-select-window t)


Reference

  namazu.org - Emacs 上で英和/和英辞書を閲覧するための簡潔で,小さくて,軽くて,小粋なプログラム
  http://www.namazu.org/~tsuchiya/sdic/

基本的な使用方法

ファイル操作

C-x C-c Emacs の終了
C-g 操作の中止
C-x C-f ファイルを開く
C-x C-s ファイルを上書き
C-x C-w ファイルに保存

編集操作

C-d カーソル上の文字の削除
C-k 行削除
C-SPC リージョン指定開始
C-w リージョンの文字を削除 (Cut)
M-w リージョンを一時的に保存(Copy)
C-x r k リージョンを矩形領域として削除
C-y 貼り付け (Paste)

バッファの操作

C-x b バッファを指定して移動
C-x C-b バッファ一覧の表示
C-x o バッファを移動
C-x 1 フォーカスのあるバッファ以外を非表示
C-x 2 現在フォーカスのあるバッファを上下に 2 つに分割
C-x 3 現在フォーカスのあるバッファを左右に 2 つに分割
C-x k 現在フォーカスのあるバッファを削除

その他

C-h t チュートリアル開始

Reference

  WithEmacs
  http://www1.u-netsurf.ne.jp/~ysk-net/WithEmacs/

マシン毎に設定を切り替える

Summary

  マシン毎に設定を切り替える場合,関数 system-name を利用して実行中のマシンの名前を調べることが可能.

(let ((system-name (system-name)))
(cond
	;; systemA または systemB で実行中の場合
	((string-match "^\\(systemA\\|systemB\\)\\(\\..+\\)*$" system-name)
		(load "$HOME/.emacs-AorB"))
	;; systemC で実行中の場合
	((string-match "^systemC\\(\\..+\\)*$" system-name)
		(load "$HOME/.emacs-C"))
	;; 指定されていないマシンで実行中の場合
	(t
		(message (concat "Unknown Host: " system-name)))))


Reference

  Namazu.org - Tsuchiya Masatoshi's WEB Site - Emacs Lisp Tips
  http://www.namazu.org/~tsuchiya/elisp/#depend-host

ダイナミックリンク

ldd コマンド

  コマンドやアプリケーションが,どんなライブラリをダイナミックリンクしているのか調べるには ldd コマンドを利用

# ldd hoge
   libX11.so.6.1 => (not found)
   libc.so.1 => /usr/lib/libc.so.1
   libdl.so.1 => /usr/lib/libdl.so.1

  見つからないときは,(not found)と出る.

Solaris 8 の crle コマンド

  Solaris 8 からは,Linux の ld.conf のような機能があります.
  /usr/lib と /usr/local/lib に含まれるダイナミックライブラリーを参照させるためには,

# crle -c /var/ld/ld.config -l /usr/lib:/usr/local/lib


普通は LD_LIBRARY_PATH や LD_LIBRARY_PATH_64 変数を設定 (ライブラリーの含まれるパスをセットする)


Reference

  Solaris Tips
  http://www.asi.co.jp/info/unix/solaris.html

quox.org

Summary

  UNIX 系列のソフトウェアについての情報.
  UNIXに関するTips.
  OpenBlockS と OpenBlockSS の Memo.

Reference

  Welcome to quox.org
  http://quox.org/

Internet Explorer トラブル 画像が表示されない

原因

  Norton Internet Security (NIS) や Norton Personal Firewall (NPF) をインストールしたまま
  SP1 を適用した結果,この症状が発生した場合は一度 Norton Internet Security などを
  アンインストール/再インストールしてください.

今回のケース

  今回は Windows2000 の SP3 か IE6.0 の SP1 適用後に発生.
  NIS を アンインストール→再インストールで画像が表示されるようになった.

Reference

  XP SP1 適用後,一部の Web ページで画像が表示されません
  http://homepage2.nifty.com/winfaq/c/ietrouble.html#1424

IRC server の IP と PortNumber

irc.huie.hokudai.ac.jp 133. 50. 80. 20 6667
irc.dti.ne.jp 202.216.224.238 6667
irc.kyoto.wide.ad.jp 203.178.136. 50 6660-6669
irc.tokyo.wide.ad.jp 203.178.136. 51 6660-6669
irc.fujisawa.wide.ad.jp 203.178.136. 52 6660-6669
irc6.kyoto.wide.ad.jp 2001:200:0:c00::6667 6667

Vim Tips

/* でコメント開始, / でコメント終了

  $HOME/.vimrc に記述

set comments=sl:/*,mb:*,elx:*/

C ソースコードとその他のファイルのインデント

  http://www.kaoriya.net/vimdoc_j/indent.txt

Cのインデントはこの4つのオプションで制御されている:

  cindent Cの自動インデントを有効化する.
  cinkeys 再インデントの引金となる挿入モードでのキーを指定する.
  cinoptions 好みのインデントスタイルを設定する.
  cinwords 次の行から特別なインデントを開始するキーワードを定義する.

Reference

  C editing with VIM HOWTO
  http://www.linux.or.jp/JF/JFdocs/C-editing-with-VIM-HOWTO/auto-format.html

CVS Tips

.cvsignore と 環境変数 CVSIGNORE

  $CVSIGNORE CVS が無視するファイル名を,空白で区切ったリスト.
  とりあえず *.class を入れておいた.

OpenDarwin CVS Commiterの手引き

checkout -P checkout (co) 時に空のディレクトリを除外する.
update -P -d update (up) 時に空のディレクトリを除外し,追加されたディレクトリを作成.
diff -u -d -b -w diff (di) によって統合 diff (unified diff) 形式の差分を出力.
rdiff -u rdiff によって統合 diff 形式の差分を表示.
cvs -z3 全ての CVS の操作によるデータ転送に,レベル3の gzip 圧縮を使用.

Reference

  CVS--Concurrent Versions System (in japanese)
  http://www.sodan.org/~penny/vc/cvs-ja.html
  OpenDarwin CVS Commiterの手引き
  http://www.opendarwin.org/ja/committer_guide.php

vim tips

vim インデントを整える

  gg=G
gg ファイルの先頭に移動し
= インデント修正を
G 最後まで行う

^M を入力する方法

<C-V><CR>

カーソルの下にある単語を検索する

/<C-R><C-W><CR>

検索してマッチした語句のハイライトを消す

:noh

vimrc の設定

$HOME/.vimrc に記述

C-h でカーソルの下にある単語を検索 (ハイライト)

nmap <C-H> /<C-R><C-W><CR>

C-e で文字コードを EUC-JP に,改行コードを \n にする

nmap <C-E> :set fileencoding=euc-jp<CR>:set ff=unix<CR>

,c でコメント一括挿入 ,u でコメント一括削除

autocmd FileType c,cpp,java,php
	\   map ,c :s/^/\/\/ /<CR>:noh<CR>
	\ | map ,u :s/^\/\/ //<CR>:noh<CR>
autocmd FileType vim
	\   map ,c :s/^/" /<CR>:noh<CR>
	\ | map ,u :s/^" //<CR>:noh<CR>
autocmd FileType perl,sh,ruby
	\   map ,c :s/^/# /<CR>:noh<CR>
	\ | map ,u :s/^# //<CR>:noh<CR>

初雪

東京では1991年以来の初降雪.

栃木では90年ぶり(大正元年)の大雪記録タイ.

タバコ増税

一本あたり2円50銭の値上げ.

  これによって,1年あたり5000億の税収を見込んでいるらしい.
  ということは,日本では 1 年に 100 億箱 ( 2000 億本 ) のタバコの消費があるということか.
  ということは,日本では 1 人 1 日あたり平均 5.48 本のタバコを消費していることになる.

日本人の喫煙率

  男性の喫煙率は 52.8% 女性の喫煙率は 13.4% 全体で 33.1%
  これを考慮すると,日本人の喫煙者は1日あたり16.556本のタバコを吸っているのだな.

Reference

  日本男性の喫煙率,G7で群抜きトップ
  http://www.sankei.co.jp/news/021016/1016sha017.htm

CVS Tips

CVS を ssh 経由で使用する

  環境変数の設定だけでよいらしい.
CVS_RSH=ssh
CVSROOT=:ext:ホスト名:リポジトリのpath

Reference

  Debianサーバ構築ガイド
  http://www2.i-e-c.co.jp/ssh5.html

Mew Tips

添付されているファイルがマルチパートとして出てこない時.

C-u.


メッセージにファイルを添付

C-c C-a

UNIX Magazine 2002年 12月号

インタフェースの街角に GETA と MeCab が紹介されていた.

  GETA の ライブラリを使ったサンプルも掲載.

man の文字化け対策

Apollo で man が文字化けしていたので原因追求.

$ groff -V -Tnippon
groff: can't find `DESC' file
groff:fatal error: invalid device `nippon'

  と出たら,日本語対応の groff では無い.
  対策として,日本語対応の groff をインストール.

Reference

  日本語マニュアル・ページのインストール方法
  http://www.linux.or.jp/JM/INSTALL.html

米の重さ

1合あたり150g

  10kgで66と2/3 ( 66.6666666... ) 合
  10kg \3000 とするとちょうど \45 / 合

.login .logout

.login .logout は 自分の shell で実行されるらしい.

  /bin/sh で動くものかと勘違いしていた.

tcsh alias補完

clgrep で clgrep <PATTERN> [file] を clgrep <PATTERN> で利用したい.

% alias clgrep 'clgrep \!^ /home/yoshiki/memo/ChangeLog'

  !^ で引数がとれる.

CVS pserver の設定と利用

設定方法

  /etc/services に以下を記述

cvspserver 2401/tcp

  /etc/inetd.conf に以下を記述

cvspserver stream tcp nowait.400 root /usr/sbin/tcpd /usr/sbin/cvs-pserver

  400 はrespawn[秒]ぽい.
  dpkg-reconfigure cvs したから詳細は不明.

Debianの場合

  /etc/cvs-cron.conf の以下を変更

REPOS="/home/yoshiki/CVS_DB"

  /etc/cvs-pserver.conf の以下を変更

CVS_PSERV_REPOS="/home/yoshiki/CVS_DB"

Remote から CVS を利用

% cvs -d :pserver:yoshiki@example.com:/home/yoshiki/CVS_DB login
% cvs -d :pserver:nishi@foo:/home/yoshiki/CVS co [Project Name]


CVSROOT を環境変数で指定

  CVSROOT を環境変数で指定すると楽だから設定

% setenv CVSROOT :pserver:yoshiki@example.com:/home/yoshiki/CVS_DB


% cvs login
% cvs co [Project Name]

  で login や checkout などが可能になる.

Reference

  バージョン管理システム CVS を使う > CVS PSERVER の設定と利用
  http://radiofly.to/nishi/cvs/cvs-cs-01.html

CVS リポジトリからプロジェクトを削除する方法

そのモジュールでタグをつかっていたら $CVSROOT/CVSROOT/val-tags からその行を削除.

$CVSROOT/CVSROOT/history からモジュールが含まれる行を削除.
以上の作業をやらなくてもリポジトリが壊れたりすることは無い.

Reference

cvs-ml 1076
http://radiofly.to/nishi/cvs/ml-log/msg01069.html

cvs-ml 1077
http://radiofly.to/nishi/cvs/ml-log/msg01070.html

cvs-ml 1078
http://radiofly.to/nishi/cvs/ml-log/msg01071.html

vim encodingの変更

File Encoding を EUC-JP に変更

(変数名:fileencoding 省略形:fenc)

:set fenc=euc-jp

- 現在のFile Encodingの設定を確認

:set enc? fenc? fencs?

CVSで.fileを管理する

環境変数の設定 (csh,tcsh)

.cshrc に以下を追加
setenv CVSROOT   $HOME/CVS_DB
setenv CVSEDITOR /usr/bin/vim


環境変数の設定 (zsh,bash)

.zshrc .bashrc に以下を追加
export CVSROOT=$HOME/CVS_DB
export CVSEDITOR=/usr/bin/vim


リポジトリの作成

$ cd
$ mkdir CVS_DB
$ cvs init

- 新しいプロジェクトを登録する

$ cvs import [Project Name] [Vender Tag] [Release Tag]

- 登録されているプロジェクトを呼び出す

$ cvs checkout [Project Name]

- 修正したファイルを新バージョンとして登録する

$ cvs commit

- 編集中のファイルが最新か確認する

$ cvs status

- ファイルを最新状態に更新する

$ cvs update

- ファイルの変更を終了する

$ cvs release -d [Project Name]


Reference

バージョン管理システムCVSを使う
http://radiofly.to/nishi/cvs/