memo.xight.org - 2002-12

2002-12-29 Sun
2002-12-26 Thu

映画の原題

  そのまんまだけど,調べたのでメモ

ショーシャンクの空に 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

2002-12-23 Mon

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>


2002-12-20 Fri

TPO とは

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

2002-12-19 Thu
2002-12-18 Wed

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

2002-12-17 Tue

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/

2002-12-16 Mon

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

- 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

2002-12-14 Sat

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

2002-12-10 Tue

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

2002-12-09 Mon

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

2002-12-07 Sat

Mew Tips

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

C-u.


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

C-c C-a

2002-12-05 Thu

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

2002-12-04 Wed

vim encodingの変更

- File Encoding を EUC-JP に変更
(変数名:fileencoding 省略形:fenc)

:set fenc=euc-jp

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

:set enc? fenc? fencs?

2002-12-02 Mon
2002-12-01 Sun

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/