なんちゃってSEの日々

数学嫌い、論理的思考が苦手なのにSE?の生き延びている生態

アンチエイジングヨガ

2006年09月25日 | 徒然なるまま

さて、なんだか月曜初日から毒がたまってしまったような。

ま、そんなときはヨガに限りますな。
予約しておいてよかった。

21時から22時までたっぷり汗をかいて、毒出しました。
ちょっと今くらくら・・・@_@~

さて、これで明日も元気でいこう。

土壇場

2006年09月24日 | 徒然なるまま

飛び降りる寸前。

同い年の親友が、私の腕をつかんだ。

「もうこの年で、いばらの道へ進むのは無駄。
自分が楽しい、幸せになる道歩いていていいじゃん。」

「美しくいよう、幸せでいよう、私は、幸せなあなたの笑顔が
きっとまわりを幸せにするはずだから、
それで、いいじゃん。そのままでいいじゃん。」

一瞬、体重が軽くなった気がした。
私のまわりに何ヶ月間も滞っていたなにかが、落ちるのを感じた。

どんなにふりきろうとしても、どうしてもとれなかったのに。

彼女の一言が私を助けてくれた。

外に出て、思いっきり空気を吸った。

ありがとう。本当に。ありがとう。

門前の小僧、Plaggerに手をだす パート4 最近の帰宅後

2006年09月21日 | 本業

最近、PVが4倍くらいに増えているのが気になる・・。
すいません、役に立たないplaggerについて書いています。

私がかき集めた賢人たちのブックマーク公開しておきます。
絶対こっちの方がお役にたちます。
このブログは本当にしょうもないことばっかり書いているので、すいません;;
↓↓
boheboheのブックマーク

で、いろいろと悩みました。
で、ちょっとずつわかったことを自分でまとめておきます。

。Gmailのサーバは、SSL(TLS)による通信とSMTP認証を使用しなければいけません

ここで、yamlをみてみましょう。
Gmailに送る場合は、以下の設定になっていますね。

mailroute:
via: smtp_tls
host: smtp.gmail.com:587
username: example@gmail.com
password: p4ssw0rd

Gmail.pmをみてみると、
via:smtp_tlsの場合、ハックされた関数をコールしています。

# hack MIME::Lite to support TLS Authentication
*MIME::Lite::send_by_smtp_tls = sub {
my($self, @args) = @_;
・・・・
}

で。私がこれで送信エラーとなってしまうのは、Net::SMTP::TLS関連がなぜかうまくインストールされていないので、エラーとなっています。
ここは解決できていません。

TLS Authenticationとは・・・

http://e-words.jp/w/TLS.html
MIME::Liteについて
http://www.mytools.net/memo/MIMELite.html

参考ですが、GMailのsmtpサーバを使って送信するコードがありました。
マクロのようですが。。。
http://muumoo.jp/news/2006/09/13/0sakuramailmacro.html

今は、とりあえず、自分のメールサーバのsmtpを設定してそっから、Gmailアカウントにメールを飛ばしています。

紙一枚おりこうになったかな?
という今日でした。

もうだめかもしれない。

2006年09月20日 | 本業

心がもたない。
来期、会社にいるだろうか・・・。

毎日、毎日、自分を励ましつつ、会社に行くんだけど。

ごめんなさい。
みんなに助けてもらっているのに。

ごめんなさい。
私、どうしてこんなんなんだろう。

自分の心の問題。



トイレ日めくり

2006年09月19日 | 徒然なるまま
自分は何を考えているんだろう。

自分はどこへ行きたいんだろう。

駅で立ち止まる。

ビルをみあげて、立ち止まる。

どうするの?
どうしたいの?
本当にそれでいいの?

今の私の心の支えは、この日めくりカレンダーかもしれない。




門前の小僧、Plaggerに手をだす パート3 情けない編

2006年09月19日 | 本業

さて、すごい情けない回答を書くとですね。
マニュアルをちゃんと読め!っていうことですな。ちゃんと書いているやん。

http://plagger.org/trac/wiki/CookbookBloglinesGmail
Recipe: Bloglines to Gmail

plugins:
- module: Subscription::Bloglines
config:
username: foobar@example.com
password: p4ssw0rd

- module: Publish::Gmail
config:
mailto: example@gmail.com
mailfrom: you@example.com
mailroute:
via: smtp_tls
host: smtp.gmail.com:587
username: example@gmail.com
password: p4ssw0rd

This config allows you to take Subscription using Bloglines API, creates HTML rich text mail for each update and send them to your Gmail account example@gmail.com using Gmail's SMTP/TLS server.

If you want to send mail using your own SMTP sever running on localhost, change the mailroute config to:

mailroute:
via: smtp
host: localhost:25

しかし、まだ実験していませぬ。
月曜の昼に起きてですね、自分の自宅のメールアドレスには送れること確認しました。

読めないperlを読んで、クラス調べたりと本当にまた無駄なことをいっぱいしてしまいました。

いいんです。そうやって過ちから何か学んでいければ・・・・。

門前の小僧、Plaggerに手をだす パート2 苦悩編

2006年09月18日 | 本業
結局、昼くらいに起きてお風呂につかって・・・
今日は、下北沢北口校でVOICEを4コマ。
なんだか、始終ハイレベルなVOICEだった・・・。

1時間だけ、高島屋タイムズスクエアでうっぷんを晴らして?
帰宅。

洋服を整理しないとどこにも入らない。。

さて、気をとりなおして動かしてみよう。

yamlファイルがexampleディレクトリにあったので、それをこぴって

えい。

[root@homeserv ashibuya]# plagger -c ./bloglines2gmail.yaml
Plagger [info] plugin Plagger::Plugin::Subscription::Bloglines loaded.
Plagger [info] plugin Plagger::Plugin::Widget::Delicious loaded.
Plagger [info] plugin Plagger::Plugin::Widget::BloglinesSubscription loaded.
Plagger [info] plugin Plagger::Plugin::Publish::Gmail loaded.
Plagger::Plugin::Subscription::Bloglines [info] You have 7 unread item(s) on Bloglines.
Plagger [info] plugin Plagger::Plugin::Aggregator::Simple loaded.
Plagger::Plugin::Subscription::Bloglines [info] 1 feed(s) updated.
Plagger::Plugin::Publish::Gmail [info] Sending カエルチュウイホウ to XXXXX@gmail.com
Plagger::Plugin::Publish::Gmail [error] Error while sending emails: SMTP MAIL command failed:
5.7.0 Must issue a STARTTLS command first w54sm10828091pye

at /usr/lib/perl5/site_perl/5.8.2/Plagger/Plugin/Publish/Gmail.pm line 116
[root@homeserv ashibuya]#

Bloglineはとってきたようだ。未読が消えている。
Gmailの送信でエラーですか・・・・
うーむ、よんでもわからん。

ぐぐると、yamlの書き方が色々あるみたい。

- module: Publish::Gmail
config:
mailto: tomitank+plagger@gmail.com
mailfrom: plagger@e8y.net
mailroute:
via: sendmail

- module: Publish::Gmail
config:
mailto: xxxxxxx@gmail.com
mailfrom: xxxxxx@gmail.com
mailroute:
via: smtp_tls
host: smtp.gmail.com:587
username: xxxxx@gmail.com
password: xxxxxxx

今回、私は「via:」の部分を「smtp」にしていた。
「snmp_tls」にすると、なんだかもっとわかんないエラーが。。

[root@homeserv ashibuya]# plagger -c ./bloglines2gmail.yaml
Plagger [info] plugin Plagger::Plugin::Subscription::Bloglines loaded.
Plagger [info] plugin Plagger::Plugin::Widget::Delicious loaded.
Plagger [info] plugin Plagger::Plugin::Widget::BloglinesSubscription loaded.
Plagger [info] plugin Plagger::Plugin::Publish::Gmail loaded.
Plagger::Plugin::Subscription::Bloglines [info] You have 7 unread item(s) on Bloglines.
Plagger [info] plugin Plagger::Plugin::Aggregator::Simple loaded.
Plagger::Plugin::Subscription::Bloglines [info] 1 feed(s) updated.
Plagger::Plugin::Publish::Gmail [info] Sending Muibrog to XXXXX@gmail.com
Plagger::Plugin::Publish::Gmail [error] Error while sending emails: Can't locate Net/SSLeay.pm in @INC (@INC contains: /usr/bin/lib /usr/lib/perl5/5.8.2/i386-linux-thread-multi /usr/lib/perl5/5.8.2 /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl /usr/local/lib/site_perl/5.8.2/i386-linux-thread-multi /usr/local/lib/site_perl/5.8.2 /usr/local/lib/site_perl .) at /usr/lib/perl5/site_perl/5.8.2/Net/SMTP/TLS.pm line 89.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.2/Net/SMTP/TLS.pm line 89.
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.2/Plagger/Plugin/Publish/Gmail.pm line 226.
[root@homeserv ashibuya]# vim bloglines2gmail.yaml

あーうー
TLS.pm line 89.のところを見ると、

use Net::SSLeay;

なので、インストールしちゃえばいいのか・・・と思ったら、これがはいらない。
opensslインストールしたのになぁ。。plaggerのインストールは成功したのになぁ。

うーむ。
さすがに、今日になってくると毎晩こんな状態なので、苦しゅい。
エンジニアの基礎学力がない私には非常に辛い・・・
むむ。

ちなみにsendmailはVineLinuxくんにはいっておらず・・
これ、インストールすれば動くのかしら??
sendmailのインストールってどうするのかなぁ・・・(またそこからだ;)

あーうーコードはどこだー。
あった。

/***/Plagger-0.7.12/lib/Plagger/Plugin/Publish/Gmail.pm

    eval {
        if ($route->{via} eq 'smtp_tls') {
            $self->{tls_args} = [
                $route->{host},
                User     => $route->{username},
                Password => $route->{password},
                Port     => $route->{port} || 587,
            ];
            $msg->send_by_smtp_tls(@{ $self->{tls_args} });
        } elsif ($route->{via} eq 'sendmail') {
            my %param = (FromSender => "<$cfg->{mailfrom}>");
            $param{Sendmail} = $route->{command} if defined $route->{command};
            $msg->send('sendmail', %param);
        } else {
            my @args  = $route->{host} ? ($route->{host}) : ();
            $msg->send($route->{via}, @args);
        }
    };


perlはよくわからんが、なるほど「via」によってコールするコマンドがちがうのね。


とりあえず、美容に悪いので今日は寝よう・・
きれいなお姉さんを維持できない・・・・。



「array_rand」な宿題。

2006年09月17日 | 本業
とりあえず。インストールだけ終わったので、
ヨガにでかけて、VOICEを3コマうける(今日は池袋西口校)。

で、まぁせっかくインストールしたので何かしないと
あほやんなーと思いつつ、ちょっと宿題を思い出す。

宿題のほう、先考えてみようか。


/**
* hogeさんのお店では、5人の女の子がいます。
* それぞれランクがあって、ランク高い女の子ほど、よく登場します。
* そのランクは1から5までで設定されています。
* さて、ちゃんとランクに応じた女の子を登場させることができるでしょうか。
*
* 5段階評価
* weight = 5, 4, 3, 2, 1
**/


ほんでもって、考えた実装方法


/**
* 乱数発生させ乱数の剰余算で決定する
*
* 2の剰余算→結果が0となるのは50%の確率
* 2.5の剰余算で→結果が0となるのは40%の確率
* 3.33の剰余算で→結果が0となるのは30%の確率
* 5の剰余算で→結果が0となりのは20%の確率
* 10の剰余算で→結果が0となるのは10%の確率
**/


しかし、色々問題がありまして。
「乱数・・・何の法則性もない数字の羅列」を生み出すのは不可能なんですな。
コンピュータ内部では、何らかの公式によってこの数は導きだされているんでせう。

結局40ステップくらいになってしまった・・。
なんか、もっと他のアプローチが知りたい今日この頃。

作った関数はこんな感じ。
<code>
        function rand_array_weight($hoge)
        {
                $ret_val = "";
                $aryRetval = array();

                foreach($hoge as $key => $val)
                {
                        if($ret_val != ""){break;}

                        $name = $val["name"];
                        $weight = $val["weight"];

                        $rand_val = rand();

                        switch($weight)
                        {
                                case "1":
                                        if($rand_val % 10 == 0 ){ array_push($aryRetval, $val["name"]); }
                                        break;
                                case "2":
                                        if($rand_val % 5 == 0 ){ array_push($aryRetval, $val["name"]); }
                                        break;
                                case "3":
                                        if($rand_val % 3.33 == 0 ){ array_push($aryRetval, $val["name"]); }
                                        break;
                                case "4":
                                        if($rand_val % 2.5 == 0 ){ array_push($aryRetval, $val["name"]); }
                                        break;
                                case "5":
                                        if($rand_val % 2 == 0 ){ array_push($aryRetval, $val["name"]); }
                                        break;
                        }// end switch
                } //end for

                //すべての評価終了後にどの子をだすか、結局乱数で判定。むぅ。
                if(count($aryRetval > 0))
                {
                        $randval = rand();
                        $idx = $randval%count($aryRetval);
                        $ret_val = $aryRetval[$idx];
                }

                //あてはまらない場合は再帰しちゃうの;むぅ。
                if($ret_val == ""){$ret_val = rand_array_weight($hoge);}

                return $ret_val;

        } //end func
</code>


すべてのデータを評価したうえで、再度乱数発生に頼ってしまっている。
そして、どの剰余算にも引っかからない数の場合に、returnが空になってしまうので、再度評価しなおしをしている。
うーむ、ムダかなぁ・・・。

また、結局、case1・2・4・5に引っかかるような最大公約数の数がでることもままあるんです。だから、結果を配列にほりこんでいます。

で、デバックしてみる。
<code>
        $hoge = array( "A" => array("name" => "Asuka", "weight" => "5"),
               "B" => array("name" => "Bekey", "weight" => "4"),
               "C" => array("name" => "Carol", "weight" => "3"),
               "D" => array("name" => "Diana", "weight" => "2"),
               "E" => array("name" => "Edy", "weight" => "1"),
             );

        $hyouji = rand_array_weight($hoge);
        //print $hyouji;

        //DEBUG STRAT
        if($debug)
        {
                $cntLoop = 100;
                for($i=0; $i<$cntLoop; $i++)
{ $hyouji = rand_array_weight($hoge); //print $hyouji ."n"; if($hyouji == "Asuka"){ $cntA++; } if($hyouji == "Bekey"){ $cntB++; } if($hyouji == "Carol"){ $cntC++; } if($hyouji == "Diana"){ $cntD++; } if($hyouji == "Edy") { $cntE++; } } print "#### RESULT ####n"; print "Asuka ".$cntA." :". ($cntA / $cntLoop * 100)."% n"; print "Bekey ".$cntB." :". ($cntB / $cntLoop * 100)."% n"; print "Carol ".$cntC." :". ($cntC / $cntLoop * 100)."% n"; print "Diana ".$cntD." :". ($cntD / $cntLoop * 100)."% n"; print "Edy ".$cntE." :". ($cntE / $cntLoop * 100)."% n"; print "------------------n"; print "Total ".($cntA + $cntB + $cntC + $cntD + $cntE) ."n"; } //DEBUG END </code>


結果は、そこそこ安定しているような。

[ashibuya@homeserv htdocs]$ php ./rand_php.php
#### RESULT ####
Asuka 32 :32%
Bekey 31 :31%
Carol 20 :20%
Diana 14 :14%
Edy 3 :3%
------------------
Total 100
[ashibuya@homeserv htdocs]$ php ./rand_php.php
#### RESULT ####
Asuka 25 :25%
Bekey 33 :33%
Carol 23 :23%
Diana 10 :10%
Edy 9 :9%
------------------
Total 100
[ashibuya@homeserv htdocs]$ php ./rand_php.php
#### RESULT ####
Asuka 31 :31%
Bekey 35 :35%
Carol 16 :16%
Diana 14 :14%
Edy 4 :4%
------------------
Total 100
[ashibuya@homeserv htdocs]$ php ./rand_php.php
#### RESULT ####
Asuka 34 :34%
Bekey 37 :37%
Carol 15 :15%
Diana 11 :11%
Edy 3 :3%
------------------
Total 100

んー。

論理的思考は苦手です。
ふたたび、今日も睡眠不足です。夜があけちゃうよ。
んー。だから3連休なんだってば;;

他にいい方法教えてください。

門前の小僧、Plaggerに手をだす。

2006年09月16日 | 本業
何もわかっちょらんけれども、
とにかくやってみるという経験は大事か??ムダか??と自問自答しつつ

花の金曜日の夜中。もう2時だよ。すでに土曜日か・・

えっと、CPANってなんだろう。(そこからだよ!)
CPANを使いPerlモジュールをインストールする

ふにゅふにゅ。

ではインストールね。
QuickStart

cpan> test Plagger

なんだかエラーでてるよ。
YAML::Loaderでなんかがnewできない????はぁ?
うーん、とりあえず、先にインストールしちゃうってのどうだろう。

cpan> install YAML::Loader

なんかはいったっぽい。

cpan> force install Plagger

うーん、いつまで続くんじゃこれ?とりあえず、すべてEnter。

うーわー失敗しとる。

Running install for module DateTime::Format::Mail
Running make for D/DR/DROLSKY/DateTime-Format-Mail-0.30.tar.gz
Is already unwrapped into directory /root/.cpan/build/DateTime-Format-Mail-0.30
Has already been processed within this session
Running make test
Couldn't chdir to /root/.cpan/build/DateTime-Format-Mail-0.30 at /usr/lib/perl5/5.8.2/CPAN.pm line 5496
Compilation failed in require at inc/Module/Install/AutoInstall.pm line 37.
make: *** [installdeps] エラー 255
/usr/bin/make -- NOT OK
Running make test
Can't test without successful make
Running make install
make had returned bad status, install seems impossible

わからん!!
とりあえず、DateTime::Format::Mailをインストールしてまえ

cpan > force install DateTime::Format::Mail

shell-init: could not get current directory: getcwd: cannot access parent directories: そのようなファイルやディレクトリはありません
make: *** `pm_to_blib' に必要なターゲット `lib/Plagger.pm' を make するルールがありません。中止。
/usr/bin/make -- NOT OK
Running make test
Can't test without successful make
Running make install
make had returned bad status, install seems impossible

えー。一回抜けよ。
CPANをたちあげると、こんなこといわれたんで、とりあえずインストール

cpan shell -- CPAN exploration and modules installation (v1.7601)
ReadLine support available (try 'install Bundle::CPAN')

cpan> install Bundle::CPAN

Couldn't chdir /root/.cpan/build/Plagger-0.7.11: そのようなファイルやディレクトリはありません at /usr/lib/perl5/5.8.2/CPAN.pm line 2294
Failed during this command:
MIYAGAWA/Template-Provider-Encoding-0.05.tar.gz: make_test NO
ABH/XML-RSS-1.10.tar.gz : make_test NO
BTROTT/XML-Feed-0.12.tar.gz : make_test NO


XML関連がはいらへん!!
とりあえず、ぐぐるとなんだかライブラリが足りないようなので
インストール。

apt-get install libxmlとかとか

はてなで似たような質問があった
apt-getってなんだ?

こんどこそ!と思ったら、
セグメンテーションエラー。
Net::ほげほげ関連がはいらへん。なんかopenssl系のライブラリがないようなので
同じくインストール

apt-get install openssl

あー、13:30からのヨガ行きたいんだけどー

実行!!

よっしゃテストはいけた

cpan> install Plagger

はいった~!!



涙そうそう

2006年09月15日 | 徒然なるまま

彼の事は、あんまりよく知らなかった。

寡黙な人だった。
あまり自分のことを話したがらない人。
色々と聞かれるのは嫌いなのかも。
そう感じたから、嫌われたくなかったから、聞かずにいた。

周りの女の子がちょっとした会話で、色々なことを聞いているのが
とてもうらやましかった。

だから、私は、いつも観察していた。

テレビをみていてどんなところで笑うんだろう。
コンビニいったときに、どんな食べ物を選ぶんだろう。
食べに出かけると、何を選ぶんだろう。

「好き」という言葉を信用しなかった。
私の思いは、否定された。
ずっと一緒にいることを拒否された。

私は、彼の腕の中が大好きだった。
その中では、彼は優しかった。
私の事を必要だと思っていてくれている、と私は信じていたかった。

彼から連絡はこなかった。
誘ってくれたのは最初の数回くらいだったかもしれない。

たくさん泣いた。
泣いて、泣いて、嗚咽っていうのはこういうことをいうんだと感じた。

自分の手で、自分を抱きしめた。
さみしい。その腕の中にもどりたい。

もう戻れないと言う思いと
戻ると、「いつ、あなたは私を捨てるんだろうと」
いう思いを抱えながら過ごすつらい日々がくるという思いと

写真もない。
覚えているのは、あたたかいあの包まれる感覚だけ。

少し風に寒さを感じた時と、
寒い中に早咲きの桜をみた時に

思い出す。


あなたに出会えてよかった。


その時は、そんなことは、思いもできない。
どうして、出会ってしまったんだろう、出会わなければ、
あの時ああしなければ・・・・
こんなに苦しい思いをしなくても済んだのにと、思い続けた。

だけど、私の人生に輝きと幸せをくれた。


私の今でも、涙そうそう。