メイン

IT アーカイブ

2010年01月11日

OpenVPN on Windows7

先日VistaからWindows7へアップグレードしたら、以前インストールしたOpenVPNが使えなくなっていました。
(たぶん、OSアップグレードした時にTAPドライバーが削除されただけだと思う)
そこでOpenVPNを再インストール。
どうせインストールするなら最新版を、ということで OpenVPN 2.1 にすることにしました。
サイトに「2.0のサーバーに2.1のクライアントから接続することも可能です。」と書いてあったので。
(ちなみにボクが使っているサーバは2.0です。)

2.1の新機能に、
・ Vista(x86、x64)のサポート
・ TAP-Win32アダプタを管理者モードでなくても利用可能に
と書かれていました。
でも”Windows7のサポート”とは書かれてないのですね。。。
まぁ、大丈夫だろう。

exeアーカイブを探してググったらいつのまにか日本語サイトができていたのですね。
下記URLからダウンロード。
http://www.openvpn.jp/bridging/5.html
 OpenVPN 2.1.1(TAPドライバ署名あり) +
 OpenVPN GUI for Windows 1.0.3 [日本語版]

ダウンロードした exe をダブルクリックして実行。
あとはインストールウイザードに従うだけ。
TAPドライバも一緒にインストールされます。
PCの再起動はかかりません。おぉ。

さて、改めて OpenVPN GUI を実行。
しかし、接続に失敗します。。。

OpenVPN をインストールした下記フォルダを開きます。

C:\Program Files\OpenVPN\bin
 


GUI の exe に特権レベルをセットします。管理者として実行できるように。

openvpn-gui-1.0.3.exe
 property.png


この後、再度 OpenVPN GUI を実行。
無事接続できました(^^)
config の設定変更も一切必要ありませんでした。
あ、もともと Vista 用に下記の設定を入れていましたが。

# for vista
route-method exe
route-delay 2

2009年12月28日

Windows7

我が家にも漸くWindows7が来ました。
発売前からなかなか良いという評判を聞いていたので興味はあったのですが、様子をみていました。

お裾分けしてもらってうちのPCにも入れました。
(お裾分けといってもちゃんとお金払って正規のライセンスですよ:-P)

うちのVistaマシンをアップグレードしました。
Vistaは重くてしょうがない。イライラする。募る。
CPUは十分に早いのだけれど、バックグラウンドプロセスによる容赦ないディスクアクセスでI/Oを持っていかれて、終わるまで何もできない、というていたらく。どうしようもないOSだ。
Windows7は大分マシだと聞いているので期待しながらインストール。

まずは現在のVistaマシンに入っている余計なファイルと使わない体験版ソフトを削除。
ディスクの空きが12GBしかないので、もっと空けてデフラグが十分に機能するようにする。
いろいろアンインストールと削除を繰り返しディスクの空きが19GBくらいになった。
ここで1度デフラグを実行。
Windows7を入れるときに連続したディスク領域を確保するために。
どれくらい効果あるのか分からないけれど・・・

念のため、写真ファイルを外部ディスクへバックアップ。
思い出が消えてしまうと悲しいので。
メールはWindows Live メールを使っているので、そのまま移行できるハズ。
まぁ消えてしまったら諦めるしかない。
とはいえ、ライセンスとか書かれているメールが消えると痛いので、ライセンスはテキストファイルへ書き写して外部ディスクへコピー。

次にWindows7へアップグレード。
Vista Home PremiumからWindows7 Home Premiunへ上書きインストールです。
この組み合わせはアップグレード可能。
(XPからはアップグレードできないらしい。新規インストールになるらしい。)
Ultimateにしようかちょっと悩んだけれどXPモードなんか使わないし、めったに使わないサーバ機能がいろいろインストールされるのは重いだけで嫌なのでやめました。Home PremiumでもWindows Virtual PCは動くのでそれでいいや。

アップグレードを始めたら、互換性チェックが走って、ToshibaのBluetoothのドライバーに問題が出るというので迷い無くアンインストール。Bluetoothなんて使ってないし。
次に Google Toolbar に問題が出ると言う。。。でもIEでもfirefoxでも使ってないのだけれどなぁ。
仕方ないので Google Chromeをアンインストールしてみたけれど、まだひっかかる。
どこに入っているのだろう?まぁいいや。使ってないし。ということで、アップグレードを続行。
後で考えたら、もしかして safariと一緒に入っているのかなぁ?

その後は時間がかかったものの無事にアップグレード完了。

再起動して無事にWindows7が起動。感動。

次に再度デフラグを実施。
この時点でディスクの空きが27GBになっていた!
Vistaがアンインストールされて余計なバックアップファイルとかが消えてくれたのかな?
それともWindows7が小さいのかな?
なんにしてもうれしいことです。

デフラグ完了後に再起動して完了。

ちょっとだけ早くなった気がします:-)

特にバックグラウンドプロセスが走っていても他の作業ができるレベルになったのはうれしい。
これだけでかなり軽くなった印象を受ける。実際はそんなに大きな差はないのかもしれないけれど。
アップグレードしてよかった。

2009年11月29日

デジタルフォトフレーム

今日は親戚を招いてパーティー。
1年遅れの出産祝いにデジタルフォトフレームをいただきました。
『テクタイト デジタルフォトフレームSDP-708MW』

1年遅れだけあってちょっと古いw
けれど、電気屋さんでデジタルフォトフレームを見るたびに、欲しいなぁ~って思っていたので、素直に嬉しかった(^^)。
予想してなかったし。
カレンダー機能付きで卓上で使うのに便利そう。
家でだとつけっぱなしだとなんか電気代が勿体無い気がしてしまうので、会社へ持っていって会社で使おうかなぁ。ひんしゅくかなぁ?
家でだと誰か人が来たときにくらいしか使わなさそうw
せっかく欲しかったものが手に入ったのにね。
自然エネルギーによる自家発電型のデジタルフォトフレームがあるといいのになぁ。

2009年11月28日

ノートパソコン用小型ACアダプタ

仕事で Lenovo の ThinkPad X61 を使っているのだけれど、ACアダプタがでかくて持ち運びに不便。何より思い(><)
amazon で探してみたらエレコム製の互換製品があった。しかも60%オフになってる。

『ELECOM ノートパソコン用小型ACアダプタ ACDC-IB2065BK』

3,266円。
これは買うしかないでしょ、というわけでぽちっとな。

純正品より一回りから二周りほど小型でGood!

かばんが軽くなりました(^^)

2009年09月18日

Norton Internet Security 2010

うちのVistaのNorton Internet Security 2009があんまりにも重いんで、期待をこめて、早速2010へ乗り換え。

ネットでダウンロード版の『Norton Internet Security 2010』を買いました。

まだ昨日でたばっかりなので評判とかわかんないしこなれてなくて怖いのだけれど、2009のバックグラウンドスキャンには辛抱ならんので、思い切ってバージョンアップしました。

そして1度目のインストールではなんかわからんけれどエラーでました(ToT)

でも壊れなくて良かった。

2度目のインストールでインストール成功。


使ってみた感想は・・・・


あまり軽くなった気はしない。。。

重くなった気もしないけれど。

多少マシになったかな?レベル?

2009年08月25日

エプソン リサイクルインク

カラリオミー E-530Cを使っているのですが、写真をいっぱい印刷するのであっという間にインクがなくなる。

結構高いんだよね、純正品のインクって。
沢山欲しいのに。

というわけでエコロージーなリサイクルインクカートリッジを買ってみることにしました。

エプソン リサイクルインク ICCL45B 2個セット

安い!!
大型インクカートリッジ 2個セットで4860円。しかも楽天のポイント10倍。
純正品買う気にならない。

実際使って見ても、僕の目には純正品の時との違いは感じられない。
ともて満足しています。
お買い得だ。

2009年07月08日

METAタグのrefresh

最近知ったこと。


仕事で、「HTMLのRefreshタグがIEでだけうまく動かないのだけれど、どこが悪いのか教えてください」という相談を受けました。firefoxでは問題なく動くと言うのです。
実際、ブラウザで見てみたらその通りfirefoxでは目的のページへ遷移して、IEだと自分のページを延々とリロードしていました。

Refreshで困った経験はないので、なんだろな~?と思いながら調べてみました。


元々書いてあったHTMLはこちら(ドメインは変えてあります)。

<meta http-equiv="refresh" content="1;http://www.hagyroom.com/seminar.html" 1="PR/">

Refresh の書き方に誤りがあります。

正解はこちら。

<meta http-equiv="refresh" content="1; url=http://www.hagyroom.com/seminar.html">


リダイレクト先のURLの先頭に url= を付ける必要があります。
firefox の場合は付けてなくても解釈してくれますが、
IE の場合はリダイレクト先が無いと判断されて自ページへリダイレクトするため、
無限ループリロードになってしまいます。

新たな発見でした。

2009年05月20日

マイクロレシーバワイヤレスレーザーマウス

長年愛用してきたエレコムのちっこいレーザーマウスがぼろぼろになってきたので新しいのに買い換えました。

ELECOM マイクロレシーバワイヤレスレーザーマウス M-PGDLシリーズ
M-PGDLSV

ボクはシルバーを買いました。
今まで使っていたヤツもシルバーだったし、VAIOもシルバーなので。

今までは有線のマウスを使っていたのですが、子供が引っ張る&かじりそうなので、今度はワイヤレスにしました。
ケーブルが減ってテーブルの上が邪魔臭くなくなってよかった。

マイクロレシーバというだけあって、USBポートに挿すレシーバは非常に小さいです。
これも邪魔にならなくて非常に良い!
普段全く気にならない。
挿しっぱなしでOK。

マウスが若干小さい(小さいのが欲しくて小さいのを選んだのだけれど)ので、電池がどれくらい持つのか心配だったけれど、今のところ予想以上に持ってる。
単4電池1本なんだけれど。
マウスを使ってないときは、電源スイッチをOFFにしていなくても上手く節電してくれているようです。

マウスカーソルの動きもまぁまぁです。
値段相応。
基本ウェブとメールしかしないので問題なし。

いい買い物した。

2009年01月08日

Dokan SSHFS

前にsshfsについて書いたけれど、あれは Linux での実装でした。
windowsでも使えたら便利なのになぁ~なんて思って検索してみたら、ありました!

Dokan SSHFS。

Dokan は、FUSE の Windows 版みたいなもの。
Dokan ライブラリを使って実装されたのが Dokan SSHFS。

ssh先を Windows にマウントできます。

SSHFS Setting

接続ツールを立ち上げて、接続先の情報(IPとかログインIDとかパスワードorパスフレーズとか秘密鍵とか)を入力して、マウントしたサーバに接続します。
すると、マイコンピュータにネットワークドライブが作成されます。
それをクリックするとSSH先のフォルダが表示されます。
表示されたフォルダの中のファイルを普通にエクスプローラで見られます。
フォルダやファイルを作成することも可能です。
エクスプローラでファイルを選択して右クリックでWindowsのエディターで開いてファイルを編集できます。
ドラッグ&ドロップでファイルのアップロード、ダウンロードができます。
超便利。
切断したいときは、タスクトレイのアイコンを右クリックしてUnmountを選べば良い。


私の環境では、Windows XPとVistaで普通に動かせました。
Vistaの方はちょっと安定性にかける。固まることがある。XPの方は安定している。固まらない。
(ただし、XPとVistaでネットワーク環境が違うので一概にOSの問題とは限らない。)


これはおすすめ。


ここからダウンロード可能。(サイトは日本語で表示されます)
http://dokan-dev.net/download/#sshfs


敢えて欠点をあげるなら
・パスフレーズが丸見え
な点。
パスワードはちゃんとアスタリスク(***)で表示されるのに、パスフレーズはそのまんま表示されてしまう。
これはちょっと嫌だ。アスタリスク表示にして欲しい。


ネット上の書き込みでは、鍵認証はできなくてパスワード認証じゃないとログインできないというブログ記事もあったけれど、僕の環境では鍵認証できました。
Linux上のopensshで作った秘密鍵が使えました。RSA,DSA両方ともOKでしたよ。

2008年12月10日

Samba Client for Win32

時々アクセスログを見ているんだけれど、
ボクの『Samba Client for Win32』のページがフランスのサイトの掲示板にリンクされてました。
日本語のページなのにフランス語の掲示板に貼って貰えるなんてなんかちょっとうれしい(^^)

FORUM HardWare.fr
 |- Client Windows SMB/CIFS
http://forum.hardware.fr/hfr/reseauxpersosoho/Reseaux/client-windows-cifs-sujet_13372_1.htm

excite翻訳結果

Google翻訳結果


んでも今時の Samba ならマルチランゲージだろうし、パッチなしで普通に Cygwin の gcc でコンパイルできるんでないの?試してないけど:-P できないの?

2008年09月21日

VistaでFax送信

実家にうちまでの地図を送ろうとグーグルマップを検索して、それをPCでFAX送信しようと思ったら、なんとVistaにはFax機能が付いてなかった!

知らなかった・・・

http://www.microsoft.com/japan/windows/products/windowsvista/features/details/faxscan.mspx

http://windowshelp.microsoft.com/Windows/ja-JP/Help/3085a2d0-8f36-4993-bc5e-4336402536761041.mspx

XP以前には標準機能として搭載されていたのに。
PCに内蔵されているモデムはFAX対応なんだけれど、OSのVistaのHomeエディションにはFAX送信ソフトウェアがインストールされていない。
Vistaからは(わざわざ)つけないようにしたみたい。。。
businessやultimateエディションには付いているみたい。。。

なんとケチくさい。いじわるな。

しょーがないので、まいと~く FAX 8体験版をダウンロードしてインストールした。
30日は無料で使えるらしい。
これで無事FAX送信できました。
まいと~くは昔からあるFAX送受信ソフトウェアで使いやすく良くできています。
そんなに高くないし、買っても良いかもなー

2008年09月20日

Catalyst::View::Email::Template

Catalystからのメール送信は Catalyst::Plugin::Email より Catalyst::View::Email を使った方が良いというブログ記事を読んだので、Catalyst::View::Email を使ってみることに。

cpan> install Catalyst::View::Email
でインストールして早速実装してみる。 メールのテンプレートは任意のテンプレート・エンジン(TTとかMasonとか)を利用できるらしい。

ボクは default view に HTML::Template::Compiled を使っているので、メールの View にも HTC を使いたい。


でも上手く動かない~


Catalyst::View::Email::Template が、使用する View をチェックしていて、そのチェックにひっかかってしまいエラーとなる。
どういうチェックかというと、


sub _validate_view {
 ~
    croak "C::V::Email::Template's configured view '$view' isn't an Catalyst::View!"
        unless ($view->isa('Catalyst::View'));
 ~

使用する View が Catalyst::View を継承しているかチェックしているのです。Catalyst::View::HTML::Template::Compiled は Catalyst::Base を継承していて、Catalyst::View を継承していないのです。

とりあえず、Catalyst::View::HTML::Template::Compiled を修正して Catalyst::View を継承するようにしてみる。
※ Catalyst::View は Catalyst::Base を継承しているので、修正しても C::V::HTC 的には問題ない。


それでもエラーになる。


Catalyst::View::HTML::Template::Compiled の render() メソッドの引数が呼び出し側と合わない・・・

Catalyst::View::HTML::Template::Compiled に実装されている render() メソッドのインターフェースは、


sub render {
    my ($self, $c ) = @_;
 ~

一方、Catalyst::View::Email::Template の呼び出しは、


 ~
    # render the email part
    my $output = $view->render( $c, $template, {
        content_type    => $e_m_attrs->{content_type},
        stash_key       => $self->{stash_key},
        %{$c->stash},
    });
 ~

これでは上手く動くわけがない・・・動いても直前まで持っていた htc オブジェクトがレンダリングされるだけ。メール・テンプレートがレンダリングされない。。。


Catalyst::View::Email::Template の perldoc を見ると、View が TT と Mason の場合の実装例(設定例?)が書いてある。


ところで、Catalyst::View::TT の実装は、


use base qw/Catalyst::View/;

sub render {
    my ($self, $c, $template, $args) = @_;
 ~

になっています。
これなら動くね。当たり前だけれど。


むぅ~。


結局、Catalyst::Plugin::Email::Japanese に逆戻り。
でも、Catalyst::Plugin::Email::Japanese は MIME::Lite::TT::Japanese を使うので、やっぱり TT が必要。。。
View を TT 以外にすると何かと不便になっちゃうねぇ。

2008年09月16日

Catalyst::View::JSON

クライアントで Ajax を使ってサーバから JSON 形式でデータを取得したかったので、Catalyst::View::JSON を使ってみました。
Catalyst::View::JSON はよく出来ており使いやすいのですが、いくつかハマリました。


まず文字化け関連。
全部 utf-8 だったら文字化けの心配なんか要らないのですが、レガシーなシステムを使っていて、
クライアント(ウェブ画面)が Shift_JIS なので、JSON データも Shift_JIS で返したい、という状況で、perldoc に書いてある Catalyst::View::JSON の機能を使って、


 $c->component('View::JSON')->encoding('Shift_JIS');

で文字コード変換(UTF-8からShift_JIS)をしたのですが、化ける・・・

なんでかな~

と思いながら試行錯誤した結果、JSON::Any だと化けて JSON::XS だと化けない。
(ボクの環境は perl 5.8.6 なのでもろもろちょっと古い環境での話しだけれど)
JSON::XS 使ったら直った。(JSON::XS は別途インストールが必要)


package MyApp::View::JSON;
use strict;
use base 'Catalyst::View::JSON';
use JSON::XS;

sub encode_json {
    my($self, $c, $data) = @_;
    #my $encoder = JSON::XS->new->ascii->pretty->allow_nonref;
    my $encoder = JSON::XS->new->latin1->pretty->allow_nonref;
    $encoder->encode($data);
}

1;


perldoc には ascii で例が書いてあったのですが、ascii だと文字化けしてしまいました。
ascii の代わりに latin1 にしたら文字コード変換が上手くいった。
ascii の代わりに utf8 にすると文字化け。
※コードを深く追ってないのでなんでこうなるのかは知らない;-P

それでもって、いちいち encoding メソッドを呼ぶのもめんどくさいので config で指定しました。
MyApp.yaml で


View::JSON:
  allow_callback: 1
  expose_stash: json
  encoding: Shift_JIS

とエンコーディングを指定すれば、いちいちこれ

 $c->component('View::JSON')->encoding('Shift_JIS');

を実行しなくても自動的にエンコーディングします。

このエンコーディング、元のデータは utf-8 の必要があります。


    my $encoding = $self->encoding || 'utf-8';

    # if you pass a valid Unicode flagged string in the stash,
    # this view automatically transcodes to the encoding you set.
    # Otherwise it just bypasses the stash data in JSON format
    if ( Encode::is_utf8($json) ) {
        $json = Encode::encode($encoding, $json);
    }


utf-8 じゃなかったらエンコーディングしない実装になっています。

Encode.pm を使ってエンコーディングしているので、Shift_JIS じゃなくて shiftjis や cp932 を指定してもエンコーディングはするのだけれど、エンコーディングした後に content-type の charset を指定しているので、Shift_JIS を指定する必要があります。


   if (($c->req->user_agent || '') =~ /Opera/) {
        $c->res->content_type("application/x-javascript; charset=$encoding");
    } else {
        $c->res->content_type("application/json; charset=$encoding");
    }

shiftjis を指定すると charset=shiftjis になってしまいます。
というわけでヘッダーも自動的に生成してくれるので便利。

また config で expose_stash を指定しないと、stash 全てを json データで返してしまいます。
json で返したくない値(内部の値や余計な値)とかも返ってしまうので、 expose_stash は指定した方が良いです。
実装ミスすると意図せずに住所やパスワードなんかも返してしまったりして危険かも。
ボクは expose_stash: json を設定して、


$c->stash->{'json'}->{'data'}->{'foo'} = "hoge";
$c->stash->{'json'}->{'data'}->{'bar'} = "huga";
$c->stash->{'json'}->{'message'} = "test";

みたいにデータを作って、stash json だけを返しています。
Javascript 側では、サーバから返された json オブジェクトに対してアクセスしています。
jQuery の Ajax を使うと、

$.ajax({
  ~
  dataType: "json",
  success: function(json) {
    alert(json.message);
    var data = json.data;  /* 配列 data[foo] と data[bar] ができる */
    ~
  }
});

といった感じで簡単。

でも、この jQuery の Ajax でもハマリました。。。
最初は jQuery.ajax() よりオプションが少なくて手軽に使える jQuery.getJSON() を使っていたのですが、HTTP GET メソッドを使っているせいか(?)、firefox では問題なく動作するのですが、IE だとキャッシュしてしまって、最初の1回しかリクエストが飛ばす、2回目以降はキャッシュしたデータが使われてしまうという問題にあいました。firefox3 だと毎回リクエストが飛ぶ。。。
仕方なく、POST メソッドを使うために jQuery.ajax() にしてオプションで指定しました。


$.ajax({
  cache: false,
  type: "POST",
  ~

これで IE7 でも毎回リクエストが飛ぶようになりました。
ググると下記の記事がみつかりましたが、これとは別の問題みたい。
■jQueryの $.getJSON 等を使った Ajax でIEが動作しない件
http://feedtailor.jp/oishi/2007/07/jquery_getjson_ajax_ie.html


更にはまったというか勘違いしたのが、Catalyst::Plugin::Charsets::Japanese との絡み。
このプラグインを使っていて、出力(out)を sjis に指定していました。
このプラグインは出力全てをエンコーディングすると思い込んでいた。。。
でも違った・・・
content-type を見てた。


unless ( $c->response->content_type =~ /^text|xml$|javascript$/ ) {
return $c->NEXT::finalize;
}

Catalyst::View::JSON を使うと、出力の content-type が application/json になる(Opera以外)ので、上記の条件式に当てはまらず、Catalyst::Plugin::Charsets::Japanese によるエンコーディングがされませんでした。
最初はこれに気づかず、Catalyst::View::JSON のエンコーディングは要らないはずと思い込んでしまい、試行錯誤して無駄な時間を使いました orz

続きを読む "Catalyst::View::JSON" »

2008年09月09日

ubiquity + perl + php

ubiquity で CPAN や perldoc を検索して表示したいなぁ~と思いました。
で、ググってみたらあった。

・Perl Ubiquity Commands
http://www.grok.in/ubiquity/perl.html

コマンドラインで cpan HTML::Template を実行すると、別タブに CPAN 検索結果が表示されます。
perldoc HTML::Template::Compiled を実行すると、別タブに perldoc を表示します。

これは便利だわ~


と思ったので、上記のコードを参考に PHP の pear 検索コマンドとマニュアル検索コマンドを作ってみました。
上記の perl コマンドをインストールした上で、command-editor へ下記のコマンドを入力します。
perl コマンドの makeSearchCommand() を使っているので必ずセットでコマンドを登録してください。


makeSearchCommand({
  name: "pear",
  url: "http://pear.php.net/search.php?q={QUERY}&in=packages",
  description: "Searchers http://pear.php.net/ for the specified pear packages.",
})

makeSearchCommand({
  name: "php",
  url: "http://jp.php.net/manual-lookup.php?pattern={QUERY}",
  description: "Searchers http://jp.php.net/manual/ja/funcref.php for the specified php functions.",
})


コマンドラインで pear Net_IMAP を入力すると、別タブで pear 検索結果を表示します。
php preg_replace を入力すると、別タブで PHP 日本語マニュアルの関数リファレンスを表示します。
結構使えます。

2008年09月03日

ubiquity + wassr

ubiquity のコマンドを自分で作ってみたいな~と思い、自分で作ってみました。
Wassr へヒトコト投稿するコマンド。
既に誰か作っていそうだったけれど、自分でも作ってみたかったので、探さずに自分で書きました。

Twitter の Status Update コマンド(ヒトコト投稿みたいなもの)が公開されていたので、 それを参考に。
といっても殆どコピペだけれどw

下記を ubiquity の command-editor で入力。


// max of 140 chars is recommended, but it really allows 255
const WASSR_STATUS_MAXLEN = 255;

CmdUtils.CreateCommand({
  name: "wassr-say",
  homepage: "http://wassr.jp/",
  icon: "http://api.wassr.jp/favicon.ico",
  author: { name: "hagy", homepage: "http://www.hagyroom.com/" },
  license: "Public Domain",
  description: "Wassr/ubiquity ヒトコト/ステータス更新",
  takes: { parameter: noun_arb_text },

  preview: function(previewBlock, statusText) {
    var previewTemplate = "Updates your Wassr status to: <br/>" +      
                          "<b>${status}</b><br /><br />" +
                          "Characters remaining: <b>${chars}</b>";
    var truncateTemplate = "<br />The last <b>${truncate}</b> " +
                           "characters will be truncated!";
    var previewData = {
      status: statusText.text,
      chars: WASSR_STATUS_MAXLEN - statusText.text.length
    };
     
    var previewHTML = CmdUtils.renderTemplate(previewTemplate,
                                                    previewData);
   
    if(previewData.chars < 0) {
      var truncateData = {
        truncate: 0 - previewData.chars
      };
     
      previewHTML += CmdUtils.renderTemplate(truncateTemplate,
                                                   truncateData);
    }
   
    previewBlock.innerHTML = previewHTML;
  },

  execute: function(statusText) {
    if(statusText.text.length < 1) {
      displayMessage("Wassr requires a status to be entered");
      return;
    }
   
    var updateUrl = "http://api.wassr.jp/statuses/update.json";
    var updateParams = {
      source: "ubiquity",
      status: statusText.text
    };
   
    jQuery.ajax({
      type: "POST",
      url: updateUrl,
      data: updateParams,
      dataType: "json",
      error: function() {
        displayMessage("Wassr error - status not updated");
      },
      success: function() {
        displayMessage("Wassr status updated");
      }
    });
  }
});


jQuery で Ajax を使って Wassr API を JSON で呼び出してヒトコト更新をしています。

[Ctrl + Space] コマンドラインで、wassr-say Hello! で wassr へ「Hello!」というヒトコトが投稿されます。
初回投稿時に Basic 認証を要求されます。自分のログインIDとパスワードでログインすると以降はブラウザを閉じるまでヒトコトを投稿できるようになります。
Wassr の認証API を使えば、Basic 認証なしで投稿できるようになりますが、上記コードは認証API は使っていません。使うには個々でシグネチャを取得して設定しないといけません。


これ投稿するだけで見ることはできないので、見るためには結局 Wassr のページを開かないといけないので、実用性はあんまりありませんw

続きを読む "ubiquity + wassr" »

2008年09月02日

ubiquity

噂のubiquityを入れてみました。
ubiquity の動画見ると、すげ~~と思う。
google map を gmail へ貼り付けるところとか、かっこいい~。

・ブラウザの新境地? Ubiquityが変える衝撃のブラウザ体験

http://www.itmedia.co.jp/enterprise/articles/0808/31/news003.html

これ、ボクは最初、mozilla のエンジンを積んだ単体の ubiquity というブラウザだと思っていましたf(--;
そしたら firefox の拡張機能でした。プラグインみたいなもん。
https://people.mozilla.com/~avarma/ubiquity-0.1.1.xpi から ubiquity-0.1.1.xpi をダウンロードしたけれど、その後どうしたらいいか分からなかった。
そう、firefox をインストールしてないと動くわけも無い・・・拡張子も firefox のプラグイン用の拡張子(中身は zip でアーカイブされているだけ)なのでダブルクリックしても firefox がないとしょうがない。。。

ubiquity の紹介ページには当たり前すぎてあまり書いてないけれど、上記の通り firefox が必要です。
なので、最初に firefox のインストールが必要。バージョン3以上が必要。
普通に firefox の日本語最新版(3.01)をダウンロードしてインストールします。

それから ubiquity をインストール。
ちなみに「ubiquity」を ALC で翻訳すると「至る所[広くあちこち]に存在すること、どこにでもある[いる]こと、遍在」という意味らしいです。

Mozilla Labs の Ubiquity プロジェクトのページから ubiquity-0.1.1.xpi ファイルをダウンロードした場合は、このファイルを firefox へドラッグ&ドロップすれば、ubiquity をインストールできます。
たぶん、firefox からダウンロードリンクをクリックすれば自動的にインストールが開始されるのではないかと思います。


使ってみた感想は、カッこイイ!
そして慣れると、便利!

[Ctrl + Space] でコマンドラインを開いて g キーワード で自動的にググれます。google 検索結果がリスト表示されるので、リストから一つを選択すると、新しいタブに開きます。
コマンドラインで map 東京ミッドタウン を入力すると、グーグルマップが表示される。
この時、漢字変換で [Enter] を押してしまうとそこで検索が始まってしまい別のタブに結果が表示されてしまいます。
地図の住所を漢字で入力するときは、[Space] か [変換] で漢字変換して文字を決定する時に [Enter] の代わりに [Ctrrl + m] で文字を確定させます。これで最後まで住所キーワードを入力できる。
住所キーワードを入力すると自動的に検索されていくつかの地図が表示されます。
ひとつの地図を選んでマーカーをクリックすると地図の操作(拡大縮小とか移動とか)ができます。
そして地図の右下に表示される「Insert map in page」をクリックすると、タブで開いているページにその地図を貼り付けられます。(できるページとできないページがある)
Gmail へログインしてメール作成画面で上記操作をすると、メールの本文に地図画像が挿入されます。
これは実際にやってみると、おぉ~と思う。
まぁ、普段使う機会はなかなかないと思うけれどw
でも他にもいろいろカッこイイ。

続きを読む "ubiquity" »

2008年07月23日

cygwinでdigコマンド

cygwinを使っていてdigコマンドを実行したいな~と思うことが多々あるのですが、setupを実行してもbind系のパッケージはない。
ググると『Cygwinでdigを使う』というサイトがあるので、その通りにやってみた(つもり)だけれど、動かない・・・orz

で、別件でbindのキャッシュ汚染のセキュリティホールについてを調べていたら、ISCのサイトでbindのWINDOWSバイナリーを配布していることを知った。
今まで知りませんでした・・・Windows版を正式配布していたとは。
だからcygwinにも取り入れてないのかな?mysqlも同様にないし。

まずは、下記のISCのBINDのページからWindowsのBinary Kitをダウンロード。

http://www.isc.org/sw/bind/view?release=9.5.0-P1

最新版バージョン9.5.0-P1のアーカイブファイルをダウンロード。
ZIPを解凍。
解凍したフォルダの中にはインストーラー(BINDInstall.exe)があるのですが、僕はWindowsでbind(named)を動かしたいわけではないし、サービスに登録されるのも嫌なので、インストーラは実行しない。
解凍したフォルダをCドライブの下記にコピー。

 C:\cygwin\usr\local\BIND-9.5.0-P1

cygwinを起動してシンボリックリンクを作成

 cd /usr/local
 ln -s BIND-9.5.0-P1 bind

不要なファイルは削除。特にインストーラを間違って実行しないように削除。

 cd /usr/local/bind
 rm BINDInstall.exe
 rm *.html
 rm *.pdf
 rm *.txt

あとはここにPATHを通すだけ。.bashrc に環境変数PATHを設定。

cd
vi .bashrc

PATH="/usr/local/bind:${PATH}"

これでcygwin上でdigコマンドが実行可能になります。
便利!(^^)

続きを読む "cygwinでdigコマンド" »

2008年07月08日

Excel画像縮小マクロ

Webシステムのテスト中。
画面をキャプチャしてエクセルのテスト仕様書にペタペタと張っていく単調で退屈な作業・・・
エクセルにペーストした画像を選択して右クリック、メニューから[図の書式設定]を選択して、[サイズ]タブを指定して、倍率を入力する。
これの繰り返し。

一発でやりたいなぁ~と思ってマクロを作成。
テストしているよりマクロを作っている方が楽しいという罠w

エクセルで[ALT]+[F11]を押してマクロVBAエディターを起動。
以下のコードを作成。

■画像縮小マクロ


Option Explicit

'画像の縮小率を設定
Private Const cMagnification As Double = 0.5

Sub 画像縮小()

'エラー対応(画像を選択しないで実行した場合)
On Error GoTo ErrorHandler

Dim Pic As Picture

With Selection.ShapeRange
.LockAspectRatio = msoTrue '縦横費を固定
.Height = .Height * cMagnification
End With

Exit Sub

'エラー処理ルーチン(画像を選択していない!)
ErrorHandler:
Err.Clear
MsgBox "縮小する画像を選択してください。"
On Error GoTo 0
End Sub

VBAエディターを終了して、エクセルのメニューバーから[ツール]->[マクロ]->[マクロ]で画像縮小を実行できます。
でもこれだといちいちメニューを辿るのが面倒なので、ショートカットキーを設定する。
[ツール]->[マクロ]->[マクロ]で画像縮小の[オプション]設定でショートカットキーを設定。
これで[CTRL]+[設定したキー]で画像縮小マクロを一発実行できるようになります。
実行すると選択した画像を50%に縮小します。
画像を選択していないとエラーダイアログが表示されます。

2008年04月20日

clamav

レンタルサーバなので自分でOSのバージョンを上げることができず、未だにFC4を使っている。そんな人も多いのではないでしょうか。
昨年まではclash-hatさんが古いディストリビューション用のパッケージ、FC4用のパッケージも配布してくれていたのですが、今年からCentOS5用しか配布してくれなくなった。
FC4にclash-hatさんのリポジトリを追加してyumでインストール&バージョンアップできていたのですが、
残念。
でもclamavに脆弱性が見つかったのでバージョンアップしなくては。
しかたがないので自分でリビルドすることにしました。

FC8用だとファイルやパッケージの構成が変わってしまうので、clash-hatさんのリポジトリからCentOS5用のSRPMを取得。

wget http://crash.fce.vutbr.cz/crash-hat/centos/5/clamav/clamav-0.93-2.src.rpm

そのままリビルドするとconfigureの途中でエラーになる。

rpmbuild --rebuild clamav-0.93-2.src.rpm
(省略)
checking for a supported version of gcc... ok (4.0.2)
checking for gcc bug PR27603... ok, bug not present
checking for gcc bug PR26763-2... ok, bug not present
checking for valid code generation of CLI_ISCONTAINED... ok, bug not present
checking for gcc bug PR28045... configure: error: your compiler has gcc PR28045 bug, use a different compiler, see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28045

FC4にバンドルされているgccにPR28045のバグがあるためコンパイルさせてくれない。
gccを4.3にバージョンアップするか、3.2~3.4にダウングレードするか、オプティマイズオプション(-O2)をやめてデバッグ(-g)でコンパイルすれば、コンパイルできる。
FC4にはgcc 4.0.2と3.2.3が入っている。
gccのバージョンアップはめんどいし、他への影響も大きいのでパス。
オプションの調整もSPECファイルの修正がめんどい。
手軽なところでgcc 3.2.3でビルドすることにしました。
SRPMをインストールしてSPECファイルを修正します。

rpm -i clamav-0.93-2.src.rpm
cd /usr/src/redhat/SPECS/
vi clamav.spec

viで編集。

%configure \
    --program-prefix=%{?_program_prefix} \

上記の部分を下記のように書き換えます。

%build
CC=gcc32 ./configure \
--build=i686-redhat-linux-gnu \
--host=i686-redhat-linux-gnu \
--target=i386-redhat-linux-gnu \
--program-prefix= \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
--datadir=/usr/share \
--includedir=/usr/include \
--libdir=/usr/lib \
--libexecdir=/usr/libexec \
--localstatedir=/var \
--sharedstatedir=/usr/com \
--mandir=/usr/share/man \
--infodir=/usr/share/info \

このSPECファイルでビルド。

rpmbuild --ba clamav.spec

今度はエラーも出ずにビルドが完了。
インストール(アップグレード)します。

cd ../RPMS/i386/
rpm -Fvh clamav-0.93-2.i386.rpm \
     clamav-db-0.93-2.i386.rpm \
     clamav-milter-0.93-2.i386.rpm \
     clamav-server-0.93-2.i386.rpm

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

freshclam

もろもろのデーモンを再起動。

/etc/init.d/clamd restart
/etc/init.d/clamav-milter restart
/etc/init.d/freshclam restart

スキャンのテストを実施。

clamscan --infected --recursive /usr/share/doc/clamav-0.93/test/

/usr/share/doc/clamav-0.93/test/clam.cab: ClamAV-Test-File FOUND
/usr/share/doc/clamav-0.93/test/clam.exe.bz2: ClamAV-Test-File FOUND
LibClamAV Warning: RAR code not compiled-in
/usr/share/doc/clamav-0.93/test/clam.zip: ClamAV-Test-File FOUND
/usr/share/doc/clamav-0.93/test/clam.exe: ClamAV-Test-File FOUND
LibClamAV Warning: RAR code not compiled-in
LibClamAV Warning: RAR code not compiled-in
LibClamAV Warning: RAR code not compiled-in
LibClamAV Warning: RAR code not compiled-in
LibClamAV Warning: RAR code not compiled-in

----------- SCAN SUMMARY -----------
Known viruses: 266450
Engine version: 0.93
Scanned directories: 10
Scanned files: 48
Infected files: 4
Data scanned: 0.02 MB
Time: 3.864 sec (0 m 3 s)

RARがスキャンできてないけれど、これはビルド時にRARのライブラリが入ってないのでしょうがない。
FC4にはライブラリ入ってないし。まぁいいや。
とりあえず他は無事検出できたのでよしとしました。

続きを読む "clamav" »

2008年04月18日

省庁のWebサーバ

ちょっとした興味本位で調べてみました。
おもろ。

首相官邸
Server: Apache
Server: Zeus/4.2
トップページはApacheだけれど、ページによってはZeusを使っている。
10年前はZeusすげ~と思っていたけれど、存在をすっかり忘れていたw
まだ現役なんですね。最近はどうなんだろ?
http://www.scs.co.jp/zeus/zws.html

内閣府/総務省/法務省/環境省/農林水産省/文部科学省/財務省/金融庁
Server: Apache

宮内庁
Server: Apache/Latest (Unix)

国土交通省
Server: Secret
をを、秘密なんだ!w

経済産業省
Server: Netscape-Enterprise/6.0
かなり古くね?まだ現役の製品なの?6.1もリリースされているはずだけれど・・・
http://en.wikipedia.org/wiki/Netscape_Enterprise_Server

厚生労働省
Server: IBM_HTTP_SERVER
IBMの製品(Apacheベース)
http://www-306.ibm.com/software/webservers/httpservers/library/

外務省
Server: Microsoft-IIS/6.0
外交に配慮してMS製品なのでしょうかw

防衛省
Server: FJapache
富士通の製品(Apache 1.3.22ベース?) 古くね?!防衛省がこれでいいの?危なくね?
http://interstage.fujitsu.com/jp/technical/faq/apserver/v5/www_ihs/faq191009.html
後継の新製品が出ているようですが・・・

警察庁
Server: Hitachi Web Server 02-04 (Unix) mod_jk
日立の製品(Apache 1.3.31ベース)古くね?警察庁がこれでいいの?
新バージョン 03-10(Apache 2.0.59ベース)が出ているようですが・・・バージョンアップしないのかね?
http://www.hitachi.co.jp/Prod/comp/soft1/webserver/info/function/index.html

警視庁
Server: Apache/2.0.46 (Red Hat)
Apache 2.0.46をバンドルしているRed Hat製品というとRed Hat AS/ES/WS 3ですかね?
バージョン表示しないほうが良いと思うけれど・・・
https://rhn.redhat.com/errata/RHSA-2008-0005.html

続きを読む "省庁のWebサーバ" »

2008年03月28日

DIONのSPFが・・・

最近SPFについていろいろ調べているのですが、各ISPのSPFレコードをいろいろ調べてみると面白い。
それぞれ特徴、ポリシーみたいなものが見えるし、扱っているIPレンジの広さが垣間見える。

その中で au one net に統合された DION のSPFレコードを見ていたら、あらら~な状態になっていました。

# dig dion.ne.jp txt

dion.ne.jp.  3600  IN  TXT  "v=spf1 ip4:61.200.164.32/28 ip4:61.117.3.48/28 ip4:203.181.105.160/27 ip4:203.181.105.64/27 ip4:210.174.120.144/28 ip4:210.155.124.128/26 ip4:61.200.160.128/26 ip4:211.5.2.64/26 ip4:61.117.3.64/26 ip4:210.196.14.64/26 ip4:219.125.112.0/26 ip4:219.125.112." "128/25 ip4:210.251.0.0/25 ip4:61.117.18.96/27 ip4:61.117.18.192/26 ip4:211.5.1.64/26 ip4:210.196.2.160/27 ip4:219.125.149.119/32 ~all"

なんか変だぞと思ったら途中で途切れちゃってる。
ちょうど ip4:219.125.112." "128/25 のところ。
空白" "が入ってる。
でも入力ミスには見えないので文字数を数えてみると、TXTレコードの中身の256文字目に空白が入っている感じ。
これはクライアント側の処理の問題かな?
nslookupで見ても同じように表示されるなぁ。

RFCを見ると RFC-4408 の「3.1.3. 単一のDNSレコード中の複数行」「3.1.4. レコードのサイズ」にサイズついて書かれている。
http://www.iajapan.org/anti_spam/portal/Tech/RFC/RFC4408_11.html
またau自身のページにも「■SPF公開の注意事項」としてSPFレコードが255文字に収めるようにと書いてあるw
http://www.au.kddi.com/notice/manner/jyushin_policy/spf_record.html

DIONのネームサーバで、1レコードに255文字以上で登録してしまっているのかな?
450文字には収まっていますが、400文字近くありますね。
分割して include すればいいのに。その方が見易いし。とにかくDNS参照回数を減らしたかったのかな?

ちなみに、auone-net.jpのサブドメインも同じようなことになってしまっている:-(


# dig ab.auone-net.jp txt

ab.auone-net.jp.  3600  IN  TXT  "v=spf1 ip4:61.117.3.48/28 ip4:210.155.124.128/26 ip4:61.200.160.128/26 ip4:211.5.2.64/26 ip4:61.117.3.64/26 ip4:210.196.14.64/26 ip4:219.125.112.0/26 ip4:210.251.0.0/25 ip4:61.117.18.96/27 ip4:61.117.18.128/25 ip4:211.5.1.64/26 ip4:222.3.140.128/26 ip4:21" "0.141.108.0/24 ~all"


これってau one net のユーザのメールアドレスに使われているサブドメインでは?

ついでにこれも。レンジはみんなちょっとずつ違うみたいだね。


# dig ma.neweb.ne.jp txt

ma.neweb.ne.jp.  86400  IN  TXT  "v=spf1 ip4:61.117.3.48/28 ip4:210.155.124.128/26 ip4:61.200.160.128/26 ip4:211.5.2.64/26 ip4:61.117.3.64/26 ip4:210.196.14.64/26 ip4:219.125.112.0/26 ip4:210.251.0.0/25 ip4:61.117.18.96/27 ip4:61.117.18.128/25 ip4:211.5.1.64/26 ip4:203.140.129.5 ip4:222.3" ".140.128/26 ip4:210.141.108.176/27 ~all"

bind9なら起動時にエラー出るんじゃないかな?
http://bonz.squares.net/~dais/misc/migration.html#txt
試して無いけれど;-P
これって、メールを受信した側でSPFを実装していた場合、下手すると認証できないのじゃないかな?
大丈夫なのかな?

libspf2 にバンドルされている spfquery を使ってテストしてみると認証は上手く行くようです。
ちょうど空白が挟まって表示されたIPでクエリしてみると、


# spfquery -ip=219.125.112.129 -sender=user@dion.ne.jp -helo=dion.ne.jp
pass

spfquery: domain of dion.ne.jp designates 219.125.112.129 as permitted sender
Received-SPF: pass (spfquery: domain of dion.ne.jp designates 219.125.112.129 as permitted sender) client-ip=219.125.112.129; envelope-from=user@dion.ne.jp; helo=dion.ne.jp;


pass する。
空白のあとのレンジ、一番最後に記載されているIPでクエリしてみると、

# spfquery -ip=219.125.149.119 -sender=user@dion.ne.jp -helo=dion.ne.jp
pass

spfquery: domain of dion.ne.jp designates 219.125.149.119 as permitted sender
Received-SPF: pass (spfquery: domain of dion.ne.jp designates 219.125.149.119 as permitted sender) client-ip=219.125.149.119; envelope-from=user@dion.ne.jp; helo=dion.ne.jp;


やっぱり pass になる(送信ドメイン認証成功)。
動くみたいですね。
少なくとも libspf2 を使っている sendmail の spfmilterexim の spf は動きそうかな。

続きを読む "DIONのSPFが・・・" »

2008年03月16日

SPF

うちのドメインもSPFレコードを公開してみました。


dig hagyroom.com txt

とか

nslookup -query=txt hagyroom.com


とかするとうちのSPFレコードが見られます。

ちなみに、各社の取り組みはこんな感じ。
■携帯キャリア系
NTT DoCoMo
KDDI au
SoftBank
WILLCOM

■大手検索&ポータル系
Yahoo!メール
gooメール
hotmail
google gmail

■国内ISP系
@nifty
OCN
WAKWAK
BIGLOBE
hi-ho
plala
DTI
eo(K-Opticom)
IIJ4U
CDS-Net

■業界団体
JEAG
財団法人インターネット協会(IA japan)

■国
総務省

総務省の『ISPによる受信側における送信ドメイン認証導入に関する法的な留意点』は興味深い。
法の観点から見ている。
端的に言うと、ラベリング(認証と認証結果のヘッダー付与)はOKだけれど、フィルタリング(ヘッダー等を見て受信拒否や破棄)はNGだと言う。
むぅ・・・
フィルタリングはユーザの同意が必要らしい。理由は総務省の上記資料がわかりやすいので読むべし。

続きを読む "SPF" »

2008年03月11日

HTML::Template::Compiled::Plugin::LineBreak

HTML::Template::Compiled のプラグイン、HTML::Template::Compiled::Plugin::LineBreakバグ・レポートがあったので修正して version.0.0.2 をアップしました。

Thanks STEFFENW.

2007年11月09日

Norton Internet Security 2008

Vistaのアンチ・ウイルス・ソフト『Norton Internet Security 2008』を買いました。

この前買ったVAIOにプリインストールしてあった『Norton Internet Security 2007』のライセンスが切れたので、更新しようと思ったら新しいバージョンが出ていた。
せっかくなのでアップグレード更新した。
2年分の更新すると1年分ずつ買うより少しだけ安いし、あんまり乗り換えることもないだろうと思って2年分買いました。
ネットでシマンテックのサイトから買ったんだけれど、巧妙にオプション製品を薦めてくる。。。
保険とか超いらないし。

でもノートン2008は悪くないです。
割と軽い気がする。まぁ、PCがCore Duoで早いしな。
「Norton IDセーフ」はちょっとうざいな。OFFにしたい。

2007年08月08日

VAIO VGN-FZ90S

今まで使っていたLet's noteがもう古くて遅くてたまらんので、新しいPCを買うことにしました。
これでも半年ほど我慢したかな。
T2もよくがんばってくれた。もう6年も使っているのかな?まだ現役。ちょっと遅いだけ。バッテリーもすぐ切れちゃうけれど、基本的に電源挿して使うので問題ない。でもバイトは捗らないので:-(
で、購入したのがSonyのVAIOノート。Vistaも使ってみたかったし。

ソニーオーナーメードで注文しました。
スペックはパーツごとに選べます。
CPU2GHz、メモリ2GBにしてVista Home Premiumにしました。あとグラフィックボードはGeForce 8400M GTにしました。液晶は17インチでフルハイビジョン対応。
NICは802.11n対応のやつにしてみました。今度無線LANルーターも買い換えよう。楽しみ(^^)
注文してから3週間弱で届きました。グラフィックボードの入荷に時間かかったみたい。
オーナーメードは意外と高くない。値引きキャンペーンもやっているし。3年保障もつくし。
何より好きな色や好きなスペックを選べるのがよいです。
CPUはもっと速いのも選べたのだけれど、あんまり速いの選んだところでディスクが遅いのであんまり意味ないかと思って。結局5,400回転のディスクアクセスがボトルネックになる。それに速いと熱量も上がってファンがうるさそうだし。


セットアップに半日ほどかかったかな。
WindowsUpdateやVAIO update、NortonのUpdateも。長い・・・。やっぱりディスクアクセスがボトルネックだ。CPUリソースやメモリーは余ってる。。。けれど、ディスクアクセスで忙しくて反応鈍い。。。
MS Office 2007は買いませんでした。代わりにOpenOfficeを入れた。これで十分。互換も良いし。
これで快適にお仕事できそうだ。
液晶がかなり明るいけどさすがにきれいです。

続きを読む "VAIO VGN-FZ90S" »

2007年07月30日

EmEditor Professional

今まで『EmEditor Standard』を使っていたけれど、アウトライン機能を使いたくて『EmEditor Professional』を購入しました。

2001年から使っているからもう6年もこのエディター使っています。
とても使いやすい。見た目も秀○とかより全然イイと思うけれど:-P
特にコードを書く人向け。マクロとかプラグインとかテンプレートが豊富だし。コード変換できるし。
eclipseに比べて全然軽いので、ちょっとファイルを開くのに適しています。
今までStandardを使っていたけれどProfessionalの方が全然いいな。
1,000円くらいしか違いないし。アウトライン使えるのはやっぱりいいね。

続きを読む "EmEditor Professional" »

2007年07月20日

メモリースティックマイクロ

W52S用のメモリー『SONY メモリースティックマイクロ (M2) 1GB 』を購入しました。

地方の携帯ショップや電気屋さんではなかなか売ってなくて、新宿のビックカメラでようやく見つかりました。
今のところ1GBが最大らしい。2GBが欲しかったけれど、まだ発売されてないらしい。
W52SはメモリースティックマイクロとmicroSDの両方が使えるのですが、著作権保護付きの楽曲をメモリーに移すならメモリースティックマイクロの方がよさげ。
携帯ショップの人にもメモリースティックマイクロを薦められました。
microSDには著作権保護付きの曲は移せないのかも。

amazonだと1GBでも僅か2,980円で買えます!
ビックカメラでは3千円代だったと思う。。。

2007年07月12日

HTML::Template::Compiled::Plugin::LineBreak

HTML::Template::Compiled で、MySQL の Text フィールドに入っているデータを表示する際に、改行(\n)入りのテキストデータを HTML 上でも改行(<BR>) 入りで表示させたくて、プラグインを作成しました。
今までは、DB から取得したデータを一度加工して、”\n”を”<BR>”へ変換してから HTC のテンプレートにセットして表示させていました。
でもめんどい。
このプラグインを使うと、DB から取得したデータをそのままセットするだけで、改行を変換してくれます。
簡単なものだけれどあれば便利だと思います。
CPAN に登録して公開しました。よかったらご利用くださいませ。
perl CGI で HTC 使ってない人には無用の長物ですが。。。
Catalyst でも View に HTC を使えばこのプラグインも使えます。

 ・ HTML::Template::Compiled::Plugin::LineBreak

一応、Windows、Mac、UNIX の改行に対応したつもりです。

ESCAPE 属性より、filter として実装したいのだけれど、HTC は filter をプラグインとして実装できないので、ESCAPE で実装しました。
やっぱり TT でも同じようなことができまして、TT では filter として実装されています。

続きを読む "HTML::Template::Compiled::Plugin::LineBreak" »

2007年07月10日

HTML::Template::Compiled::Plugin::Comma

Catalyst で View に HTML::Template::Compiled を使っていて、DB に入っている INT 型の数字データをカンマ入りの数字(金額とか)として表示したかったので、Comma プラグインを作りました。
今までは、テンプレートに値をセットする前に一度処理を入れて、DB から取ってきた値にカンマを入れてからセットしていました。
でもせっかく Catalyst でやるなら、DB からとってきた値をそのままテンプレートに流し込みたい。
Model の DB Schema の中で値にカンマを入れる処理を作っても良かったのだけれど、せっかくなので HTML::Template::Compiled のプラグインとして作って公開しました。
だって、TT にはそういうプラグインあるからね。 HTC にもあってもいいんじゃないかと思って。
CPAN で公開しておいたので、良かったら使ってください。簡単なものだけれどあれば便利です。

 ・ HTML::Template::Compiled::Plugin::Comma (pod)

でも、HTC 使っている人は少ないんだろうな。

続きを読む "HTML::Template::Compiled::Plugin::Comma" »

2007年06月27日

swatchとログローテート

swatchといっても時計ではありません。UNIXのログ監視プログラムのことです。
syslog-ngがあればswatchは要らないかともおもったのですが、最近のswatchは便利な機能がついています。
プログラムでログ監視をしていて任意のメッセージにマッチしたらメールを送る、とか何かのプログラムを実行するようにしていて困るのが、同じメッセージが秒間何十と連続して出てしまった時。
1秒間に何十もメールが送信されてしまいます。。。それが数十秒~数分続くとものすごい数のメールが送られてしまいます。
メールサーバにも負担になりますし、何よりログ監視をしていてメール送信負荷でサーバが過負荷になってしまいます(T_T)
それはsyslog-ngを使った場合でも同じ。
メッセージをfilter()でフィルタしてmatch()でマッチさせるのだけれど、マッチしたときにprogram()へメッセージを渡します。

 filter alert_mail {
    facility(local3) and
    level(notice) and
    match("hoge") and
    program("/usr/local/bin/alert_mail.pl");
 };

program()はsyslog-gn起動時に1回だけ起動されます。
メッセージはプログラムの標準入力<STDIN>へ送られます。
従って、プログラムは標準入力からメッセージを読み込んでぐるぐる回るようなループプログラムにする必要があります。
syslog-ngを終了するとプログラムも終了します。
で、これだとメッセージにマッチするたびにプログラムへメッセージが送られて処理されます。
(syslog-ng 1.6の話です。2.0は違うかもしれません。わかりません。誰か教えて。)

さて、前置きが長くなりましたが、swatchの場合も前は似たようなもんでした。今でもルールの書き方次第では同じになってしまいますが。
pipe("プログラム")を使うとswatch起動時に1回だけ起動され、マッチしたログはプログラムの標準入力へ送られます。
exec("プログラム")を使うとログがマッチするたびにプログラムが実行されます。ケースによってこれが良い場合も悪い場合もありますが、ログがマッチしまくるような状況だとものすごい勢いでプログラムが実行されて過負荷になりかねません。

で、最近のswatchには、thresholdやthrottleというルールがあって、ログがマッチしても15秒間に1回だけプログラムを実行する、みたいなことが出来ます。

 waitfor /hoge/
     threshold track_by="/hoge/",type=limit,count=1,seconds=15
     pipe "/usr/local/bin/alert_mail.pl"

15秒の間に何度ログがマッチしてもプログラムが実行されるのは最初の1回だけ。
上記のcountとsecondsは任意の値を設定できます。
throttleも同じことができますが、tresholdの方が推奨されている?みたいです。

さて、こっからが本題で最近のswatchはログの追跡にtailコマンドを使えます。
昔は使っていませんでした。
tailを使いたくない場合は、swatchのオプションに--use-cpan-file-tailをつけて起動します。
でもこれだと監視対象のログをローテートすると監視されなくなります(追跡できない)。
これを解消するにはやっぱりtailコマンドを使います。
んで、tailのオプションに以下のオプションを付けると、ログがローテートされた後もログの追跡を続けてくれます。

 swatch -f /usr/local/etc/swatchrc -t /var/log/hoge --tail-args='--follow=name --retry -n 0'

tailコマンドのオプションをつけないとtailコマンドを使わない場合と同様に、監視対象のログがローテートされると追跡されなくなります。
理由は追跡にファイル・ディスクリプターを使っているからです(--follow=descriptorがデフォルト)。
--follow=nameオプションは追跡をファイル名で行って、--retryオプションで監視対象のファイルがなくなってもオープンできるようになるまでリトライして、オープンできたら再び追跡を始めます。
こうしておけば、ログローテートしてもswatchを再起動する必要がありませんv(^-^)v

サイトを見てると、結構再起動せよ、みたいなことを書いている人がいるけどf(^^;
再起動したい人はこんな感じ。

 /var/log/hoge {
     postrotate
         /etc/rc.d/init.d/swatch restart
     endscript


postrotateとendscriptの間には複数のコマンドを書けるので、syslogdをkill -HUPしてからswatch restartすることも可能です。
尚、init.d/swatchは自分で作ってくださいw
ググればいっぱい出てきます。

尚、CentOS4にswatchを入れたい場合は、FC6のswatchのSRPMをリビルドすればインストールできます。
できたRPMをインストールしてもinitスクリプトはありませんので、やっぱり自分で作ってくださいw

続きを読む "swatchとログローテート" »

2007年06月18日

HTML::Template::Compiledで文字コード変換

DB が euc で画面出力が sjis というようなレガシーなウェブシステムの場合、Catalyst で構築するなら Catalyst::Plugin::Charsets::Japanese を使うと超便利。
config で指定するだけで文字コード変換ができてしまいます。
MyApp.yaml で

charsets:
  in: EUC-JP
  out: Shift_JIS

と設定すると Catalyst の内部では euc で扱い、output する時に自動的に sjis へ変換してくれます。
しかも、フォームから入力されたデータも Catalyst に入る時に sjis->euc 変換をしてくれます。
なので、データを DB へ保存する時も文字コード変換を意識せずに実装できて大変便利です。

でも、1点困ることがあります。
画面出力に使用する(HTML)テンプレートも(Catalystの)内部(データ)扱いとなるため、テンプレートも euc で扱われます。
もしテンプレートが sjis だと、sjis のテンプレートに(フォームやDBから取得した) euc のデータを挿入して、それを最終的に output する時に euc->sjis の変換をかけます。
従って、sjis のテンプレート部分も euc として扱われ euc->sjis 変換をするので文字が化ける(と思う)。
テンプレートが euc ならなんら問題ないのですが、でも大抵において、画面出力が sjis ならテンプレートも sjis の方が都合が良い。
META タグで content-type の charset=Shift_JIS と書いているし。
デザイナーさんも euc より sjis の方が都合が良いし。


で、どうするか。

Catalyst::Plugin::Charsets::Japanese を使う以上、一度内部で sjis->euc 変換するしかない。
(無駄な作業ではあるけれど。。。)

テンプレートエンジンでテンプレートの文字コードを変換してしまうと楽。
ボクは View に Catalyst::View::HTML::Template::Compiled を使っているので、HTML::Template::Compiled の filter 機能を利用します。
使い方は HTML::Template の filter 機能と全く同じ。
HTML::Template の perldoc に具体的な使い方が書いてあります。
これを元に、HTML::Template::Compiled でテンプレートの文字コード変換を行います。

MyApp::View::HTC で、

package MyApp::View::HTC;
use strict;
use base 'Catalyst::View::HTML::Template::Compiled';
use Jcode;

__PACKAGE__->config(
    filter => \&jcode_filter,
);

sub jcode_filter {
    my $text_ref = shift;
    $$text_ref = Jcode->new($$text_ref, 'sjis')->euc;  # sjis->euc 変換
}

1;

これで、テンプレートが処理される前に sjis->euc 変換されます。
sjis から euc に変換されたテンプレートに対して(フォームやDBから取得した) euc のデータが挿入されます。これだと内部的には全て euc です。
最終的に Catalyst::Plugin::Charsets::Japanese で euc->sjis の変換が行われて出力されます。


ちょっと不毛な感じもするけれど・・・

続きを読む "HTML::Template::Compiledで文字コード変換" »

2007年06月17日

CatalystでHTML::Template

CatalystのViewでHTML::Templateを使ってみました。
ググってみると、みんなTTを使ったやりかたばかり紹介されていて、ボクはHTML::Templateの方が好きなので、敢えてHTML::Templateを使ってみました。
でも、使ってみて分かったけれど、CatalystではTTを使った方が便利かも。
でもTTだと、使い方しだいなところはあるけれどTTの便利さを活かすとMVCの分離がグレーになる気がする。HTML::Templateは制限がある分(不便な分?)MVCのVの分離が(自然と)きちんとできる気がする。
んでも、HTML::TemplateだとやっぱりCatalystを使うメリットが薄くなってしまうかなぁ。
Catalystで使うならHTML::TemplateよりHTML::template::Compiledがいいかな。こっちだと大分便利だし、煩雑なコードを大分減らせる。TTほど多機能ではないけれど、オブジェクトをセットできる分、HTよりはCatalystとの相性が良い。まぁCatalystに限らず、DBIx::Classとの相性もいい。

さて、前置きが長くなりましたが、今回はCatalystのViewでHTML::templateを使った場合の簡単な実装例についてです。


まずは、下準備として以下のテスト・モジュールをインストール。
これらはインストールしなくてもCatalystのインストールは可能です。


cpan Test::Pod
cpan Test::Pod::Coverage

さて、それでは普通にCatalystをインストール。
下記サイトからインストール・スクリプトをダウンロード。
http://www.shadowcatsystems.co.uk/static/cat-install
ダウンロードしたら実行。


perl cat-install
perl -MCPAN -e 'install Catalyst::Devel'

(現在は cpan コマンドで Task::Catalyst をインストールすることで全部インストールできるらしい)
表示を自動化する為に下記プラグインをインストール。

cpan Catalyst::Plugin::DefaultEnd

このプラグインが無かったころは、コントローラの中でいちいちどのビューで表示するかforward指定しないといけませんでした。
(現在は DefaultEndプラグインの代わりにActionClass('RenderView')を使うので、インストールする必要はありません。)

ViewにHTML::Templateを使用するので下記モジュールをインストール。


cpan HTML::Template
cpan Catalyst::Helper::View::HTML::Template

これでとりあえずインストールは完了。

次にCatalystでサンプル用のHelloプロジェクトを作成。


cd /var/www/
catalyst.pl Hello


DefaultEndを使うためにプラグインを設定。

cd /var/www/Hello
vi lib/Hello.pm

use Catalyst qw/
  -Debug ConfigLoader Static::Simple DefaultEnd
/;



ビューを自動的に表示させる為に下記記述を行う

vi lib/Hello/Controller/Root.pm

sub end : ActionClass('RenderView') {}

HTML::Templateを使用したビュー、HTを作成。


script/hello_create.pl view HT HTML::Template

作成したビューを修正。下記修正をしないと表示時にエラーになります。

vi lib/Hello/View/HT.pm

__PACKAGE__->config(
        die_on_bad_params => 0,
);


何故エラーになるかと言うと、テンプレートに対してCatalystが持っているもろもろのオブジェクト(stash)をセットしようとしてしまう為。

次にサンプル用のテンプレートを作成。
デフォルトのテンプレートrootはroot/baseになります。
そこに文字列を表示するだけの簡単なtestテンプレートを作成。


mkdir root/base/sample
vi root/base/sample/test.tmpl

messages: <TMPL_VAR NAME="messages"><br />

次にサンプル用のコントローラを作成。
testテンプレートに文字列'テスト'を設定。


script/hello_create.pl controller Sample
vi lib/Hello/Controller/Sample.pm

sub test : Local {
    my ( $self, $c ) = @_;
    $c->stash->{messages} = 'Hello World!';
}

これで一応準備は完了。
実行してみる。ポート8080で公開。


script/hello_server.pl -p 8080 -r

下記URLにアクセス。
http://localhost:8080/Sample/test
'Hello World!'と表示されればOK。

次にデータベースからデータを取得して、表示してみる。
まずは、モデルを作成するためにDBIC関連のモジュールをインストール。


cpan Catalyst::Helper::Model::DBIC::Schema
cpan DBIx::Class::Schema::Loader

そしてデモル DBICを作成。DBはMySQLを使用しています。

script/hello_create.pl model DBIC DBIC::Schema Hello::Schema create=static DBI:mysql:DB名 接続ユーザ名 接続パスワード

(1行で入力)
静的にスキーマを作成する方法をとっています。動的に生成する方法もありますが、ここでは静的で。

HelloプロジェクトにDBへの接続情報を設定します。
YAMLで書かれた設定ファイルに設定します。


vi hello.yml

name: Hello

Model::DBIC:
  schema_class: Hello::Schema
  connect_info:
    - DBI:mysql:DB名
    - DB接続ユーザ名
    - DB接続パスワード


DBとテーブルは既にできているものとします。
'User'テーブルがあって、名前とかメールアドレスが保存されているものとします。

次にテーブルの情報を表示できるHTMLテンプレートを作ります。
'User'テーブルの情報を表示するテンプレートにします。
<TMPL_VAR>のNAMEは'User'テーブルのカラム名と同じにします。


vi root/base/Samle/list.tmpl

<TMPL_LOOP NAME=users>
  <TMPL_VAR NAME=userid> :
  <TMPL_VAR NAME=username> :
  <TMPL_VAR NAME=email><br>
</TMPL_LOOP>

次にコントローラを修正。
モデルの検索結果(DBの検索結果)をテンプレートにセットします。
下記例では、単純に'User'テーブルから検索キーの指定なしで全部のレコードを取得しています。
HTML::TemplateはDBIx:Classの検索結果のオブジェクト(DBIx:Class::ResulSet)をそのままセットすることはできないので、配列、ハッシュのリファレンスにします。


vi lib/Hello/Controller/Sample.pm

sub list : Local {
    my ( $self, $c ) = @_;
    my @users = ();
    for my $user ($c->model('DBIC::User')->all) {
        push @users, {
            userid => $user->userid,
            username => $user->username,
            email  => $user->email,
        };
    }
    $c->stash->{users}=\@users;
}

ちなみにHTML::Templae::Comipledなら同じテンプレートでも下記のような感じでOK。
<TMPL_LOOP>の為にオブジェクトを無名配列に入れてセットしています。


vi lib/Hello/Controller/Sample.pm

sub list : Local {
    my ( $self, $c ) = @_;
    $c->stash->{users}=\@{[ $c->model('DBIC::User')->all ]};
}

さて、これでもう一回実行し直して、URLにアクセス。


script/hello_server.pl -p 8080 -r

http://localhost:8080/Sample/list
'User'テーブルに入っているレコードの情報が全て表示されればOK。
上記コントローラの例を見ると、HTML::Templateだとテンプレートにオブジェクトを直接セットできないので面倒だなぁと思ってします。
よくウェブで公開されているビューがTTの例だと、オブジェクトをそのままセットできるので、テンプレートの為にハッシュや配列を作る必要がない。
それで、HTML::Templateの代わりにHTML::Template::Compiledを使用する場合は、テンプレートを下記のように記述すれば、TTの様にオブジェクトを直接セットできます。


HTML::template::Compiled専用のテンプレートを作成。HTML::templateでは使えません。


vi root/base/Samle/list.tmpl

<TMPL_WHILE users.next>
  <TMPL_VAR _.userid> :
  <TMPL_VAR _.username> :
  <TMPL_VAR _.email><br>
</TMPL_WHILE>

上記テンプレートの場合、コントローラはこんな感じ。
検索キーは何も指定していません。


vi lib/Hello/Controller/Sample.pm

sub list : Local {
    my ( $self, $c ) = @_;
    $c->stash->{users} = $c->model('DBIC::User')->search({}, {});
}


これだけ。
DBの検索結果のオブジェクトがO-Rマッパーになっていて、テンプレートにそのオブジェクトをセットしている。
オブジェクトのアクセサ・メソッドがカラム名になっていて、それをテンプレートから直接呼び出している感じ。
楽チンで、しかも直感的で分かりやすい。
TTでも似たような感じになります。

念のために補足しておくと、HMTL::Template::Compiledを使用する場合は、そのビューを作成する必要があります。手順的にはHTML::Templateと同様です。


cpan HTML::Template::Compiled
cpan Catalyst::Helper::View::HTML::Template::Compiled
script/hello_create.pl view HTC HTML::Template::Compiled

ビューを指定して表示させたい場合は、コントローラで以下の様にforward指定します。

vi lib/Hello/Controller/Root.pm

#sub end : ActionClass('RenderView') {}
sub end : Private {
    my ( $self, $c ) = @_;
    $c->forward( $c->view('HTC') );
}


とりあえず、こんな感じ。

続きを読む "CatalystでHTML::Template" »

2007年05月17日

syslog-ngとminilogd

CentOS4.4でsyslog-ngを使った時に、minilogdとの連携ではまりました orz

まず、minilogd は、syslogd や syslog-ng を止めたときや、ブート時でまだ syslogd や syslog-ng が立ち上がっていない時に、代わりに自動的に立ち上がるデーモンです。
メッセージを受信して仮想メモリーにログを保存しておいてくれます。
syslogd や syslog-ng が起動すると、syslogd や syslog-ng は /dev/log を経由して minilogd が仮想メモリーに保存したログメッセージを読み取って HDD 上のログファイルに保存します。
/dev/log は UNIXソケットドメインです。
minilogd は重要なデーモンです。
syslogd は特に気にすることなく minilogd と連携してくれます。

さて、大抵のウェブページを見ていると、syslog-ng の設定に関して、

  source s_sys { 
     pipe ("/proc/kmsg" log_prefix("kernel: "));
     unix-stream ("/dev/log");
     internal();
  };

この様に書かれています。
FC6のsyslo-ngのRPMをインストールした場合も同様です。

で、大抵、Linuxの場合は /dev/log はストリームソケットだから、unix-stream()を使いなさいと書かれています。で、上記はその様に設定されています。
そして、*BSDの場合はデータグラムソケットだから、unix-dgram()を使いなさいと書いてあります。

ところが、ボクのCentOS4.4の環境だと、syslog-ngを止めている間にminilogdが受信したログを、syslog-ngを起動してもsyslog-ngが読み取ってくれません orz
ブート時のブートログはちゃんと出力されているのでそこは /dev/log が読み取って書いているようなのですが、一旦起動したとはなぜか読んでくれません。なぜ~~(?_?)

結果、syslog-ngの設定を以下のように変更したら、syslog-ng 停止中に受信したログもsyslog-ng起動後に出力するようになりました。

  source s_sys { 
     pipe ("/proc/kmsg" log_prefix("kernel: "));
     unix-stream ("/dev/log");
     unix-dgram ("/dev/log");
     internal();
  };

データグラムソケットを使っているということでしょうか。
これが正しい解決策なのかどうか分かりませんが、とりあえず、これで期待した動きになりました。
ブート時のログもきちんと記録されるし、minilogdとの連携も問題ないようです。

netstat -an コマンドで確認したら、/dev/log は確かに DGRAM ってなってますねf(^^;)

Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  12     [ ]         DGRAM                    32476784 /dev/log

Linuxは、昔は /dev/log にストリームソケットを使っていたけど、DoSアタックなどのセキュリティ的な事情からデータグラムソケットを使うようになった、というような記事を読みました。(元記事は英語だったので私の訳が正しいのか不安ですが・・・)
こんなこと常識なのかもしれませんが、私はちょとはまりました(苦笑)

続きを読む "syslog-ngとminilogd" »

2007年05月09日

SELinuxでsyslog-ng

SELinuxを有効にしてCentOS4.4でsyslog-ngを使うには、設定が必要になります。
ちょっとはまりました orz


setsebool -P use_syslogng=1

これを実行しないと、syslog-ng が /proc/kmsg を読めなくて、カーネルメッセージを読み込めません。
SELinux を有効にしているとエラーになってしまいます。dmesg にエラーがいっぱい出てしまいます。
setseboolコマンドで”-P”オプションを付けないと、設定が保存されません。
再起動すると元に戻ってしまいます。
設定は、/etc/selinux/targeted/booleans ファイルに保存されますが、これを直接編集したりしないで、setsebootコマンドを使用して下さい。
他の設定項目と値を見たい場合は、

getsebool -a

を実行すると見られます。

また、syslog-ng で TCP ポートでのログ送受信を行う場合は、別途ポリシーの変更が必要になります。
syslog で tcp port の bind が許可されていないからです。

続きを読む "SELinuxでsyslog-ng" »

2007年04月27日

SELinuxでバックアップ

FedoraやCentOSのSELinux環境でファイルやディレクトリのバックアップを取るときにtarコマンドを使うと、contextが引き継がれない(>_<)
pオプションはオーナーやパーミッションを引き継いでくれますが、contextは引き継いでくれないのです(;_;)
展開したディレクトリのcontextになってしまう(ToT)
展開した後にいちいちchconコマンドでcontextを設定しなおすのはめんどくさいなぁ~、と思っていたら、starコマンドが用意されていた。

starコマンドで-H=exustar -xattrオプションをつけて実行すればcontextも保持されてアーカイブされ、解凍したときには保持されたcontextで展開される。

# star cvzpf test.tgz /etc/yum/ -H=exustar -xattr
a /etc/yum/ directory
a /etc/yum/yum-daily.yum 19 bytes, 1 tape blocks
star: 1 blocks + 0 bytes (total of 10240 bytes = 10.00k).
# star xvzpf test.tgz -H=exustar -xattr
Release star 1.5a54 (i386-redhat-linux-gnu)
Archtype exustar
Dumpdate 1177813565.575410 (Sun Apr 29 11:26:05 2007)
Volno 1
Blocksize 20
star: WARNING: skipping leading '/' on filenames.
x etc/yum/ directory
x etc/yum/yum-daily.yum 19 bytes, 1 tape blocks
star: 1 blocks + 0 bytes (total of 10240 bytes = 10.00k).
# ls -laZ etc/yum/
drwxr-xr-x root root system_u:object_r:etc_t .
drwxr-xr-x root root ..
-rw-r--r-- root root system_u:object_r:etc_t yum-daily.yum

starコマンドはtarコマンドとほぼ互換なのでアーカイブのオプションはそのままで良い。これは便利!
というかこういうコマンドないと困るよね。
注意点は、解凍時もオプションをつけてないとcontextが引き継がれないということ。
オプションを付け忘れて展開しなおす時は、一度展開したファイルを削除してから展開しないとcontextが反映されません。なぜ~?
再アーカイブする時もデフォルトでは上書きしないで終了してしまう設定になっているので、再アーカイブする時は古いアーカイブを削除してから実行してください。


他には、cpコマンドもcontextを引き継いだり、設定したりするオプションがある。
cp -cか-preserve=context でコピー元のcontextを引き継ぎます。
これを忘れると設定ファイルのコピーを作って編集してもcontextが異なっていてデーモンが読めなかったりする(>_<)
cp -Z CONTEXTかcp --context=CONTEXTで、コピー時に任意のcontextを設定できます。
例えば、

# cp -Z system_u:object_r:etc_t hoge.conf hoge.conf.new

-pオプションではcontextを引きついてくれないので注意が必要です。
mkdirコマンドも同じように-Zか--context=でディレクトリ作成時に任意のcontextを設定できます。
オプションをつけないとカレントのcontextになります。
一方、mvコマンドはcontextごとファイルを移動するので、何も気にすることなくcontextが引き継がれます。

続きを読む "SELinuxでバックアップ" »

2007年04月18日

gpgで共有鍵暗号

PCのメールのバックアップを取って、圧縮かけて、サーバの home に置いて、他人にメールを読まれないように暗号化したいなぁと思って。

まず、Outlook Express のメールバックアップ。
[ツール]メニュー →[オプション] → [メンテナンス]タブの[保存フォルダ]に表示されるフォルダをコピーして、そのフォルダを丸ごと ZIP で圧縮して保存。
これでバックアップ完了。

これを scp でサーバへコピー。
圧縮は済みなので、暗号化だけをしたい。
誰かに渡すわけでもないし、手軽に暗号化したいので、共有鍵暗号がいい。
公開鍵暗号は鍵作ったりめんどくさいし:-(

GnuPGのgpgコマンドで共有鍵暗号使えました。

 $ gpg -c backup.zip

-c オプションでファイルを暗号化してくれます。公開鍵は不要。
コマンド実行後にパスフレーズを2回聞かれるので入力。
暗号化されたファイルを復号する時にも入力します。
このまま実行すると、ファイルを暗号化した上に、ZLIB を使って圧縮もしてくれます。
既に圧縮済みのファイルを暗号化したいだけなので、gpg での圧縮は要らない。
そこで、--compress-level オプションを使用。

 $ gpg -c --compress-level 0 backup.zip

--compress-level で 0 (ゼロ)を指定すると、圧縮をしないようにできます。
これで実行し、パスフレーズを入力して暗号化が終わると、ファイルの拡張子が .gpg になります。

$ ls
backup.zip
backup.zip.gpg

暗号化前のファイルはそのまま残っているので、rm コマンドで削除。
暗号化されたファイルの中を見てもさっぱり分かりません。
これで安心(^-^)

デフォルトでは CAST5 アルゴリズムで暗号化されます。
オプションで使用するアルゴリズムを変えられます。
どんなアルゴリズムに対応しているか見るには、--version オプションでコマンドを実行してみると分かります。

$ gpg --version
gpg (GnuPG) 1.4.5
Copyright (C) 2006 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

Home: ~/.gnupg
Supported algorithms:
Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA
Cipher: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

暗号化されたファイルを復号したい時は、ファイルを指定してオプションなしで gpg コマンドを実行するだけ。

$ gpg backup.zip.gpg

パスフレーズを聞かれるので、暗号化する時に入力したパスフレーズを入力。
これで復号されたファイルが作成されます。

続きを読む "gpgで共有鍵暗号" »

2007年03月23日

未だにFC4でyum

未だに FC4 のサーバを使っていて、でも FC4 のサポートは終わっちゃって、Fedora Legacy のサポートも終わっちゃって、yum update 出来なくて困っている人がいるんじゃないかと思います。
ボクもそうでした。

そこで、FC4 で yum update 出来るようにする方法をご紹介します。

続きを読む "未だにFC4でyum" »

2007年03月17日

phpMyAdmin 2.10

phpMyAdmin 2.10.0.2 が出てました。
2.9.1.1 を入れたのいつだっけかな?

FC4のサーバ用にRPMを作ってバージョンアップしました。

まず、phpMyAdminのサイトからアーカイブをダウンロードしてきます。
アーカイブの中にspecファイルがあるので、これを利用してrpmを作成します。

 アーカイブ:phpMyAdmin-2.10.0.2-all-languages.tar.bz2

これを解凍してspecファイルを取り出し、rpm作成に必要なファイルを /usr/src/redhat の各ディレクトリへコピーします。

bzip2 -d phpMyAdmin-2.10.0.2-all-languages.tar.bz2
tar xf phpMyAdmin-2.10.0.2-all-languages.tar
cd phpMyAdmin-2.10.0.2-all-languages/contrib/packaging/Fedora/
cp -p phpMyAdmin.spec /usr/src/redhat/SPEC
cp -p phpMyAdmin-http.conf /usr/src/redhat/SOURCES
cd ../../../..
bzip2 phpMyAdmin-2.10.0.2-all-languages.tar
cp -p phpMyAdmin-2.10.0.2-all-languages.tar.bz2 /usr/src/redhat/SOURCES
cd /usr/src/redhat/SPEC

次に、specファイルをバージョンに合わせて編集します。
アーカイブに入っているspecファイルはなぜか古いままで、2.8.0 になっているので 2.10.0.2 に直します。

vi phpMyAdmin.spec

書き換える箇所は以下の行。

%define pkgrelease all-languages

Version: 2.10.0.2
Release: 1

これでrpmを作る準備ができました。
rpmbuildコマンドを使ってビルドします。

rpmbuild -ba phpMyAdmin.spec

エラーにならないで最後まで行ったら、rpmの出来上がり。
あ、ビルドする前に、mysql と php-mysql をインストールしておいた方が良いです。
ビルドが完了すると、/usr/src/redhat/RPMS/noarch にrpmが作成されます。
早速インストール。
初めて入れる場合は、rpm -ivh でよいですが、ボクはバージョンアップなので、rpm -Fvh を使用。

rpm -Fvh /usr/src/redhat/RPMS/noarch/phpMyAdmin-2.10.0.2-1.noarch.rpm

インストールが終わったら、phpMyAdmin の設定を行います。
設定ファイルは、/var/www/myadmin に入っています。

cd /var/www/myadmin
cp -p config.inc.php config.inc.php.orig
vi config.inc.php

URLとシークレットキーを設定し、認証方式を cookie にします。
クッキー認証が嫌な人は、config や http を選択してください。デフォルトは config です。
ボクはクッキー認証がよかったので cookie にしました。
cookie を選んだ場合は、blowfish_secret も設定します。
シークレットは好きな値を46文字以内で自由に設定します。
そして設定した値は秘密にしておいてください。

$cfg['PmaAbsoluteUri'] = 'http://www.hagyroom.com/phpMyAdmin/';

$cfg['blowfish_secret'] = 'www.hagyroom.com';

$cfg['Servers'][$i]['auth_type'] = 'cookie';

次に apache の設定を行います。

cd /etc/httpd/conf.d
cp -p phpMyAdmin.conf phpMyAdmin.conf.orig
vi phpMyAdmin.conf

ボクはアクセス制限を掛けたかったので下記の設定をしました。
アクセス制限とか掛けない人はすることは無いです。

Allow from www.hagyroom.com
Deny from All

設定を更新したら、apache に設定を再読み込みさせます。

/etc/init.d/httpd reload

次に、文字化けしないように MySQL の文字コードの設定を行います。

vi /etc/my.cf

文字コードを EUC-JP (ujis) に設定して、サーバとクライアント間の文字コード調整をしないように設定します。
サーバのDBの文字コードをそのままクライアントでも使うように skip-character-set-client-handshake を設定します。

[mysqld]
old_passwords=1
default-character-set=ujis
skip-character-set-client-handshake

ボクはDBをEUCで使いたかったので default-character-set=ujis も設定しましたが、他の文字コードでも使用できます。
設定を更新したら、mysql を再起動します。

/etc/init.d/mysqld restart

これで準備が整いました。
ブラウザで phpMyAdmin の画面にアクセスします。
 http://www.hagyroom.com/phpMyAdmin/
↑このURLは単なる説明用でダミーなのでアクセスしても画面は見られませんよ;-P
ログインして文字化けしなければよし。
データベースを選択してテーブルが見られればOK。

続きを読む "phpMyAdmin 2.10" »

2007年03月16日

Poderosa4 orz

Poderosa 3 から 4.1.0 へバージョンアップしてみた。
poderosa を起動すると、.Net Framework 2.0 じゃないね、といって終了してしまう。
.Net Framework 2が必要だというので、1.1から2.0へアップグレードした。
ものすごい時間かかったけど、無事アップグレードできた。
PCの再起動を要求されるかなぁ~?と思っていたけど、要りませんでした。
poderosa を起動したら、ちゃんと起動した。
早速 SSH でサーバに接続しようとしたら
「Byte overflow in constructor」
というメッセージが表示されて接続できない orz
どうやら SSH1 ではうまく繋がらないらしい。。。
同じ問題にぶちあたった人のカキコミがフォーラムにあった。

 Poderosa フォーラム: Poderosa全般 => SSH1で接続できません

 
 あぁ。

 

上げなきゃよかった(T_T)

2007年03月08日

CentOSでsyslog-ng

CentOS4.4のサーバにsyslog-ngをインストールしました。
標準で入っているsyslogdを完全に置き換えられます。互換性もばっちり。
ボクがインストールしたのはsyslog-ng v1.6です。
本家では、今年の1月に2.0もリリースされていますが、1.6の方が実績もあってかれていそう。

FC6のextrasパッケージの中にsyslog-ng v1.6.12のSRPM(~.src.rpm)があります。
これをダウンロードしてきて、リビルドするだけでRPMが出来上がり。

rpmbuild --rebuild syslog-ng-1.6.12-1.fc6.src.rpm

本来、syslog-ngをコンパイルするには、libolが必要なのですが、CentOSのには入っていません。
しかし、FC6のsyslog-ngのSRPMパッケージにはlibolも入っているので、何も考えずにリビルドするだけでOKです。
RPMパッケージができたら、rpmコマンドでインストール。

rpm -ivh /usr/src/redhat/RPMS/i386/syslog-ng-1.6.12-1.fc6.i386.rpm

この状態では、syslogdとsyslog-ngが一緒に入っています。
既存のsyslogdは消す必要はなく、止めるだけで問題ないです。
/etc/syslog-ng/syslog-ng.conf が /etc/syslog.conf の代わりになります。
syslog.conf をカスタマイズしていなければ、インストールされた syslog-ng.conf そのままで問題ありません。互換性を意識した設定が予め入っています。
カスタマイズしている人はサンプルファイルを元にsyslog-ng.confを修正してください。
サンプルは、/usr/share/doc/syslog-ng-~/に入っています。
次は、confファイルの構文チェックを行います。
syslog-ngには、apacheのようにconfのチェック機能がついています。
-sオプションがチェック機能です。チェックだけを行います。

/sbin/syslog-ng -s

エラーが表示されなければOKです。
いよいよ、既存のsyslogdを止めて、syslog-ngを起動します。

/etc/init.d/syslog stop
/etc/init.d/syslog-ng start

起動後、psコマンドでsyslog-ngが起動していることを確認してください。

tail -f /var/log/messages

でログを確認しつつ、logger コマンドでログを送信してみます。

logger test

ログが表示されればOK。
後は、サーバ再起動後もsyslog-ngが立ち上がるようにchkconfigを実行します。

/sbin/chkconfig syslog off
/sbin/chkconfig syslog-ng of

簡単。
同じ手順でFC1のsyslogもsyslog-ngに置き換えられました。

続きを読む "CentOSでsyslog-ng" »

2007年03月03日

Yahooの解約

引っ越すのでヤフーBBを解約しようとサポートセンターに電話した。
しかし、「只今お電話が大変込み合ってます」とのアナウンスが流れるばかりで、全然オペレーターに繋がらない。
13分間待った後、突然電話が切れてしまった・・・・

なんだこりゃ。(#-_-)

解約しにくくしてるんだろうか?


翌日またサポートセンターに電話した。
今度もまた込み合ってます、とのアナウンス。。。でも今日は2分くらいでオペレーターに繋がった。
オペレーターの対応は感じのよい対応でした。
でも、料金は日割りできず、一ヵ月分丸まる取られるらしい。。。まぁしょうがないか。
そして、解約したい日を伝えたところ、一ヵ月以上先の解約申込はできないとのこと orz
そんなことサポートウェブには書いて無いじゃん!規約には書いてあるのかな?

そんなこんなで、せっかく電話が繋がったのに、結局解約申込すらできなかった。
来週また電話しなきゃ。

2007年03月02日

freeradiusのFail Over

freeradiusのproxy.confでfail_overの設定をしてもFail Overしないで最初のサーバにばかり問い合わせを行ってしまう。
round_robinの設定にすると、落ちているサーバにもProxyしてしまう。

なんでだろ?


とさんざん悩んだ。
ドキュメント見るとFail Overするって書いてあるし、ソース見てもレスポンスのないサーバはdead扱いにして回避するようになっているし。
なんで上手く動かないんだろう?と思考錯誤。
いろいろ設定を変えても期待通りに動いてくれない(T_T)

で、グーぐる先生で検索しまくったところ、

 retry_delay * retry_count < max_request_time

こうなってないとFail Overする前に Access-Reject を返してしまうらしい。
なるほど、そういうことか。
max_request_timeを10秒と小さく設定していた(デフォルトは30秒)のでFail Overする前にrejectしていたみたい。
どこにそんなこと書いてあったんだろ??知らなかった。

[参考]

2007年02月27日

スタックサイズと仮想メモリー

freeradiusのスレッド数を512まで増やせるようにソースを直した。
コンパイルもすんなりいき、起動してみた。
でも、293スレッド作ったところでメモリー不足になって落ちてしまう。

なんでだろ~

と思ったら、freeradiusの各スレッドに割り当てるスタックサイズが大きすぎたみたい。
それでメモリー不足になっていた。
どうやら、Linux の場合だと、ulimit -a (bashの場合)で表示されるスタックサイズを使用するらしい。
(一方、mysqlは設定できる)
デフォルトの状態で、10Mになっていた。(環境によるかもしれないけど)でか!
ulimit -s コマンドで4Mくらいに設定したら512スレッドで動くようになった。

でも、なんで293スレッドだったのか?

どうやら、293スレッド x 10,240KB = 3,000,320KB で、3GB近い仮想メモリー。

32ビットOSの場合、仮想メモリーの上限は4GB。
Linux kernelは1Gを仮想メモリーに使うので、残り3GBがユーザが使用可能な仮想メモリー。
ということで、293スレッド目でメモリー不足になっていたみたい。

基本的なことだったf(^^;

2007年02月12日

HD-H250U2

ビックカメラで外付けハードディスクを買いました。
HD-H250U2

連休キャンペーン価格で11,480円くらいになっていました。
加えてポイントが20%付いていたので、実質9千円くらいかなv(^-^)
引越前にデータのコピーをとってバックアップ&古いPCを捨てようと思う。
まだ Windows 98だからねw 発売から早10年近いね。驚き。

新しいPC欲しいけどお金が無い(;_;)
vaio欲しいなぁ。

続きを読む "HD-H250U2" »

2007年02月03日

レンタルサーバ

今使っているレンタルサーバが閉鎖するということで、移行先サーバを探してます。
3年間半くらいお世話になったかな?
どうもお世話になりましたm(_ _)m
大変助かりましたし、役に立ちました。

さて、新しいサーバはどうしようかと探していたのですが、使っている人から評判を聞いてさくらの個人向けレンタルサーバにしました。
なんといっても安いし、シェルが使える!これが一番の選択理由です。
次に独自ドメインが使えること、アクセスログを解析できること。
そして2週間のお試し試用期間があるところです。

さっそく申し込みして使用してみました。
共有型だけどさくさく動く。速いです。
これなら良さそうなので明日から移行を開始しよう。

2006年12月18日

WLAR-128とDS

うちではBUFFALOのWLAR-128というISDN無線LANルーターを使っています。
ADSLが主流になる前のISDNの時代から使っているのでもうかれこれ5年くらい使っています。
今はYahoo! BBのADSLを使っているのですが、Yahooモデムの下にWLAR-128をぶら下げて無線LANルータとして使っています。
WLAR-128にはBroadBandファームウェアを入れてルーティングモードにして使っています。
Yahoo! BBモデムから貰うグローバルIPをWLAR-128のWAN側に設定し、WLAR-128でNATしてLAN側にはDHCPでプライベートIPを配布しています。
これでPC端末(Windows XP、Windows Me、Windows 98SE、CentOS4 Linux)は問題なく接続できます。
また、PSPも接続できました。
全部無線で接続です。

でもNintendo DS Liteだけはうまく接続できませんでした orz
WLAR-128の設定をいろいろ変えたり試行錯誤して、最終的にgoogle先生で散々検索して2chの掲示板で情報を見つけました!
詳細設定の拡張設定の中の『BSS BasicRateSet』を2Mbpsに設定するとDSも繋がるようになりました。僕は11Mbpsに設定していたので繋がらなかったようです。
でも、これだけだと繋がるけどIPアドレスが取れませんでした。
最終手段としてWLAR-128の背面の黒いボタンを押しながら起動して設定を初期化して、再度ルーティングモードの設定をしなおしました。
そうしたら、DSでもDHCPでIPアドレスを取得できるようになりましたv(^o^)v
よかった。
これでネット対戦できるゼ!

2006年11月28日

Norton AntiVirus 2007

ノートン・アンチウイルス 2006が重くてたまらん(>_<)
2005は比較的軽くて快適だった。
サポートが切れてしまったので2006にバージョンアップしたんだけど、しなきゃよかった。
しかも有償だったし:-(

そして、2007が出た。

2006より早くなったという噂だったので、更新期限が残っているけどバージョンアップしました。
しかも、今は無償バージョンアップできます。無償じゃなかったらやらなかったけど。

で、結果は・・・

期待はずれ orz

軽くない

むしろ重い?

続きを読む "Norton AntiVirus 2007" »

2006年11月26日

インスタントストア

amazonのインスタントストアでお店作ってみました。

 HagyShop

自分の好きな小説と映画だけを集めたショップにしてみました。
それぞれの小説と映画にボクのコメントをつけてみました。
あと、ショッピングカートつきです。
センスが問われますね・・・
なかなかおしゃれな感じになりません orz
1個でも売れるといいなぁ。

2006年11月15日

仮想化大全

9月に行った仮想化のセミナーで貰った『すべてわかる仮想化大全』を読み直しました。

うちの開発環境にも仮想化を導入したいなぁと思って。
PCの数減らしたいし、でもいろんなOSのサーバ欲しい、同じOSでも複数の環境欲しいし。
あとやっぱり流行に乗っておきたいw
開発環境で試してみないといきなり本番環境に入れれないし。
VMファイルをコピーするだけで新しい環境を用意できたり、環境を丸々バックアップ取ったり、移動したりできるのは嬉しい。やってみたい。
CPUもマルチコア化が進んできて、仮想化した環境をよりよく動かしやすくなってきた。
DELLでもXeonの4コアのCPUのサーバを売り出し始めたし。使ってみたいな〜

ところで本の内容ですが、仮想化の入門書みたいな感じです。概要だけです。
VMware、Linux Xen、Microsoft Virtual Serverの3つを抑えています。
VMwareに一番ページを割いています。Xenはちょっとだけ。
個人的には Xen より VMware の方に魅力を感じるのでいいけど。
VMware は、VMware だけで何種類もあります(?_?)。
この本は VMware の製品ごとの概要を掴むには良いかも知れません。
詳しいことを知りたい人はこの本では全然満足できないでしょう。

2006年11月14日

iTunes & PSP Hack

PSP でいつも iPod (iTunes) に入れてる曲を聴く方法です。
iTunes & PSP Hack: PSP から iTunes ライブラリを RSS チャネルで聴く』で紹介されています。
RSS を使って Podcast で曲を聴く方法です。

準備は簡単。
iTunes が入った Windows XP PC で itunes-rss-server.exe をダウンロードして実行するだけ。
実行した後に、PSP のブラウザで http://{PCのIPアドレス}:8080/ に接続すると iTunes のプレイリストが表示されるので、好きなプレイリストを選択して RSS チャンネルに登録します。
これで準備は完了。
あとは、PSP の RSS チャンネルのメニューで先ほど登録したプレイリストを選択するだけ。
すると音楽が聴けます。

これは快適(^ー^)
無線 LAN が繋がる環境ならどこからでも iTunes に入っている音楽を聴けます♪

続きを読む "iTunes & PSP Hack" »

2006年09月21日

仮想化

今日は『仮想化の全てがわかる一日』というフォーラムに行ってきました。
久々に当たり!のセミナーでした。
興味深く充実したセミナーでした。
しかも無料。
ランチつき。
満足です。
参加者も多く、注目度の高さが伺えました。(無料の影響も大いにあるのでしょうけど)
若いエンジニアより白髪の年配の方が目立ちました。
仮想化によるコスト削減に興味を持っておられる方が多いのでしょうか?
ボクは仮想化の現状(進歩の具合)とおもしろい使い方、トラブル事例なんかを知りたくて参加しました。
パネル・ディスカッションで事例を聞けてよかったです。ためになりました。

続きを読む "仮想化" »

2006年09月10日

DSC-T30

旅行に行く前に新調しようと思って、買ってしまいました。
デジカメ買うのは5年ぶりくらい。性能は5年前とは雲泥の差ですね。

Sonyのデジカメ。『DSC-T30』です。

シルバー買いました。

あぁ、これで Sony 製品にはまっていくんだろうなぁ。
一個 Sony 製品を買ってしまうと、連携を考えて周りを全て Sony 製品で固めたくなってしまうという・・・
原因はメモリースティックでしょうが。。。

3.0インチの大型液晶はやっぱり見やすいです。
接写も1cmまでホントにいけます。これは感動。
携帯のカメラだと撮りたくても撮れないもんね。
あとは、使ってみないとなんとも分かりません(^^;

続きを読む "DSC-T30" »

2006年09月02日

J:COM解約

節約のためにJ:COMを解約しました。
最近アニメもあんまり見なくなったし。アニメ見なくなると、CATVで見るものって殆どない・・・
たまにmovie plusで映画見たりするけど。でもたまに。

解約は電話で解約申し込みする上に、J:COMの訪問があります。
ちょうウザイ。
大したこと確認するわけでもないのに。
なんで訪問がいるんだ?

更にムカつくことに、解約した2週間後くらいに、J:COMの押し売り電話がきやがった。
アホか。
解約したとたんに売り込んでくるなんて。
ムカついたので、毒づいてやりました。
担当者は、こちらまで解約された情報がまだ届いてなかった、なんて言い訳していたけど。
そんなはずないだろ。2週間もたってて、顧客データベースが更新されてないのだろうか?
本当にそうなら、いけてない会社だな。
まぁ、売り込み電話かけてるのは、J:COMから委託された別会社かもしんないけど。
こんなことあると、引っ越してももう二度とJ:COMに入りたいなんて思わないな。
イメージ悪い。

続きを読む "J:COM解約" »

2006年06月06日

coLinux+qemu+CentOS

WIndowsXP が入ったノートPCに Linux を入れました。
デュアルブートとかじゃないくて仮想化して Win と Linux の両方を動かします。

環境
・panasonic CF-T2 (ノートPC)
- CPU: Pentium M 900MHz
- Memory: 512MB
- Disk: IDE 40GB
 - LAN: 無線LAN
まずはcoLinux(コーリナックス)をインストール。
 coLinuxの関連サイト
 ・ERROR STORM
 ・Cooperative Linux(coLinux)のメモ
インストール時に、ディスクイメージ(distribution)のインストールはしません。

次に QEMU on Windows をインストールします。
ついでにアクセラレータの kqemu も入れます。
 QEMU関連サイト
 ・QEMU 本家
 ・QEmu launcher

次に coLinux 0.6.3 対応 QEMU 版 CentOS 4.3 をインストールします。
 関連サイト
 ・coLinux 用インストーラ
 ・CentOS 本家

インストールには、も〜〜〜〜〜のっっっすっごい、時間がかかりました!
ボクのPCが古いせいかもしれませんが少なくても丸一日はかかってます。
ディスクサイズは4GBにしました。
そうすると、Windows 上に最大4GBのファイルを作成し、それを仮想 HDD としてファイルシステムを作成します。
ファイルサイズは最初から4GBになるのではなくて使用した分だけ大きくなっていきます。
ですから最初は小さいです。
ネットワークは TAP ドライバを使用してブリッジ接続しています。
最初に起動したときは Windows ごと凍り付いてハングアップしてしまいました orz
そこでネットで調べて、cent4.colinux.xml から
<initrd path="initrd.gz" />
を削除したら無事起動するようになりました。
起動後はさくさく動きました(X Windows は使っていません)。
普通にネットワークに繋がって yum で update もできました。

結構、すげぇ

ちょっと感動しました。
これで自宅でもいろいろ検証できるかな。
1台のPCで Windows と CentOS Linux と両方同時に動かせるってところがすばらしい。
今流行(?)のバーチャライゼーションってやつですかね。
Windows でメール受信したり IE で Web 見たりしながら Linux で検証できるって便利。

続きを読む "coLinux+qemu+CentOS" »

2006年06月04日

OpenVPN と GUI

Linux サーバに OpenVPN を入れました。
Fedora Core4 なら yum install openvpn でインストールできます。
VPN というと難しそうに思えますが、OpenVPN はインストールも設定も割りと簡単です。
嬉しいことに、日本語に訳された 「OpenVPN 2.0 HOWTO Japanese Translation」があります。
これを見ながらインストールすればOK。
うちは TAP I/F にトンネルを作るように設定しました。
UDP で接続する場合は tls-auth を設定することをオススメします。ボクはそうしました。
認証設定は TLS による証明書認証にしました。自分で CA を立ててユーザごとの証明書を作成しました。
良く出来てます。
安定しています。
遅くないです。

サーバの webmin は OpenVPN 経由でしかアクセスできないように設定しました。
これでちょっと安心。

続きを読む "OpenVPN と GUI" »

2006年06月03日

侵入検知

インターネットに晒されているサーバが心配になったので侵入検知システムを入れた。
IDS(Intrusion Detection System)と呼ばれるものです。
LogWatch は入っているのだけれどそれだけでは不十分かと思いまして。

Unix 系でオープンソースで有名なところでは tripwiresnort でしょうか。
うちの Linux には、snort を入れました。

基本的に iptables でフィルタしているのですが、
  ## Reject
/sbin/iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
を入れておけば、外部からの攻撃に対する icmp エラーメッセージが snort によって検出されログに残ります。
これによって、iptables でパケットを捨てていても攻撃を検出できます。
/var/log/snort/alert に随時記録されます。
alert ファイルを監視して Priority の高いログだけメールするように仕込みます。

もう1つ chkrootkit を入れました。Fedora Core4 なら yum でインストールできます。
CentOS4 の場合は、FC4 の SRPM からリビルドして入れます。
  chkrootkit
実行すると/bin や /sbin 等のコマンドが改竄されていないかチェックしてくれます。
定期的にチェックするように cron を作成します。
1日1回でよければ、/etc/cron.daily/chkrootkit を作成します。
中身は下記のような感じ。


#!/bin/sh

LOGFILE=/var/log/chkrootkit
/usr/bin/chkrootkit > $LOGFILE
CHK=`grep "INFECTED" $LOGFILE`
if [ ! -z $CHK ]; then
cat $LOGFILE | mail -s "chkrootkit INFECTED" root
fi
chmod 600 $LOGFILE


2006年06月02日

温度計測

Linux のサーバで kernel からディスク読み出しのエラーメッセージが出ていたので、smartmontools を使って HDD 診断することにしました。
CentOS4 や Fedora Core4 には、smartmontools の RPM があるので、yum install smartmontools で簡単に入ります。
Fedora Core1 だと smartctl コマンドが kernel-utils パッケージに入っています。smartd は入っていません。

smartmontools に入っている smartctl コマンドを使うとディスクの診断が出来ます。
診断に pass すれば一先ず安心(?)
smartctl コマンドを使うとディスクの温度も測れます。
smartctl -A /dev/hda
実行すると hda のさまざまなパラメータが出力されるのですが、
「Temperature_Celsius ...... 29」という形で温度が出力されます。
温度以外にもディスク診断したり、シリアル番号を調べたり、いろいろ使えます。
  smartctl -i /dev/hda
実行するとディスクのメーカー、型、シリアル番号、容量、ファームウェアバージョンなどが見られます。

ディスクの温度を測るだけなら、hddtemp というコマンドがあります。これも yum で入ります。
  hddtemp /dev/hda
実行すると hda の温度だけが表示されます。
「/dev/hda: ST3802110A: 29 ℃」のような感じ。

関連するものとして、Lm_sensors というパッケージがあって、これも yum でインストール可能です。
こちらはマザーボードの温度やCPUの温度、ファンの回転数、電圧などが取れます。
  sensors
実行するとマザーボードから取得できる情報が表示されます。
「CPU Temp: +35°C」のような感じ。
使用するにはマザーボードとカーネルが対応している必要がありますが最近のは大抵大丈夫でしょう。

2006年05月12日

Norton AntiVirus 2006

Norton AntivVirus 2005 のウイルス定義の購読期限が切れるので、契約更新の代わりに新しく『ノートン・アンチウイルス 2006』を買いました。

更新料+1,000円くらいで新しいの買えちゃうし、2005のサポートもすぐに終わっちゃうし。

2006 には Norton Protection Center が入ってた。
これじゃまだなぁ・・・。
ウイルスだけじゃなくてスパイウェアも駆除してくれるようになったのは良いのだけれど、2005より少し重くなった気がする。。。(T_T)

2006年03月26日

awstatsのローカライズ

このサイトのアクセス解析を行いたくて awstats のローカライズを行いました。
といっても、awstats は元々日本語対応しています。
しかし、日本の検索エンジンやロボットがいまひとつ登録されていません。
そこでそれらを登録しました。
ついでに、awstats は access_log や referer_log からアクセス元を分析し、アクセス元に URL に含まれている文字列を分析し、どこの検索エンジンでどういうキーワードで検索してこのサイトにとだり着いたのか、分析してくれます。
しかし、アクセス元の検索エンジンによって、日本語の文字コードが異なり、文字コードによっては分析結果が文字化けします。
UTF8 だったら日本語のキーワードもきちんと分析されるのですが、EUC-JP や SJIS だと文字化けしてしまいます。
awstats はログ(検索文字列)の文字コード変換を行わずに分析を行うのでこうなります。
そこで、ログの文字コードを UTF8 へ変換してから分析を行うようにパッチを作りました。

続きを読む "awstatsのローカライズ" »

2006年03月22日

Web2.0時代

久しぶりにセミナーへ行きました。
場所は青山。
Web2.0時代のテクノロジー・トレンドセミナー
楽しみにしてました。
ちょっと興味もってたんです、Web2.0。
でもそれが具体的に何を指しているのか、定義が分からない。
なのでこのセミナーに参加して知りたかったのです。

セミナー会場は200席ありますが結構埋まっていました。
人気の高さが伺えました。
実際、ブログ界の有名人も来てたし、人気あったんでしょうね。

セミナーは思ったより面白かったです(^ー^)結構満足。
Web2.0についてもだいぶ分かりました。
興味深い話も聞けました。
喋り自体うまい人が多かった気がします。
セミナーの資料はサイトからダウンロードできるので興味のある人は見てみてください。

セミナーの中で『Ning』というWeb2.0のサービスサイトのがあったのですが、これおもしろいことできそう。
ボクも使ってみたい。

続きを読む "Web2.0時代" »

2006年03月19日

ミュー710

プレゼント用にオリンパスのデジカメ『ミュー710』とHPの写真印刷用プリンター『HP コンパクトフォトプリンタ Photosmart 475』を買いました。

ミュー710は今黒猫がCMやってるやつです。
軽くて高解像度でよいです。
プリンターはHP。珍しい。家庭用も出してるんですね。
デジカメをUSBで直接繋げます。TVにも繋げます。
1.5GのHDDを内臓でデジカメ画像を保存できます。
小型液晶もついているし、パソコンない人向けかも。

ミュー710で試し撮りしてみたら結構綺麗に取れた。
プリンタにつなげて簡単に印刷できた。こりゃ楽だ。いい。
印刷もなかなか綺麗。でも写真屋ほどじゃないね。やっぱり。

続きを読む "ミュー710" »

2006年02月24日

awstatsのインストール

ついこの間、バイトで awstats をインストールしました。
rpm で入れると簡単。
設定も簡単でした。
アクセス解析ソフトとしてもなかなか優秀です。
特に、どのキーワードで検索してこのページに辿り着いたのか分かるところが良い。
結構面白いキーワードでマッチしていたりします。
なんて?!って思うようなキーワードで。

うちのサイトにも awstats を入れて分析してみました。
うちは root 権限ないので tar アーカイブを持ってきて解かして PATH やらを変更して設定完了。
早速分析してみました。

うちのサイトで最も多い検索ヒットワードは、やっぱり「九寨溝」。
ついで「うなぎ犬」。これが意外と多い。なぜ〜?
その次が「smbclient」や「samba」。
アクセス多いのでバージョンアップでもしてコンテンツ更新しようかなぁと思ったのですが、新しいバージョンは cygwin ですんなりとはコンパイル通らないなぁ。。。やめ。
まだ使いたい人いるのかな?
ボクは当時 Win98 環境で不便していたので cygwin で日本語対応パッチ当てた smbclient を作ったのだけれど、WinXP 全盛のこの世の中で誰がなんのために必要としているのだろう?
まだリース切れてなくて Win98 使っている人がいるのかな?
変わった検索キーワードでは、「まだ寝てていいよ」「巨乳サンタ」w

続きを読む "awstatsのインストール" »

2006年01月20日

ISMS内部監査の準備

今日は韓国のメーカー主催の新年会へ行く予定だったのに、仕事が重なっていけずじまい。
結局終電の1本前の電車で帰宅。

ISMS内部監査の準備が orz

段取り悪すぎるよ(T_T)

続きを読む "ISMS内部監査の準備" »

2005年12月29日

FF RADIUS Library

今日は仕事納めなのでさっさと上がればいいのにプログラミングにのめり込んで残業してしまった:-P
残業代つかないのに orz

片手間だけどTunnel Radius用の負荷試験ツールを作りました。
大量にAccess Requestを投げるツール。
ツールを実行するPCのCPUパワー依存ですが、Celeron 1.2MHz で秒間160リクエストくらい投げます。no waitでただひたすら投げまくる仕様にすると、Pentium4 2.0GHzで秒間20,000リクエスト投げます。ただひたすらに投げまくります。
リクエストを投げた後に10ミリsecのsleepを入れたり、リクエストに対するレスポンス(Access Accept or Reject)を受け取ろうとすると秒間50リクエストくらいに落ちます。
一から作るのはめんどいし時間もかかるので、オープンソースのライブラリーを使いました。
FF RADIUS Library』。
便利な関数群がフリーで公開されています。
RFC2865RFC2866をサポートしています。
ただし、ドキュメントが一切ない(ToT)
サンプルコードも腐ってる。手直ししないとコンパイル通らないし(-_-#)
でも関数は使いやすいので利用させていただきました。
ライブラリーのソースとヘッダーファイルを見て使い方を覚える。
もうちょっとドキュメントを用意してくれればなぁ。

続きを読む "FF RADIUS Library" »

2005年12月17日

SINAP x Lingkaran

昔の同僚がおこした会社 SINAP
そこからクリスマスカードが届きました。

ChristmasProject 2005 ということで SINAP X Lingkaran Cristmas スペシャルコンテンツ。

  http://xmas.sinap.jp/

おもしろい企画です。
ボクもメッセージを寄せさせて頂きました。ありがとう。
メリークリスマス!

続きを読む "SINAP x Lingkaran" »

2005年11月05日

サイボーグ技術

NHKの『立花隆 最前線報告 サイボーグ技術が人類を変える』を見ました。

びっくらこきました。

すごいっす!
感動しました。
おまけにちょっぴり恐いです。
ここまで技術が進んでいるとは。
いや、進んではいるんだろうと思っていたんだけど、試験的とはいえ実際に人に導入されていて、体の一部をサイボーグ化して生活している人がいるとは!
すげーな。
世の中は広いな。進んでるな。
もうあと2,30年すると普通にサイボーグがいそう。
身体障害者への利用はすばらしいと思うけど、趣味でサイボーグ化する人とかもいそうだな。
映画やマンガで出てくるような闇医者とか闇科学者とか出てきそう。
米軍が尽力するのは分かるけど、ちょっと恐い。

続きを読む "サイボーグ技術" »

2005年11月03日

RADIUS本

新宿紀伊国屋でオライリーの『RADIUS―ユーザ認証セキュリティプロトコル』を買いました。

渋谷のBook 1stにも置いてなくて、新宿行ってようやく買えた。
買って早速役に立ちました。
本を読んで自分の RFC 訳し間違いに気付いた(^^;
気付いてよかった。買ってよかった。
日本語の情報は貴重だw

2005年10月27日

DVD-RWの値段

今日はハードディスクのバックアップを取りました。
容量が結構あるので DVD-RW でとりました。
先日5枚入りのを2,500円くらいでかったんだけど、1,200円で売ってるところもあるなんて!
【税込です!カードOK】 ビデオ録画用 DVD-RW 120分 4.7GB(5枚)ブランド入りレーベルシルバーメ...
まぁ、2倍速と4倍速の違いはあるんだけど、4.7Gフルフルとるわけじゃないからそんなに変わんない。
どうせ焼き始めたら違うことして過ごすんだし。

探したらもっと安いのあった!
プライム1-2XCPRM DVD-RW 10枚 プリンタブル
6倍速だと1枚でこれくらいの値段するんだけどな。
一番安いところは2倍速で1枚40円らしい・・・
PRINCO製 CPRM対応 2倍速 DVD-RW 4.7GB 1枚

2005年10月18日

FMIP-301 FMトランスミッター

会社のおっちゃんが買って欲しいというので amazon で注文しました。
iPODを車に繋ぐ『FMIP-301 FMトランスミッター』です。

発売予定日は11/7です。予約しておいたほうが良いそうです。

続きを読む "FMIP-301 FMトランスミッター" »

2005年10月14日

RSSリーダー

最近、RSSリーダーを導入しました。
InfoMakerの『RSSリーダー Headline-Deskbar』です。
これはなかなかいいです。
ドラッグ&ドロップでサイト足せるし、なんといってもブラウザーのツールバーとして機能するので、いつでもデスクトップに置いておけるのがいい。
RSSなんて目に入んなきゃ意味ないし。
本当は Outlook Express のプラグインがあるといいんだけどぁ〜
海外にはあるんだけど文字化けしないか心配だし有料だし。
(UTF-8だから化けないかもね)
Headline-Deskbarは無料です。手軽に始められます。
でも、意外と毎日チェックしたいページはRSSを配布していなかったりする。。。
毎日見るページはみるんだからRSSを取得する必要はなくて、自分からは滅多に見に行かないけど、一応更新をチェックしたいページがRSSに対応していると便利。
特にお仕事で使うページ。
ソフトウェアの新バージョンリリースの情報とかメーカーのバグ情報とか。
必要最低限の更新だけを知りたくて、毎日チェックしたいけど見に行くのはめんどくおもしろくないページとか、RSSで十分。
ソフトハウスやメーカーは是非RSS対応してください。

続きを読む "RSSリーダー" »

2005年10月11日

日本縦断アンテナDASH

日本縦断アンテナDASH始めました。
なにやらおもしろそーなことやってるなーと思って眺めてたんだけど、電車の中で暇だったので暇つぶしに始めてみました。
そしたら、

おもしろい!!

意外と面白いw
誰も発見してないアンテナ発見したいなぁ〜
この前北海道行った時にやってればよかったよぉ〜(ToT)
この前岐阜行った時にやってればよかったよぉ〜(ToT)

開発日誌

au携帯電話 WIN W32H 機種変更 25ヶ月以上(ACアダプタ付)

続きを読む "日本縦断アンテナDASH" »

2005年10月08日

sshfs

SSHFSというのを使ってみました。
その名の通り SSH File System です。
SSH(SFTP)接続できるサーバのファイルシステムをローカルにマウントして使うことができます。
これ、samba と組み合わせるとすごい便利で、sambaが動いているサーバで SSHFS を使ってリモートのサーバのファイルシステムを(SSH)マウントすると、samba 経由でファイルの編集とかアップロードができます。
エクスプローラーでローカルのファイルを見るのと全く同じように扱えます。
WinSCPをエクスプローラー like に使っても同じようなことができるけど、やっぱりサーバ側でやった方が一回こっきりの設定と接続(マウント)で済むので楽チンです。
もうひと月くらい使っていますが、安定しています。
ずっとマウントしっぱなしでも問題ありません。
ただ、マウント先のサーバを再起動する場合はアンマウントしてから再起動した方が良さそうです。
マウント先のファイルをsamba経由で編集中に停電が起きて(泣)マウント先のサーバだけが停止した時に、ファイルを開いていた(Windows XP端末上の)エディターが固まりました。。。
当然といえば当然ですが。
その後、停電から回復してもエディターは固まったままでした。
sshfs のアンマウントもできなくなっていました。
結局エディターを kill して、sshfs が使っていた sshd も kill してマウントもしなおしました。
この問題は sshfs の問題か samba の問題か Windows XP の問題かわかりませんが、マウント先を再起動する場合はアンマウントする方が無難なようです。

続きを読む "sshfs" »

2005年10月07日

SSL/TLS

今日は SSL 接続して通信するプログラムを書きました。
久々に C 言語です。
やっぱり C 言語でのプログラムは楽しい(^ー^)
変態ですか?w
Perl や Java になれちゃうとデザインパターンやフレームワークのことばっかり考えちゃって、テンプレートやインターフェースをいかに美しく書くかってことばっかり考えちゃって、アルゴリズムを考えなくなっちゃう。気がする。のは僕だけ?
C は細かいところをコツコツ考えてくみ上げていくところが楽しい。
構造体考えて、構造体のメモリの確保、開放のサブルーチン作って、とか。
それは他のプログラムでも同じなんだけど、Java で一個一個オブジェクトを考えるてメソッドを作っていくところも楽しいのだけれど、C の方が低レベルな処理を書く分、難しいことをやっている感覚が自分を満足させるのだと思うw
とくにメモリ周りやソケット周りは。

続きを読む "SSL/TLS" »

2005年10月06日

Winnyの技術

今一番気になる本がこれ『Winnyの技術』。

欲しい〜〜。
読んでみたいので会社で買ってもらえないか、経費承認申請出してみましたw
おりるといいなー♪

続きを読む "Winnyの技術" »

2005年10月03日

Mac mini

Mac mini欲しいな〜
最近すげー欲しいです。
できれば秘密裏アップグレード版欲しいです。
アップグレード版を手に入れたら会社のMacユーザーに自慢できるし(^ー^)
Mac mini M9971J/B
SuperDrive付きのが欲しい!
そいで250G外付けHDDが欲しい。
【送料無料・在庫目安:僅少】LaCie mini FireWire 250GB 300998J
これいいなぁ。

続きを読む "Mac mini" »

2005年09月24日

i-RAM

RAM DISKカード『i-RAM』がもうすぐ発売されるそうです。
趣味でいじって遊ぶには楽しそうだけど、仕事で使うには勇気がいりそうw
でもこれでDBサーバとかエンコーダーマシンとか作ってみたいな。
今までもメモリー上に RAM ディスクを作って /dev/ram で使ったりしたこともあるけど、
i-RAM の特徴は、
・HDD として認識されるので RAID を組めることと、
・起動ディスクとして使えること、
・バッテリーがついていて停電してもすぐにはデータが消えないところ、
でしょうか。
フル充電であれば最大16時間、メモリー内にコピーしたデータが保存されるそうです。
なのでサーバを再起動しても大丈夫。
また起動ディスクとしても使えるそうなので、i-RAM上にOSをインストールして使えます。
誰か買ってみない?
レポート求む!

2005年09月01日

NAT越えX forwarding

NAT環境内になるX端末へ外部のサーバ上で実行したXアプリケーションをフォワーディングする方法についてです。

まず、Windows XP端末にcygwinを入れてXを動かします。
cygwinを入れたらstartxを実行してXを起動します。
xtermからsshコマンドを実行して外部サーバへログインします。
その時に -R オプションを指定してリモートサーバのXサーバポートをローカルホストのXサーバポートへフォワーディングします。

 ssh -R 6000:localhost:6000 ユーザ@外部サーバのIPアドレス

6000番がXサーバポートになります。
リモートの6000番ポートがSSHトンネルを通ってローカルの6000番ポートへ転送されます。
sshで外部サーバへログインしたら、リモードサーバのシェルが表示されます。
これから実行したいXアプリの実行にroot権限が必要な場合は、ここでsuかsudoしてrootになります。必要ない場合はこのままで構いません。
ちなみにethereal-gnomeはrootにならなくても実行できます(実行後にrootのパスワードの入力を要求されます)。
Xアプリを実行するためにリモートサーバ上のシェルでDISPLAY環境変数を設定します。

 DISPLAY="localhost:0.0"
 export DISPLAY

これで、リモートサーバ上で実行したXアプリはリモートサーバのXサーバポート(6000)へ接続しに行きます。そうすると、SSHによって6000番宛のパケットはローカルホスト(X端末)の6000番へ転送されて、X端末上にXアプリが表示されます。
リモートサーバ上のシェルでXアプリを実行します。
そうすると、Windows XP端末にXアプリが表示されます。
回線が速い&CPUパワーとメモリーがあれば、さくさく動きます。

尚、誰かが外部サーバの6000番ポートを既に使っている(誰かがXアプリを動かしている)場合は、ポート番号を変える必要があります。
ssh -R 6001:localhost:6000 にして、DISPLAY="localhost:1.0"にすれば6001番を使えます。
この時ローカルホスト側は6000のままにしてください。6002番を使いたい場合は、
ssh -R 6002:localhost:6000 にして、DISPLAY="localhost:2.0"にすれば6002番を使えます。

知ってると結構便利です。

続きを読む "NAT越えX forwarding" »

2005年08月12日

ロボフィー

今日は夏休み(^ー^)
新宿へ遊びに行ったらおもちゃやさんでロボットを見つけました。
その名も『ロボフィー
Robofie
カッコイイ!!
こんなロボット待ってました!
しかもPCでプログラミングできる!
物を持ち上げて投げたり?後ろ回し蹴り?をしたりとバランス感覚も優れもの!
サイトで動画も見られます。
オプションカウルで外見も変えられる。まぁ、外見はプラ板とかで自作したいけどね。
いよいよプラレス3四郎の世界が近づいてきました。

あとは価格だけだな・・・

2005年07月15日

サーバ復旧

昨日の停電の影響で今日もサーバ復旧作業です。
久しぶりにパーツを買いに行きました。
160GBのHDDを三本。
【送料無料・受発注(お取り寄せ)】HITACHI GST Deskstar T7K250(160GB/ATA133/7200rpm/8MB) H...
最近のディスクは安くなったねぇ。
160GBが12,000円代だなんて・・・
しかもディスク関係のアプリケーションが5本も入ってる!!
パーティション・マジックがおまけとして付いているなんて。
すごいねぇ。

2005年07月14日

iDC停電

お昼過ぎにデータセンターの電源が落ちました。。。
サーバ復旧でいきなり大忙しです(T_T)
結局家に帰りついたのは夜中の2時でした(>_<)
久しぶりのタクシー帰り。

データセンターへいくと、多くのエンジニアがわらわらとw
みんな大変な目に合ってるのね。
でもなんか楽しげです(ボクだけかも)。こういうのって。
不謹慎ですいません。

2005年06月11日

ドメイン更新

ドメイン更新しました。

でも、まだ更新期限まで3ヶ月も残ってるのに、更新のお知らせメールが来たので何も考えずに更新してしまいました。
そしたら契約更新日が今日になっちゃって、次の更新日までの起算日が今日になってしまいました。。。
3ヵ月分損したよ(T_T)

2005年05月22日

SpamBully

迷惑メール Spam が毎日山のように来るので、学習機能のあるベイジアンフィルターを備えたスパム対策ソフトをいれました。
ボクが入れたのは『SpamBully』です。
ちょっと前に窓の杜でも紹介されていました。
14日間無料で使えるので、まずは試してみると良いです。
その後はお金を払ってライセンスキーを取得しないと、スパムボタンが押せなくなってスパム対策をしなくなります。
29.95ドルです。
嫌だったら簡単にアンインストールできます。
学習機能はなかなか賢いようです。
滅多にみないのですが、スパムの統計機能がついているのでたまに見てみると面白いです。
また日本語のメールも大丈夫なようです。
今のところ使ってみて不便さは感じません。
うまいことスパムメールをゴミ箱へ運んでくれています:-)
まめにバージョンアップもされています。主にバグ修正のようです。
自動更新機能がついている点も親切です。

で、今日ネットを見ていたら、ノートンからも似たような製品でてるんですね。
【税込です!カードOK】 NORTON ANTI SPAM2005Norton AntiSpam 2005

2005年05月19日

Outlook Express Backup Wizard

会社と家とで使っていたノートPCを自宅専用にすべく、メールのバックアップをしてメールを別のPCへ移しました。
使ったアプリは『Outlook Express Backup Wizard』。
これなかなかよいです。賢いです。
複数ユーザにも対応していますし、バックアップしたいものを選べる上に、バックアップファイルの中からリストアしたいものを選択できます。
日本語のメールもフォルダもアドレス帳も文字化けしませんでした。(Win XP)
ボクはメールを別のPCへ移したいだけだったので、無料お試し期間中にやっちゃいました。
でも便利そうだし、会社の大事なメールを定期的にバックアップするのによいツールだなと思いました。
買っちゃおうかなぁ。

2005年05月15日

Norton AntiVirus 2005

ウイルス感染してはずかしいメールをばらまいてしまうと困るので、『Norton AntiVirus 2005』を買いました。

NORTON ANTI VIRUS2005 特別優待版

2003 を入れていたのですが更新サービスの期限が切れそうだったので、延長しないでバージョンアップしました。2003 はもうすぐサポート終わりそうだしね。
それにしても Norton は儲かってそうだなぁ。

続きを読む "Norton AntiVirus 2005" »

2004年09月10日

小型人型ロボット組立てキット

会社の同僚に教えてもらいました。

KHR-1

小型人型ロボット組立てキット:KHR-1

をををー!
すげーーー!
かっこエエーーーー!

なんということでしょう!!
自分で二足歩行のロボットを組み立てられて、その上パソコンで動きをプログラムできるらしいです!
起き上がったり、側転までできちゃったりします!
まさに『プラレス3四郎』の世界がすぐそこまで来ています!

欲しいイイイぃーーーー

続きを読む "小型人型ロボット組立てキット" »

2004年07月09日

電車男

今更だけど、電車男読みました。
2chの『男達が後ろから撃たれるスレ 衛生兵を呼べ』です。
ここの記事がニュースサイトで紹介されていました。

2ちゃんねる発「純愛物語」にハマりまくる人々

という見出しで。
これ読んでボクも興味を持って読みました。


ハマりました。( ´ー`)


中の人が編集したサイトの125206電車男を読みました。
125と206は「いいなぁ〜、こんなことあるんだ〜」って感じだけど(痛い)、電車男はすっごく面白かったし、素敵なお話でした。

何か昔の自分を思い出します(笑)
初めて大人っぽいデートをした時のこととか。
やっとの思いで自分から手を繋いだ時のこととか。
何にも経験なくてどうしたらいいのか分からなくて、失敗が怖くて勇気を出せなかったかった自分を思い出しちゃいます。
なんか(電車男の気持ちが)分かる〜みたいな。

電車男お勧めです。かなり長いけど。
リアル爆撃受けてみたかった。きっと面白かっただろうなー。
幸せになってもらいたいです。
世の中素敵な人やいい人が沢山いるんだなぁと思いました。
読み終えた後、なんか新鮮な気持ちになりました。
明日からがんばろっと。(オレって単純(^^;))

続きを読む "電車男" »

2004年04月04日

PSX パワーアップ!

昨日新宿のヨドバシでテレビの電波の分配器と無線LAN Ethernetメディアコンバータを買いました。

アンテナ部品:「ケーブル付2分配器」F型ジャック端子から電波を2つに分ける場合にDP-722-B メルコ BUFFALO 11Mbps無線LAN変換メディアコンバータ WLI-T1-B11

PSXはVHF/UHFの出力端子が無いので録画中にチャンネル切り替えできません(ToT)
壁面テレビ端子から2分配器で2分岐させて、片方をPSXへ接続しもう片方をテレビへ接続します。
こうする事でPSXで録画中もチャンネルを変えられるようになります。(^ー^)v
(マニュアルに書いてあります。VHF/UHF/BS/CS混合の場合は分波器も必要。)

そして、無線LAN Ethernetメディアコンバータを買ってPSXのEthernetポートへ接続しました。
自宅の無線LANステーションがBUFFALOのAirStationなので無線LAN EthernetメディアコンバータもBUFFALOのAirStationの商品 WLI-T1-B11 を購入しました。
無事PSXで無線LAN経由でネットワーク接続できましたv(^o^)

そして、PSXをネットワークアップデートしました。
無事Version 1.20になりましたv(^o^)
ボクにとっては特別便利になるバージョンアップではないけれど、なんかうれしい(^ー^)

続きを読む "PSX パワーアップ!" »

2004年03月30日

IEでソース表示できない

Internet Explorerで右クリックして [ソースの表示] をクリックしてもソースが表示されない。
メニューの[表示(V)]から[ソース(C)]を選択しても何も起きない。

なんでだろ〜〜?

と思っていたのですが、Windows.FAQ - ウインドウズ処方箋に解決策が書いてありました。
本当にこんなんで直るのかなぁ〜?と思いつつ書いてあるとおりに実行したら、見事直りました(^0^)/
やた。ありがと〜

続きを読む "IEでソース表示できない" »

2004年03月19日

PSX Get!

PSXをゲットしましたv(^o^)/

SONY 250Gハードディスク搭載DVDレコーダー「PSX」(DESR-7000)

美しい。Coolなデザインだね。結構でかいね。
もっと機能増えないかなぁ〜
番組表の使い勝手がいまひとつかな。
番組表を見ているときに、今選択しているchの番組を小窓で映して欲しいなぁ。
これからアニメ撮りまくるゼ!

2004年01月19日

GoogleBrowser

今日はネタがないので、TouchGraphのGoogleBrowserを紹介します。

説明難しいので、実際に動かしてみてください。見れば直感的に分かると思うので。


URL:     Google:related?

※ Java AppletなのでJava JRE 1.3以上がインストールされている必要があります。

2003年12月26日

Apacheモジュールプログラミングガイド

元同僚が書いている本『Apacheモジュールプログラミングガイド』です。
ボクもほんのちょこっとだけお手伝いさせていただきました。
ほんのちょっとお手伝いしただけなのに謝辞に名前まで入れていただき感謝感謝(^人^)
執筆完了&発売おめでとう(^-^)/

cover

エンジニアのみなさん読んであげてください。
Apache のモジュールを作りたい人や改造したい人にはとても役立つ内容だと思います。
役に立ちそうだったら買って上げてください(^ー^)

続きを読む "Apacheモジュールプログラミングガイド" »

2003年09月30日

Yahoo! BB


 サービス変更で8Mから12Mへ変更したら、劇的に遅くなりました。
 1Mbps 以上遅くなっています。
 なぜでしょうか?
 変えたのは、御社からお送り頂いたヤフーモデムだけです。
 こんなに遅くなってしまうのであれば元に戻したいくらいなのですが・・・

ってクレームメールを昨日送りました。
YahooのADSLを8Mから12Mへ変更したら遅くなってしまったのです(T_T)

続きを読む "Yahoo! BB" »

2003年01月19日

WINNY

同僚から紹介されたWINNYで遊んでみた。

こいつはすごい! よく出来てる。

平たく言えば、P2Pのファイル共有ソフトです。
NapsterWinMXみたいな感じなんだけど、それよりもよくできている、と思う。

朝まで延々、いろんなものをダウンロードしてしまいましたw

寝たのは朝で、次に起きたのは夕方でした・・・
勉強しようと思ってたのに。。。

続きを読む "WINNY" »

2002年09月02日

Yahoo BB

Yahoo BB!で接続完了!

ISDN無線ルータをBB無線ハブに改造。苦労しました。

無線ハブ経由で3Mbps弱でます。
YahooのBBモデムにPCを直接繋ぐと、3Mbps強でます。
でも無線の方がいいので無線ハブ経由にする。
ISDNの頃(64Kbps)に比べたら断然速いぜ!

2002年08月29日

モデム

今日、Yahoo BB!のモデムが発送されたそうです。明日には着くはず。早い時間に着くといいのだけれど。

2002年08月12日

ADSL

NTTから連絡があり、ISDNからアナログ回線へ切り替わる日が決まりました。
同時に電話番号も変わります。めんどくせ〜:-(
それもこれもADSLにする為。

だったのですが・・・

この1ヶ月後ぐらいに、Yahoo BB!からある発表がありました。

電話番号を変えずにISDNからADSLへ移行するサービスを開始すると。。。

こんちくしょ〜〜 (>_<)
もっと早く言え〜 (#-_-)

2002年08月09日

解約

InfoSphere解約に向けてせっせとMLを解約。

2002年08月08日

ドメイン取得

Myドメイン取得!

hagyroom.com

ようやく取りました。なかなかドメイン名が決まらなかったけど、これに落ち着きました。
Primary site は InfoSphere から hagyroom.com へ移行です。

2002年01月30日

FFFTP

今日も仕事するフリしてFFFTPを改造した。
たのしかった。VCもおもしろいね。
いや、仕事に活かしますよ。活かしますとも。
明日こそ。

2001年08月30日

停電

夜中に会社で停電がありました。
全部落ちました(涙)
壊れました(泣)
苦労して設定したのに(苦)
復旧大変です。
入れなおしました(疲)
これを機に、UFS loggingにしました。
でももう停電しないことを望みます。
ってか、そんな電源設備じゃダメでしょ!

2001年08月29日

iDC

今日は大手町にある新しいデータセンターへ行ってきました。
新しいだけあって、とってもきれいでした。
そして広かった。
設備も最新です。
かっこいいです。
ビルの24F。むちゃしてます(笑)
かっこいいです。
こんなところで仕事したいです(憧)
ええなぁ〜

2001年08月28日

パワードアーム

韓国パワーおそるべし!ですね。身の危険を感じます(冗談です。韓国人の人ゴメンナサイ)。

http://japanese.joins.com/ui/images/200108/20010824_home_x.jpg

【写真】「身につけるロボット


韓国科学技術院(KIST)マイクロシステム研究センターの金敬桓(キム・キョンファン)博士チームが開発した右腕用パワーアップロボットを研究員が身につけている。腕にはめれば、腕の力が2倍程度強くなる。重さ3.2キロで、制御装置は背中に背負う。腕のほかに足にも使用できる。このロボットは、リハビリ、バーチャルリアリティー、遠隔操縦用として脚光を浴びるものと期待される。

ちょっと欲しいかもです。

2001年08月14日

Solaris 8

今日はSolaris 8のインストールをしました。
思ったより簡単かも、悩むのはパーティションの切り方だけだね。
他にもいろいろ入れました。入れるのは簡単なんだけど、なんでも設定が難しいね。
例が少なすぎ。それで高いコンサル料とるんだからなぁ(w
ブーブー

2001年08月08日

PC

パーティションの引き伸ばしは予想通り見事に失敗(T_T)
結局、ディスクをフォーマットして、一からOSを入れなおしました(>_<)
なんとかかんとか、引渡しの時間に間にあわせ、昔の同僚に売りました。
昨年の夏にビッグカメラで5万円で買ったPCですが、2万円で売却。
CPUはCeleron 633MHz、メモリーは128MB、ディスクは20GB、ビデオカードは3Dアクセラレータ付き。
いろいろパーツを買い揃えて自作したPCです。
なので、値段の割にはスペックの良いPCなハズ。まぁ、そこそこいいパソコンです。
でも、ネットゲームをやらなくなってしまったので、全く使われていませんでした(^^;;
なので、むしろ買い取ってもらえて良かった。
使ってやってください:)

今度飲みおごれよ〜(笑)

2001年08月06日

バーチャル・パーティション

今日からまた忙しい。タスクが山積みだ。

帰ってから、自宅のPCのOSを98からMeに入れなおした。
Linuxパーティションを無くして、Windowsパーティションを伸ばしました。
バーチャル・パーティションっていうソフトを使ってるのですが、・・・なかなか終わらない。
終わりそうにないので、このままにして寝よう。
不安だ・・・イヤな予感

2001年05月01日

AD-DMG64

今日は出勤。連休中に会社の引越しがあったので、今日は朝から開梱作業などに追われていました。
引越しの影響でネットに繋がらなくなっていて、Webも見れないしメールも書けない状況が夜まで続きました。
おかげで全く仕事になりませんでした。改めてネットへの依存度の高さに気付きちょっと恐くなりました。

仕事の後は同僚と渋谷へ買い物に行きました。
んで、シリコンオーディオプレイヤーなるものを買いました:)
商品名はアドテックの「AD-DMG64」です。かなりイカしてます♪
http://www.adtec.co.jp/mpio/
ずっと発売を楽しみにしていたので、Getできてかなりご機嫌です。
MDウオークマンよりも小さくて軽くて長持ちで、MP3ファイルやWMAファイルを再生できます♪
いっしょにネッケル水素充電池も買いました。最近は充電池も安くて長持ちで短い時間で充電できるんですね。ちょっと驚きました。

2000年12月17日

Hagy's Secondary HomePage

gooでホームページ Hagy's Secondary HomePageを作った。(今はもう閉鎖されてない)
gooの簡単HP作成はよくできてるねぇ。よくまとまってると思う。
こういうの作りたいと思ってた会社いっぱいあるんだろうな。

今日も昼間は寝て過ごした。。。Zzz...

トップ

About IT

ブログ「HagyLog」のカテゴリ「IT」に投稿されたすべてのエントリーのアーカイブのページです。新しいものから過去のものへ順番に並んでいます。

アーカイブ

お薦めショップ

  • HagyShop   ボクの大好きな作品だけ、
      お薦めの本と映画をご紹介。