2009/04/28
2009/04/27
2009/04/25
2009/04/24
Intel® Core™2 Duo E8500
職場でメイン環境として使っている PC の CPU を変更した。
Intel® Core™2 Duo の E8500 という CPU で、
動作クロックは 3.16GHz、L2 キャッシュ 6MB という代物だ。
丁度セキュリティアップデートが出た所だったので、
性能測定がてら make world してみた。
# cd /usr/src # time make -j6 buildworld : : real 10m23.912s user 15m4.948s sys 2m38.777s # time make kernel : : real 5m18.705s user 4m27.818s sys 0m30.555s
ちょ、早っ
2009/04/22
またまた架空請求
先ほど携帯電話のメイルアドレスに届いたメイル
以前届いた架空請求
と殆んど文面が変わっていないのが笑える。
From: chuodataline.XXXXXX@docomo.ne.jp
Subject: 【重要なお知らせ】
(株)中央データラインの並木と申します。
この度、お客様がご使用のPC、携帯端末より以前ご登録頂いた【総合情報サイト】から無料期間中に退会処理がされてない為に、登録料金が発生し現状未払いとなった状態のまま長期放置が続いております。
本通達から翌日の正午までにご連絡を頂けない場合、認可ネットワーク認証事業者センターを介入し、発信者端末電子名義認証を行い利用規約に伴い、お客様の身辺調査に入らせていただきます。
退会処理、料金の詳細につきましては下記までお問い合わせ下さい。
TEL03-6457-45XX
担当 並木
営業時間9:30〜19:00迄
尚、ご連絡なき場合明日の正午より手続き開始となりますのでご了承下さい。
相変わらずまともな日本語が書けないらしい…
というか、変な日本語のテンプレートを部分的に修正して送信しているんだろうけど、
まずは日本語の文章を修正しなさいと言いたい。
何度も言うけど「てにをは」位はちゃんとしてくれないと信憑性ゼロですよ。
ちゃんと社会参加しました。
2009/04/21
FreeBSD on type P
以前書いた通り、FreeBSD を type P にインストールしようとしても インストーラが途中で止ってしまうのでインストールできなかったが、 Software Design の 5月号の記事を参考にしたらとりあえずインストールできた。
インストールしたのは FreeBSD 8-current の 4/21 版。
VMware に 4GB の USB メモリを認識させた状態で 8-current の
CD から起動し、
インストール先として da0 を選択して
普通にインストールしただけの状態。
USB メモリを type P に装着して電源を入れ、
loader プロンプトで acpi 関係を disable 設定すると
途中までは起動するのだがカーネルが USB メモリを認識できない。
以前はそこで中断していたのだが
snd_hda をロードさせるのがポイントだった様だ。
OK set hint.acpi.0.disabled=1 OK set hint.apic.0.disabled=1 OK load snd_hda OK bootなぜサウンドが…
とりあえず起動できるところまでしか確認していないが、
今後時間をみて色々と試したいと思っている。
ちなみにコンソールに
interrupt storm detected on "irq5"; throttling interrupt sourceと延々と表示されるので、試しに
# sysctl hw.intr_storm_threshold=0とか実行してみたらいきなりハングしてしまった。
良くわかってないのに sysctl (8) を使うのは危険です(笑
2009/04/20
2009/04/14
Windows Xp のメインストリーム・サポートが終了
Windows Xp のメインストリームサポートが本日(4/14)で終了し、
以後は延長サポートになるとの事です。
使用している Windows 環境が数台の Windows 2000 を除いて
殆どが Windows Xp なので若干気になっていたのですが、
延長サポート扱いでもセキュリティパッチは提供されるとの事なので、
当面安心していても大丈夫なんでしょうかね。
Windows Xp が発表された 2001 年当時といえば、
FreeBSD では 4.4-RELEASE、RedHat Linux では 7.3 の頃なので、
非常に長生きしている OS ですね。
2009/04/09
POSIX.2 標準仕様のシェルによる変数展開
シェルスクリプトを作成する際に
シェル変数に値を代入したり参照したりする事は頻繁に発生するが、
シェル変数の展開にも便利な使い方がある。
basename (1) や dirname (1) と同様な動作が
シェルの組込みとして利用できるので資源の節約にもつながり、
上手に利用すると可読性の高いスクリプトが作成できる。
機能一覧
${parameter:-word} | デフォルト値への置換 |
${parameter:=word} | デフォルト値の代入 |
${parameter:?[word]} | 値の検査とエラー |
${parameter:+word} | 代替値の使用 |
${#parameter} | 文字列長の取得 |
${parameter%word} | 最短後置パターンの削除 |
${parameter%%word} | 最長後置パターンの削除 |
${parameter#word} | 最短前置パターンの削除 |
${parameter##word} | 最長前置パターンの削除 |
デフォルト値への置換
- ${parameter:-word}
${parameter} が NULL の場合 word に置換される。
$ echo ${foo} $ echo ${foo:-FOO} FOO $ echo ${foo} $ foo=BAR $ echo ${foo:-FOO} BAR
デフォルト値の代入
- ${parameter:=word}
${parameter} が NULL の場合 word に置換され、 かつ parameter に代入される。
$ echo ${foo} $ echo ${foo:=FOO} FOO $ echo ${foo} FOO $ echo ${foo:=BAR} FOO
値の検査とエラー
- ${parameter:?[word]}
${parameter} が NULL の場合 word が指定されていればその値を、 指定されていない場合はデフォルトの値を表示し、 非対話実行されているシェルをエラー終了させる。
$ echo ${foo} $ echo ${foo:?value not set} value not set
代替値の使用
- ${parameter:+word}
${parameter} が NULL 以外の場合 word に置換される
$ echo ${foo:+FOO} $ echo ${foo} $ foo=BAR $ echo ${foo} BAR $ echo ${foo:+FOO} FOO
文字列長の取得
- ${#parameter}
${parameter} の文字列としての長さに置換される
$ echo ${foo} $ echo ${#foo} 0 $ foo=FOO $ echo ${foo} FOO $ echo ${#foo} 3
最短後置パターンの削除
- ${parameter%word}
${parameter} の右から word で示されるパターンの最短部分を削除する
$ foo=/foo/bar/baz $ echo ${foo%/*} /foo/bar $ foo=foo.c $ echo ${foo%.*} foo $ foo=foo $ echo ${foo%.*} foo
最長後置パターンの削除
- ${parameter%%word}
${parameter} の右から word で示されるパターンの最長部分を削除する
$ foo=foo.example.com $ echo ${foo%%.*} foo $ foo=http://www.example.com:8888/ $ echo ${foo%%:*} http $ foo=foo $ echo ${foo%%.*} foo
最短前置パターンの削除
- ${parameter#word}
${parameter} の左から word で示されるパターンの最短部分を削除する
$ foo=foo.c $ echo ${foo#*.} c $ foo=foo.example.com $ echo ${foo#*.} example.com $ foo=foo $ echo ${foo#*.} foo
最長前置パターンの削除
- ${parameter##word}
${parameter} の左から word で示されるパターンの最長部分を削除する
$ foo=foo.example.com $ echo ${foo##*.} com $ foo=/foo/bar/baz $ echo ${foo##*/} baz $ foo=foo $ echo ${foo##*.} foo