シェルエスケープ

sub shell_escape {
    $_ = shift;
    s/([\&\;\`\'\\\"\|\*\?\~\<\>\^\(\)\[\]\{\}\$\n\r ])/\\$1/g;
    return $_;
}

PFU の キーボードコレクション

  http://www.pfu.co.jp/hhkeyboard/kb_collection/

無線 LAN で電波干渉しないチャンネル

  無線 LAN のチャンネルを,1,6,11,14 で構成すると,電波干渉しない

- 無線 LAN 構築の ABC
  http://www.atmarkit.co.jp/fsys/special/005wireless_abc/

MoMA ニューヨーク現代美術館

- MoMA.org | The Museum of Modern Art
  http://www.moma.org/

- MoMA Online Store
  http://momastore.org/

Bourne Shell で配列もどきを実装する方法

- プログラム例

#!/bin/sh

vars0=aaa
vars1=bbb
vars2=ccc
i=0

while [ $i -lt 3 ]
do
    eval var=\$vars$i
    echo $var
    i=`expr $i + 1`
done


- 実行結果

aaa
bbb
ccc

CENTURY DESIGN

  http://centurydesign.jp/

JCPU,PCPU

- JCPU 時間
  その tty から実行されている全プロセスが使った時間
  過去のバックグラウンドジョブは含まれないが,現在実行しているバックグラウンドジョブは含まれる

- PCPU 時間
  "what" 項目で示されているカレントプロセスが使っている時間

Bourne Shell 自習テキスト

  http://www.tsden.org/takamiti/shText/

Shell 関連 LMS 講義資料

  http://www.netfort.gr.jp/~tomokuni/lms/shell/text/

コマンドプロンプトで F7

  コマンドプロンプトで,徐に [F7] を押してみる.コマンドの履歴が出る.

起動オプションに回復コンソールを追加する方法

- Safemode でも起動できないような場合,回復コンソールを使用して Windows 2000
  を起動させることができる.

- (CD-ROM):\i386\winnt32.exe /cmdcons
  でインストール

- 参考:
  http://www.microsoft.com/japan/enable/training/kblight/t004/4/13.htm

AVG のウイルス定義ファイルアップデート

  avginet.exe /norm
  のようにショートカットを作成すると,クリックするだけでアップデート

Unix の quota について

- /etc/vfstab の変更
  制限をかけるファイルシステムの mount option に `rq' を設定する

- quotas ファイルの作成

# cd 制限をかけるファイルシステム
# touch quotas
# chmod 600 quotas

- リブート
- ユーザへの適用
  - 容量の設定

  # /usr/sbin/edquota ユーザ名

    vi が開くので,

    fs /home blocks (soft = 30720, hard = 51200) inodes (soft = 0, hard = 0)

    の様に,softリミット,hardリミットを設定
  - タイマーの設定

  # /usr/sbin/edquota -t

  - 設定を他のユーザにコピーする
    以下の例は,`ユーザ1' の設定を`ユーザ2' にコピー

  # edquota -p ユーザ1 ユーザ2

Unix でコンソール接続

- コンソール接続

% tip hostname

- コンソールから抜ける

~.

- コンソール接続のマシンに break を送る

#~

- コンソールポートの設定

/etc/remote の hardwire:\
        :dv=/dev/term/b

Agenda で Windows 2000 との接続から Vim のインストールまで

- Windows 側のネットワークの設定
  [コントロールパネル]-[ネットワークとダイヤルアップ接続]-[新しい接続]を選択し,
  ・ネットワーク接続の種類: ほかのコンピュータに直接接続する
  ・ホストまたはゲスト: ゲスト
  ・デバイスの選択: 2 台のコンピュータ間の通信ケーブル (COM1)
  ・接続の利用範囲: (任意)
  ・接続に付ける名前: (任意: ここでは仮に `AgendaPPP' とする)
  ・今設定した,AgendaPPP の [プロパティ]-[全般]-[構成] でモデムの構成画面が出るので,
    最高速度を,`115200' にしておく.
  ・AgendaPPP の [プロパティ]-[ネットワーク]-[インターネット プロトコル (TCP/IP)]
    -[プロパティ]-[全般] の [リモート ネットワークでデフォルト ゲートウェイを使う]
    のチェックを外す.これで,デフォルト ゲートウェイを AgendaPPP に奪われなくなる
    ので PC に設定してある他のネットワークと同時に使えるようになる.

- VR3 で pppd の起動

$ /usr/sbin/pppd /dev/ttyS0 115200 local \
-chap debug nodetach novj \
VR3のIPアドレス:PCのIPアドレス connect \
'/usr/sbin/chat -t3600 -v CLIENT CLIENTSERVER'

  注意することは,PCのIPアドレス は,既に設定してある PC の IP アドレスではないということ.
  要は,なんでもいい

- ppp 接続する
  先ほど作った,AgendaPPP を選択して,接続する.
  ・ユーザ名:   default
    パスワード: 無し
  ・ユーザ名:   root
    パスワード: agenda
  何れかで接続する.

- telnet 接続する
  TeraTerm 等で,VR3のIPアドレス 宛に telnet 接続する
  ・ユーザ名:   default
    パスワード: 無し
  ・ユーザ名:   root
    パスワード: agenda
  の何れかでログインできる

- 戯れる
  とりあえず,テキストエディタがないので Vim をインストールする
  - 用意するもの
    ・jVim
      http://www.os-omicron.org/~takano/private/vr3d/bin/jvim-20010130.gz
    ・libtermcap
      http://pc1.peanuts.gr.jp/~kei/Hard-Float/Based-Kondara-1.1/RPMS/mipsel/lib ...
      から,libtermcap.so.2.0.8 を取り出す.
    ・rsync
      cygwin (http://www.cygwin.com/) のミラーサイトから持ってくる
      rsync.exe,cygwin1.dll,cygpopt-0.dll があれば動くので,
      例えば,ftp://ring.so-net.ne.jp/archives/pc/gnu-win32/release/(rsync|cygwin|popt/libpopt0) から
      rsync-2.5.5-2.tar.bz2,cygwin-1.3.18-1.tar.bz2,popt-1.6.4-4.tar.bz2 を持ってくる
  - jvim-20010130.gz,libtermcap.so.2.0.8 を送信する
    DOS プロンプトで rsync を実行する
    ユーザ: default でログインした場合

    rsync -avz jvim-20010130.gz libtermcap.so.2.0.8 VR3のIPアドレス::default

    ユーザ: root でログインした場合

    rsync -avz jvim-20010130.gz libtermcap.so.2.0.8 VR3のIPアドレス::root

  - 配置 (root で作業)
    jvim を /usr/local/bin に libtermcap を /usr/local/lib に配置する
    libtermcap.so.2.0.8 は libtermcap.so.2 として シンボリックリンクを張る
    最後に,/sbin/ldconfigをしておく

  $ gunzip jvim-20010130.gz
  $ cp jvim-20010130 /usr/local/bin/jvim
  $ cp libtermcap.so.2.0.8 /usr/local/lib
  $ cd /usr/local/lib
  $ ln -s libtermcap.so.2.0.8 libtermcap.so.2
  $ /sbin/ldconfig

UNIX 上での PHP から Excel のファイルを出力する

  http://phpclasses.psbweb.com/browse.html/package/767.html

W3C HTML 検証サービス

- The W3C MarkUp Validation Service
  http://validator.w3.org/

HTML 4.0 Reference(jp)

  http://www.htmlhelp.com/ja/reference/html40/

Unix top コマンドの入手先

- Unix Top
  http://www.groupsys.com/top/

- SunSITE
  http://sunsite.sut.ac.jp/pub/sun-info/Solaris/SOURCES/

Perl で複数行コメント

  =英字 から =cut まで.

=comment
ここはコメントです.
=cut

PHP でメールの送信

#!/usr/bin/env php
<?php
$to = "mail@address";
$subject = "テスト";
$body = <<< _EOD_
あいうえお
あいうえお
_EOD_;
mb_send_mail($to, $subject, $body);
?>


  これで,日本語に対応したメールが送れる.ただし,PHP 4.0.6 以上.

PHP がどのインタフェースで動いているか確認方法

  php_sapi_name() または,PHP_SAPI の戻り値によって判別できる.

  • CGI 経由ならば cgi
  • コマンドラインインタフェース経由ならば cli
  • Apache 経由ならば apache

  となる.

アセンブラ入門講座

  http://paran0ia.virtualave.net/documents/asm.html

最近見た映画・ビデオ

- A Beautiful Mind: ★★★★★
  第 74 回アカデミー賞作品賞を受賞した作品.統合失調症の数学者がノーベル賞
  を受賞したと言う話.実話に基づいたもの.

- モンスターズ・インク: ★★★★☆
  怖がらせ屋のモンスターが子供を怖がらせてその悲鳴をモンスター界のエネルギー
  にする.モンスターは子供に触ると死ぬと思っている.モンスター界に迷い込ん
  だ一人の子供を巡って 2人(?) のモンスターが奮闘する.

- CUBE: ★★☆☆☆
  大きなキューブの集合体の中から男女数人が脱出しようという話.キューブは,
  色々な罠があり,何人かは死亡する.結局脱出できたのは,たった 1人でした.

- MEMENT: ★★☆☆☆
  妻を殺されて,記憶する時間が極端に短くなった元保険調査員の男の話.物事を
  忘れないために,メモを自分の体に刺青を入れる.あとは,ポラロイドで写真を
  とってメモを書く.

- スパイダーマン: ★★☆☆☆
  ご存知アメリカンコミック物.主人公の少年が,新種の蜘蛛に刺されて,色々な
  力を持つ話.どたばたあって面白いけど,普通.

- ショーシャンクの空に: ★★★☆☆
  銀行の副頭取の男が,妻とその愛人の殺害容疑で逮捕され終身刑になる.20年目
  に,真相を知る男によって無実ということがわかるが,所長が握りつぶす.それ
  で脱獄を決意し成功する.こんな話.面白いけど,長い.

エンパイア・レコード スペシャル・エディション

  B0002GD4KA
  amazon.co.jp 詳細ページへ
  ASIN: B0002GD4KA
  3,129 円

携帯電話各キャリアの IP アドレス帯域

- DoCoMo: ドコモサーバのIPアドレス帯域
  http://www.nttdocomo.co.jp/p_s/imode/ip/

- AU: EZサーバのIPアドレス帯域
  http://www.au.kddi.com/ezfactory/tec/spec/ezsava_ip.html

- J-PHONE: J-スカイサーバのIPアドレス帯域
  http://www.dp.j-phone.com/jsky/ip.html

Shell Script (/bin/sh) の test 演算子

-r filename ファイル filename が存在し,読み取り可能であれば真
-w filename ファイル filename が存在し,書き込み可能であれば真
-x filename ファイル filename が存在し,実行可能であれば真
-f filename ファイル filename が存在し,通常ファイルであれば真
-d filename ファイル filename が存在し,ディレクトリであれば真
-h filename ファイル filename が存在し,シンボリックリンクであれば真
-c filename ファイル filename が存在し,文字型特殊ファイルであれば真
-b filename ファイル filename が存在し,ブロック型特殊ファイルであれば真
-p filename ファイル filename が存在し,名前付きパイプ (FIFO) であれば真
-u filename ファイル filename が存在し,そのセットユーザー ID ビットが設定されていれば真
-g filename ファイル filename が存在し,そのセットグループ ID ビットが設定されていれば真
-k filename ファイル filename が存在し,そのスティッキビットが設定されていれば真
-s filename ファイル filename が存在し,サイズがゼロより大きければ真
-L filename ファイル filename が存在し,シンボリックリンクであれば真


-z s1        文字列 s1 の長さがゼロであれば真
-n s1        文字列 s1 の長さがゼロ以外であれば真
s1 = s2      文字列 s1 と s2 が等しければ真
s1 != s2     文字列 s1 と s2 が等しくなければ真
s1           s1  が NULL の文字列でなければ真
n1 -eq n2    整数 n1 と n2 が代数的に等しければ真
n1 -ne n2    整数 n1 と n2 が代数的に等しくなければ真
n1 -gt n2    整数 n1 が整数 n2 よりも代数的に大きければ真
n1 -ge n2    整数 n1 が整数 n2 よりも代数的に大きいか等しければ真
n1 -lt n2    整数 n1 が整数 n2 よりも代数的に小さければ真
n1 -le n2    整数 n1 が整数 n2 よりも代数的に小さいか等しければ真

Linux 搭載 PDA Agenda

- Agenda
  http://ma2tak.dyndns.org:8888/ma2tak/68

- VR3 こうかい日誌
  http://debilotte.net/programming/VR3/VR3Current.htm

- Agenda VR3 Help Page - My Agenda VR3
  http://www.csee.umbc.edu/~acedil1/agenda/

- agenda-users.ja メーリングリスト アーカイブ
  http://ma2tak.dyndns.org/ML/AgendaUsersJa/maillist.html

- Omicron Agenda
  http://tiki.is.os-omicron.org/tiki.cgi?c=v&p=Agenda

- My Agenda Page
  http://www.phj.hu/agenda/
  PowerViaACAdapter

- http://agendawiki.com/cgi-bin/aw.pl?PowerViaACAdapter

m4 を使った sendmail.cf の作成方法について

  http://www.imasy.or.jp/~ume/presentation/BAY-BSD-20020126/

sendmail 8.12 と MILTER

  http://www.imasy.or.jp/~ume/published/sendmail-milter/

ADSL モデム MN2 について

- 某掲示板での情報
  http://www.techogen.org/isp/treebbs.cgi?act=treesel&tree=53

- config のデフォルト値

[Last Value]
Maker=NTT
Model=ADSLモデム-MN2
Product=ADSLモデム-MN2
Version=1.10

[Config]
dhcp server disable
entry lan 1 address 192.168.1.254/255.255.255.0
entry atm 1 vc llcencap
entry atm 1 upvpi 0
entry atm 1 upvci 32
adsl linemode auto
brdgfilter default mode pass
brdgfilter mac type arp enable
brdgfilter mac type multicast enable
brdgfilter mac type v6multicast enable
brdgfilter mac type broadcast enable
brdgfilter mac type rarp enable
brdgfilter mac type ipx enable
brdgfilter mac type netbeui enable
brdgfilter mac type appletalk enable
brdgfilter mac type bpdu enable
brdgfilter mac type bridge enable

Solaris x86 で CPU の温度を測定する

- Solaris 'health' driver
  http://www.bolthole.com/solaris/drivers/health.html

  ただし,特定の MB でしか使えない模様

CD Manipulator

- フリーの CD イメージ作成・ライティングソフト
  http://www.storeroom.info/cdm/

Outlook Express のメールの保存場所

  メニューの [ツール]-[オプション]-[メンテナンス]-[保存フォルダ]
  で表示されるパス.

mh で添付ファイルを展開する方法

% mhn -store ([+folder]) [ファイル番号]

  folder のデフォルトは inbox

ThumbSense

- ThumbSense: Automatic mode sensing for touchpad-based manipulations
  http://www.csl.sony.co.jp/person/rekimoto/tsense/

-「ThumbSense」はタッチパッドに革命を起こす?
  http://www.zdnet.co.jp/mobile/0212/17/n_wiss_04thumbs.html

INSTDRV - GIVEIO.SYS 簡単インストールソフト

  http://homepage1.nifty.com/paraffin/software/index.html#INSTDRV

Perl のセキュリティホール

  5.005_3 - 5.8 までのセーフモジュール (Safe.pm) にセキュリティホール.

- Security hole found in the Safe module
  http://use.perl.org/articles/02/10/06/1118222.shtml?tid=5

.jar ファイルをダブルクリックで起動できるようにする

  Main-Class: Main クラス名
  と書いたファイルを Manif.txt という名前で保存する

jar cfm hoge.jar Manif.txt *.class

  で jar を作成

Solaris の /usr/ucb/ps と /usr/bin/ps の違い

  /usr/ucb/ps は BSD 系 (Solaris 1.x/SunOS 4.x)
  /usr/bin/ps は SystemV 系 (Solaris 2.x/SunOS 5.x)

  全プロセスを見るとき
  /usr/ucb/ps -aux は右端が切れない
  /usr/bin/ps -ef  は右端が切れる

LSOF 設置及び使用ガイド

  http://www.certcc-kr.jp/tools/LSOF_report.html

APCUPSD - APC の UPS を監視

- APCUPSD Project Home Page.
  http://www.apcupsd.org/

- APC UPS Power Management under Linux, Unix, and Windows
  http://www.sibbald.com/apcupsd/

Solaris GNU gettext should be supported

- Solaris 9 での feature が,Solaris 8 に backport された模様
  SunSolve のアカウント必須
  Patch-ID# 113415-01 SunOS 5.8: gmsgfmt, msgfmt, gettext patch
  Patch-ID# 113416-01 SunOS 5.8_x86: gmsgfmt, msgfmt, gettext patch

Solaris で random

  Patch-ID# 112438-01 SunOS 5.8: /kernel/drv/random patch
  Patch-ID# 112439-01 SunOS 5.8_x86: /kernel/drv/random patch

GNU の configure 中によく出てくるメッセージとその意味

*** Warning: Releases of GCC earlier than version 3.0 cannot reliably
*** create self contained shared libraries on Solaris systems, without
*** introducing a dependency on libgcc.a.  Therefore, libtool is disabling
*** -no-undefined support, which will at least allow you to build shared
*** libraries.  However, you may find that when you link such libraries
*** into an application without using GCC, you have to manually add
*** `gcc --print-libgcc-file-name` to the link command.  We urge you to
*** upgrade to a newer version of GCC.  Another option is to rebuild your
*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer.

o このままでは,gcc 以外のコンパイラで libdb.so をリンクした場合,
  `gcc --print-libgcc-file-name` で表示されるライブラリを手動でリン
  クする必要がある.

o これを回避するための最もよい方法は,gcc を gcc-3.0 以降にバージョ
  ンアップすることである.

o 他の方法としては,binutils-2.9.1 以降の GNU ld を使うように gcc
  をコンパイルしなおすという手はある.