2007年10月アーカイブ

オスとメス

| コメント(2) | トラックバック(0)

当たり前の話だが、オスとメスを記号で表すと、♂と♀だ。

ただ自分の場合、♂の認識に若干タイムラグが発生する。
脳みその中で♀...じゃないから♂はオスだ!みたいな感じで1pass分入ってしまう。(まぁ、この間は非常に短い間で済んでしまうのだけれども。)

で、どーしてあの文字を見る度に、こんな回りくどい考え方をしてしまうのか?昨日寝る前に考えてみたんだ。そしたら思い当たる事柄が一つ。


オレが小6か中1の頃にやっていた初代ポケモンに出てくるモンスターの中で唯一♂♀の区別があった

nido.png
 ・ニドラン♂

こいつの外見が可愛くて、♀に遭遇するまでの約1ヶ月近く、ニドラン♂をメスだと勘違いしていた時期がオレにもありました(AA略。オレの中で多分原因はコレだという結論になりましたとさ。( 'Д`)-3


---
認識ネタでもう一つ。
更に右と左という言葉も一瞬で解釈できないという困ったクセを私は持っている。いきなり「右手上げて」といわれてもかなりの時間を要する。(これは♂の判定よりも自分の中では難しい。東西で表現した方がまだ分かり易い)
ぐぐってみたら結構こーゆう人が居る。これなんて症状?

コレも左じゃないからこっちは右だ!と考えてしまうのだが...んでコレの原因も昨日の夜考えてみたのだが...。

...やっぱり少しこっぱずかしいので、書くのは止めておこう(; ´Д`)
某親友は気づいてるかもしれない。

一つ確実に言えるのは"三つ子の魂100までも"ってことだろうか。昔の人はうまいこと言ったもんだなぁと思う。

TAKESAKO @ Yet another Cybozu Labs: [訂正] Webプログラミング実力アップ Part1 正しいPerl/CGIの書き方:ITproより

■ 問題点

module-starter を実行すると Unknown placeholder in Makefile.PL というエラーが出る。

やっぱオレの環境せいだけではなかったかぁー。

結膜炎

| コメント(0) | トラックバック(0)

なんか金曜から左目が痛かったので眼科に行ったら急性結膜炎だと言われた。

昔、プールとかで泳いでいた頃以来か。久々だ。


# あとFirefoxでmixi開くとえらいチカチカします。これなんて、いじめ?
# mixi.jp/img/header/2007halloween_64a0404d6b3f66bf26fd.swfがチカチカの原因っぽい。IEなら平気なんだろうか?

つ【local delicious
これ、いいわぁー。ただ唯一の不満を言うなら、クリックするたびに最小化っていうのはどーにかならんもんか。

#追記
こいつが常駐してるとwindowsが終了しないっぽいです(; ´Д`)

そーいえば先日のModule::Starter::PBPが動かなかった件だけど、実際に動かなくて困ってる人がこんな過疎ブログを見てるとは思えないので、せっかくだからCPANにbug報告とこの間作ったパッチを投げてみた。(拙い英語だが...。)

もしかしたら、そのうち修正されるかもしれない。

Module::Starter::Simpleの変更を追ってみると最新版の1.44が出たのがかなり最近なんだよねぇ。

この手のモジュールって一回入れたらあんま更新はせんだろうし、10/22以降にModule::Starter一式を入れてかつpluginをPBPにしてる人が困ってるという感じなのかなぁ...。

昨日紹介した「正しいPerl/CGIの書き方」を読んで自分でもモジュールを作ろうとしたのが、見事にはまった。

module-starter --module=My::Module
とかやっても、Unknown placeholder <MAIN PM FILE> in Makefile.PL と怒られてしまうのだ。

[とりあえず自分の環境]
- FreeBSD 5.4 レガシーでスマン
- Module::Starter::PBPをcpanシェルで普通にインストール。

とりあえず何がいかんのか調べた。が、google先生に聞いても特にそれっぽい記事が無し。同じような現象ではまってる人がいたのを確認できたぐらい。オレの環境がまずいのか?オレが悪いのか?

とりあえずこのままじゃ先にすすまんのでModule::Starter::PBPのソースを見てみる。

    131     $text =~ s{<([A-Z ]+)>}
    132               { $context_ref->{$1}
    133                 || die "Unknown placeholder <$1> in $rel_file_path\n"
    134               }xmseg;

エラーメッセージを見る限り、ここで死んでますな。この文を含んでいる関数:_load_and_expand_templateがどこで呼び出されてるのか見てみる。色々hitしたが、Makefile.PLの生成でこけているので以下の部分だろう。

     23 sub Makefile_PL_guts {
     24     my $self = shift;
     25     my %context = (
     26         'MAIN MODULE'  => shift,
     27         'MAIN PM FILE' => shift,
     28         'DATE'         => scalar localtime,
     29         'YEAR'         => $self->_thisyear(),
     30     );
     31     
     32     return $self->_load_and_expand_template('Makefile.PL', \%context);
     33 }

MAIN PM FILEがちゃんと定義されてるジャン、と思って試しにprintf STDERR $context{'MAIN MODULE'} . "\n";とやってdumpしてみたが中身が空でうまく渡ってないようだ。Makefile_PL_gutsをこのパッケージ内では呼んでないので継承元のModule::Starter::Simpleを見てみる

ドキュメントにはMakefile_PL_guts( $main_module, $main_pm_file )とでているが、実装見ると

sub Makefile_PL_guts {
    my $self = shift;
    my $main_module = shift;

    my $main_pm_file = $self->_module_to_pm_file($main_module);

$main_moduleから$main_pm_file求めとる? Σ(´Д`ι)
Makefile_PL_gutsを呼び出す側でも...

sub create_Makefile_PL {
    (略)
    $self->create_file( $fname, $self->Makefile_PL_guts($main_module) );
    $self->progress( "Created $fname" );

    return $output_file;
}

$main_moduleしか渡してないじゃん。
てなわけでModule::Starter::PBPの修正に入る。Makefileと同じく'MAIN PM FILE'を使用しているBuildの方も同様に直す。
とりあえずパッチを作ってみた。

# diff -u /usr/local/lib/perl5/site_perl/5.8.6/Module/Starter/PBP.pm.orig /usr/local/lib/perl5/site_perl/5.8.6/Module/Starter/PBP.pm

--- /usr/local/lib/perl5/site_perl/5.8.6/Module/Starter/PBP.pm.orig     Thu Oct 25 06:33:00 2007
+++ /usr/local/lib/perl5/site_perl/5.8.6/Module/Starter/PBP.pm  Thu Oct 25 10:35:14 2007
@@ -22,9 +22,10 @@

 sub Makefile_PL_guts {
     my $self = shift;
+    my $main_module = shift;
     my %context = (
-        'MAIN MODULE'  => shift,
-        'MAIN PM FILE' => shift,
+        'MAIN MODULE'  => $main_module,
+        'MAIN PM FILE' => $self->_module_to_pm_file($main_module),
         'DATE'         => scalar localtime,
         'YEAR'         => $self->_thisyear(),
     );
@@ -34,9 +35,10 @@

 sub Build_PL_guts {
     my $self = shift;
+    my $main_module = shift;
     my %context = (
-        'MAIN MODULE'  => shift,
-        'MAIN PM FILE' => shift,
+        'MAIN MODULE'  => $main_module,
+        'MAIN PM FILE' => $self->_module_to_pm_file($main_module),
         'DATE'         => scalar localtime,
         'YEAR'         => $self->_thisyear(),
     );

とりあえず、Buildまではいけた。
だが、今度はPerl::Criticがインストールできなくて....\(^o^)/

#4時間後の追記
Perl::Criticはportsからいれた。
その後、cpanシェル上でinstall Test::Perl::Criticとやったら今後は上手く入った。ついでにModule::Buildも入ってなかったのでついでに入れた。

よーやく
$ perl Build.PL
$ perl Build

までいったが、今度は

$ perl Build test

でコケる。Error: Global symbol "$VERSION" requires explicit package nameと言われるので、テンプレートの~/.module-starter/PBP/Module.pmを見たら
use version; $VERSION = qv('0.0.3');とあるのでこいつを
use version; our $VERSION = qv('0.0.3');に修正。

#use strict;の前にuse version;なら大丈夫かなぁと思ったが、Test::Perl::Criticが許さないようだ。


とにかく、漸くtestも全部通った。これでtest firstな環境完成。

#更に深追い
google code で Module::Starter::Simpleを調べてみたらVersion 1.38の頃にはMakefile_PL_guts($main_module, $main_pm_file);とmain_pm_file付きで呼んでいた

んで1.44にはMakefile_PL_guts($main_module)というインタフェースに変更されちゃってるけど、(Changesを見る限り、1.43_02 Wed Apr 25 09:37-Wed May 09 14:46 PDT 2007あたりなのだろうか?)これにModule-Starter-PBPが追いついてない感じなんだと思う。(最終更新0.0.3 Fri Feb 17 16:02:05 2006だしなぁ。)

MD5

| コメント(0) | トラックバック(0)

MD5は復号できる!?

MD5の復号はできないけど、Brute Force(総当たり)に弱いよねーという話。MD5の辞書DBがこんなに提供されているとは思わなかった。

ここまで来ると、単一の名詞や動詞等をパスワードにしてMD5で暗号化しても、もはや全く意味のない様なものに思える。


あと最近気になったもの
正しいPerl/CGIの書き方
これは素晴らしいチュートリアル。

HyperFlashという、なんか面白い機能を備えてるみたい。

SB700はHyperFlashをサポートする (北森瓦版)

あと気になるのはチップの発熱...。早く出てこないかなぁ。

ここで一句

| コメント(2) | トラックバック(0)

秋深し

  深夜に教授が

    エロトーク

# オレに振られるから困る

4:00~
電気のなかでもかなり好きな曲がロボットボイスでアレンジされてて良いね。というかコレをNHKでやっていたのが意外。

バイト先でスクレイピングをすることになりそうだ。

Javaでwebページの解析をしたら日が何回も沈みそうだし(というか、解析元のhtmlが汚くて読めねぇ( つД`))、言語は何でもいいらしいので、最近やたら見かけるperlのWeb::Scraper(ドキュメント)を使ってみることにした。

今日はそれのメモ。

まず、Web::Scraperに慣れるために題材はオレのソーシャルブックマーク一覧のページに右あるtagの名前と数を抜き出すことにする。

とりあえず、htmlの該当箇所の

<div id="sidebar" class="list"><div class="sidebar-inner">
<ul class="bundles">

	<li class="bundle fold"><h3 class="label"><span>tags</span></h3>
		<ul>
			<li><span>3</span> <a href="/Lyo/.htaccess">.htaccess</a></li>
			<li><span>6</span> <a href="/Lyo/.NET">.NET</a></li>
			<li><span>4</span> <a href="/Lyo/2006">2006</a></li>

(略)

class名がbundle foldのliに注目した。liからul, liと辿れば取得したいデータにたどり着ける。
Web::Scraperを使ってコレを表現すると以下のようになる。

use URI;
use Web::Scraper;
use YAML::Syck;

my $delicious_tag = scraper {
    process 'a',
            tag => 'TEXT';
    process 'span',
            bookmark_count => 'TEXT';
    result qw(tag bookmark_count);
};

my $delicious = scraper {
        process 'li.bundle > ul > li',
            'tags[]' => $delicious_tag;
        result "tags";
};

my $res = $delicious->scrape( URI->new(shift) );
print Dump($res);

process に渡す引数がミソかねぇ。li.bundle > ul > liと対象をCSSセレクタで絞って複数取得する。(tags[]の部分。[]で複数指定。コレがないと一個しか取ってきてくれない。)
ソースで言うと

			<li><span>3</span> <a href="/Lyo/.htaccess">.htaccess</a></li>
			<li><span>6</span> <a href="/Lyo/.NET">.NET</a></li>
			<li><span>4</span> <a href="/Lyo/2006">2006</a></li>

の部分。あとは複数個のliの中身の部分を$delicious の上($delicious_tag)で定義した内容で処理する。そこでaタグとspanタグに分解して、タグに囲まれてる部分を取得するような感じ。ちなみに当初はli.bundleやtags[]といった記法の意味が全然分からなかったのだが、元々このモジュールはrubyのscrAPIにインスパイアされて作られたそうなので、記法はscrAPIのドキュメントを見ろと言うことらしい。ドキュメントのsee alsoからscrAPI Cheat Sheetに飛べる。後はコレを見てがんがります。

実行
perl perl my_del.icio.us_tag.pl http://del.icio.us/Lyo

---
-
bookmark_count: 3
tag: .htaccess
-
bookmark_count: 6
tag: .NET
-
bookmark_count: 4
tag: 2006
(中略)
-
bookmark_count: "? "
tag: cloud
-
bookmark_count: "? "
tag: freq
-
bookmark_count: "? "
tag: 2
-
bookmark_count: "? "
tag: hide

おっと、一番下のtag optionsまで拾ってしまった。htmlは一体どうなっているのだろうか?
<li class="bundle fold options"><h3 class="label"><span>tag options</span></h3>
<ul>
<li><span>» </span>view as <a href="?settagview=cloud">cloud</a> | list</li>
<li><span>» </span>sort by alpha | <a href="?settagsort=freq">freq</a></li>

li.bundleと表現すると、bundleから始まるクラス名全てを拾ってしまうらしい。optionのところもtagsと同じ構造なのでクラス名をbundle foldで完全一致させなければならない。ソースを修正する。

use URI;
use Web::Scraper;
use YAML::Syck;

my $delicious_tag = scraper {
    process 'a',
            tag => 'TEXT';
    process 'span',
            bookmark_count => 'TEXT';
    result qw(tag bookmark_count);
};

my $delicious = scraper {
        process 'li[class="bundle fold"] > ul > li',
            'tags[]' => $delicious_tag;
        result "tags";
};

my $res = $delicious->scrape( URI->new(shift) );
print Dump($res);

先程のソースで実行した結果をdump_listに、修正したソースで実行した結果をdump_list2に流した後、diff -u dump_list dump_list2 | lv -c

+++ dump_list3  Fri Oct 19 18:16:22 2007
@@ -3338,15 +3338,3 @@
 -
   bookmark_count: 1
   tag: "ネタ"
--
-  bookmark_count: "? "
-  tag: cloud
--
-  bookmark_count: "? "
-  tag: freq
--
-  bookmark_count: "? "
-  tag: 2
--
-  bookmark_count: "? "
-  tag: hide

素晴らしい。余計な情報が全て消えた。

今回はソースを直に追ったが、正直コレはツライ。ブラウザがFirefoxなら、いちいち目で追わなくてもCSSセレクタを一発で表示してくれる「Firebug」か「Web Developer」を入れるべきだろう。

それにしても約20行のソースでココまで出来てしまうのがスゴイ。正に巨人の肩に乗ってるような感じ。

久々に低消費電力PCスレッドを見たんだけどwikiが超充実してきてる。GJと言わざるを得ない。

ばーっと流し読みした限りだと、相変わらずデスクトップならAthlon64 X2 BE系 + Geforce7050の組み合わせが最強みたい。最近BE2400が出たけど実測報告を見ると、BE2350とあまり変わらないようなので買うとしたらBE2400かなぁ。

そろそろ買ってしまいたいのだが...AMDの新チップセットがなんだかよさげなのでこれのベンチ報告が出てからにしようかなぁ。

(そういって来年まで買わないに一票)

---

黒伊集院、沢尻・亀田報道を語る

ボスざるが落ちると副ボスにはならずに群から消えるというくだりが深いねぇ...。世の中をうまく例えてると思う。


最近、昔のシューティングゲームのプレイ動画を見るのがちょっとしたマイブームになっている。色々なゲームタイトルで検索したが、中で特に異彩を放つ作品があった。

オレにはこの2つを組み合わせるという発想は出来ません。

困った困った。しかも痛いのが治療済みの歯なんだよねぇ。
6才頃に治療した歯で銀歯なんだけど、ガタが来てるのだろうか?

というか、奥歯全体が痛い気もする。この間の治療以来噛み合わせが悪くなったのだろうか?

---

歯医者に行った後、学費の振り込みをしてきた。もうこれ以上両親に負担をかけるつもりはない。絶対に卒業せんとなぁ。

#だいたい奨学金の返済額が200万、年金3年分をまだ払ってないので
#社会人1年目は約-250万からスタートということになる。もはー( ;´Д`)-3


あと1年ちょいで引っ越しをすることになるので、ちょっと近くの店で家具を見てきた。
引っ越しとは全然関係ないが、ウォーターベッドが凄くイイ!あんなベッドで寝れたらさぞかし気持ちいいだろうなぁ...。ただ、その分どえらく高い。そして場所をとる。けどいつか買って寝てみたいなぁ...。

歯が痛い...

| コメント(0) | トラックバック(0)

昨日辺りから左上の奥歯が痛い。
予約は月曜だし...今日一日痛みを我慢しなきゃいけないかと思うとえらい憂鬱です。(´Д`)

歯医者

| コメント(0) | トラックバック(0)

昨日、鏡で左下の親知らずにでっかい穴が空いてることに気づいた。黒っぽくなってるし、でっかい虫歯だーと急遽電話で予約を入れて今日の朝、行ってみたんですが...歯の形が崩れて、ただ変色してるだけでした。結局埋めて形を整えるためにちょっと削っておしまい。

絶対痛い思いするんだろーなぁーと身構えていたので拍子抜け。こんなんでいいんだろうか。

POEセッション内でデータの中身が見たいときに、無理やりソースの中でprint STDERR $hogehoge;
とかってやっていたんだけど不格好なのでちゃんと調べてみた。

cpanで検索してみた限りだとPOE::Component::LoggerPOE::Component::SimpleLog,POE::Component::Log4perlあたりを使うっぽい。

とりあえずマニュアルを見た感じPOE::Component::Loggerが分かりやすかったので、コレを使ってロギングすることにした。以下自己流概要。


use POE qw(Component::Server::TCP Component::Logger Sugar::Args);

POE::Component::Logger->spawn(
  ConfigFile => 'conf/controller_server_log.conf',
);

POE::Component::Server::TCP->new(
	Port => 50000,
(略)
);

POE::Kernel->run;


conf/controller_server_log.conf


# logs to screen (STDERR)
dispatchers = screen

[screen]
class = Log::Dispatch::Screen
min_level = info
stderr = 1
format = %d %m %n

あとは使いたい箇所でLogger->log($debug_message);とかってやれば画面にログを掃き出してくれる。
上記の書式設定だと
Wed Oct 10 20:06:00 2007 client conneted -> 192.168.1.8
Wed Oct 10 20:06:00 2007 send_data : island_registration:50000,50001,3000
Wed Oct 10 20:06:00 2007 client disconneted <- 192.168.1.8
みたいな感じで掃き出してくれる。

Javaのような考え方でテキトーにコーディングしてたらハマった...。
debugでコンパイルしたら動くのに、releaseだと何故かサーバと通信できない...。
構成をグリグリいじってみたら今度はdebugでも動かなくなり、頭の中が混乱した。
落ち着いてトレースしてみると、サーバに送るメッセージが送る段階でメチャクチャに壊れていた。

ちなみにサーバへ送信するメッセージを生成する部分は関数に分けている。
正直、テキトーに作った関数を載せるのが恥ずかしいが、やっぱり載せちゃう。

//サーバに送る登録メッセージを作成する。
char* make_regist_req(int island_server_port, int island_reply_port, int performance){
	char buf[128];
	sprintf_s(buf, sizeof(buf), "island_registration:%d,%d,%d\n", island_server_port, island_reply_port, performance);
	return buf;
}

研究用だしmallocじゃなく配列宣言でイイヤもう。とめんどくさがったのがまずかった。
改めて上のコードを見ると

kimoigirls_c.gif

な、感じなのだが、混乱してる最中は

  ( _, ,_)  < make_regist_req()の呼び出し元でbufが参照されてるじゃねぇかよぉぉー!
_(__つ/ ̄ ̄ ̄/_
  \/    ./

とマジで思ってた。どう考えてもヒープ脳でした。


今までの経験から考えてdebugで動いてreleaseで動かない場合はメモリー関連のエラーが多いねぇ。まぁ、debugの方も運良く動いてるだけの話なんだけれども。こーゆう煩わしさがないJavaはやっぱ楽だなぁとか思ってみたり。

#もうBoehm GC使っちゃいますか。

PC Watch [AMD、価格表に45Wのシングルコア「Athlon LE」を追加 ~Athlon 64 X2などを値下げ]より

Athlon X2 BEシリーズ   旧価格(ドル)   新価格(ドル)  値下げ幅
Athlon X2 BE-2400      -          104        -
Athlon X2 BE-2350     91          96        -5%
Athlon X2 BE-2300     86          91        -6%

ちょ、なんで狙っていたBE系だけ値上げなのぉぉ( つД`)

最近内定者関係のマイミクが増えてきたので自己紹介という形で。

●あなたの性格を一言!
優柔不断。いや、よく考えてるんですってば。

●薄い顔?濃い顔?
濃くはないなぁ。薄い方にはいるのかな。

●背はいくつ?
173か174cmだったような気がする。流石にもう伸びてません(´~`; )

●自分の体で嫌いなとこは?
んー、アレルギー持ちな鼻と中学以降急激に視力が落ちた目だろうか。

●あだなは?
よっちゃん が一番長いかなぁ。なんだかんだで高校までずーっとだったなぁ。最近内定者の間では風貌から(?)ハカセと呼ばれちゃってます。まだ修士にもなってないのですが。(´Д`; )

●男性の好きな髪型は?
んー、特にない!

●背は何センチから何センチの人が好き?
コレも特に意識したことがないなぁ。まぁでも背は近い方が好きかなぁ。

●趣味は?
パソコンは趣味通り越して日常になっちゃってるからなぁ。時間があればまた本来の趣味であるプラモ製作やりたい。

●特技は?
しゃっくり自由に止められます。(最短記録:1回)

●マイミクに会いたい人は?
基本的に会ったことがある人をマイミクにしているのでほとんど会ったことがあるんだよねぇ。まぁ、マイミクの中から選ぶとしたらやっぱり小中以降、会ってない面々かなぁ。

●淋しいと思うときは?
研究室で徹夜でコーディング。肉体的にも精神的にも結構効く。

●あなたが一番したいことは?
最近、研究やバイト先でしかプログラミングしてないから、たまには自分のためになんか作りたいね。

●あなたが今、一番気になることは?
研究。終わるんでしょうかコレ?( ;´Д`)

●今年、一番したいことは?
とりあえず研究を終わらせたい。

●ケンカした時、自分から謝れる?
んー、case by caseかなぁ。

●男女に友情はあり?なし?
あり

●理想を5つ
-綺麗な設計
-押下圧35gHHK
-電気を食わないGPU
-ニコニコ動画を見てないオレ
-早寝早起きをするオレ

●理想の人は出会っていますか?
高校の時ならsi、20の時に某nのメンバー達、及びバイト先の社員の方々に出会えたのは相当な財産になったと思う。多分これらの出会いがなかったらIT系の企業には就職してなかっただろうなぁ...。とにかく自分は技術的にはまだまだなのでもっと精進しないとなぁ。

●恋愛と結婚は別ですか?
恋愛の延長線上に結婚があるんじゃないかねぇ。

●バトンを回してきたあの人…正直この人って?
まだ2回ほどしか一緒に飲んでませんが、非常に快活な方です。体力に関して言えば余裕でオレが負けます。早起きが最近全然出来ない自分としては羨ましい。

●マイミクであなたを一番理解している人は誰ですか?
やっぱり0歳の時からのつき合いである親友かねぇ。次点は誰だろう?少なくとも「コイツは...」と半ば呆れ気味にオレのことを思ってる方は大分オレのことを理解してると思います!

●バトンタッチ☆(各項目3名以上で)
バトンは例のごとく握りつぶしました。
nodeではなく、leafにオレはなる!

--土曜日
塾講のバイトが終わった後、この日は高校の同期2人と飲んだ。二人とももう社会人だからオレだけなんかユルーリな生活してるなぁと思った。消防署に勤めてる彼の話が非常に面白かった。キーボードより重いモノを持った生活をしていないオレには絶対無理な世界です。

--日曜
この日は学祭の手伝い...というか院生onlyな出品団体のメンバーに入っているので10時集合しなければならないハズが寝過ごした(´Д`; ) Omg...

ジュース販売をしていたのですが、意外に濃ゆいジンジャエールがバカ売れ。あまりに勢い良く売れるのでオレも買おうかと思ったほど。今度駅前行ってきて買ってみようかしら。懐かしい面々にも結構会えた! 来年は絶対来客として参加したいところです。

2007_syuyousai.jpg
学祭終了時の花火の様子。

そーいえば...学部生時代も含めて5年間、学祭に真面目に参加したことがなかった。そーゆう意味では学部2年から研究室に引きこもってもったいないことをしたなぁと思う。最後の最後で出品者側で参加することが出来て良かった。なんだかんだでほとんどのセッティングをこなしてしまったM研の彼にはすごい感謝してます。

--
学祭が終わった後、家にUターンし、電車で2つ隣の駅へ。今度は中学のヤツらと飲んできました。
もはやお馴染みのメンバーなのだが、半分以上もう社会人なのでなかなか5人一同に会する機会がない。今調べてみたら今年の1/2以来だった。誰かが言ってたけど確かに中学の4人に会う度に日が経つのは早いなぁと感じる。多分、所帯持ちが1人いるから余計「もう、そういう歳なのか」と感じるんじゃなかろうか。

所帯持ちの彼の人生の進捗具合を100とするなら自分は3かもしれない。高校以降、ちょっとばかしディスプレイの見過ぎだったのかもしれない。分かりやすく中学時代に例えると、アイツは三平方の定理やってるのに対して未だにオレは正負の数学んでるような感じ。

すごい差だが、オレの心の中の仙道が
sendo.jpg
と言っています。

社会人になったらなんとかなるんじゃねぇの?とか気楽に考えていたりするのだが、最近飲み会でよく脅されるのでそのうち慌てるかもしれない。

余談だが、昨日親友に「中学の時に高校生になったら彼女作る。高校になったら、大学生になったら彼女作る。って いつになったら彼女作る気だ?」って突っ込まれた。正直、(∩゚д゚)アーアー聞こえなーい とやってしまいたかったが、いつものように「社会人になったら彼女作る」と返した。社会人は期間長いし、今度こそ(以下略


#ディスプレイを見なきゃイイって?殺す気か!(#゚Д゚)

--
飲んだ後はカラオケに行き、途中ビリヤードに変更した。生まれてこの方ビリヤードは初めてやったのだが、スゴイ面白かった。

---
#最近見つけたネタ

卵割り機とフタエ系の動画ばっかり見てた人にはツボすぎる動画。放送事故のくだりで死ぬかと思うほど笑った。


自称勇者が非常に格好良く思えるBGM

さっきからCいじったり、Perlいじったりしてて疲れたので休憩がてらに更新。とりあえず今日プログラミングしてて色々分かったことをメモ代わりに載せていく。


#開発環境編
-subversionであり得ないコミットをしてしまったとき(dir丸ごと削除とか)
Subversion メモ 以前のリビジョンに戻す (svn cat / svn merge)より

$ svn merge -r 303:302 http://svn.example.com/repos/calc/trunk
U  integer.c
$ svn commit -m "Undoing change committed in r303."

margeってこーゆう使い方も出来るのか。めもめも。

Tracと連携しているSubversionのリビジョンを戻す方法っていうのもあったけどリンク先でも指摘されているようにdbがぶっ壊れてるとか非常時でない限り多分marge使った方が安全。

#VC編
セキュリティ関係の警告(古い関数使ってんな関係)がいい加減煩わしく感じるようになったので_s系の関数で置き換えることにした。マニュアルをテキトーに見てた自分が悪いのだが、見事にこけた。調べてみたらすぐ見つかった

結局なんやねん! sscanf_sについてより
ただ,単純に"_s"を付ければいいわけではなく,キャラクタ等バッファサイズが不定のものは,受け付けるサイズを明示的に指定しないと強制終了してしまう.

%sフォーマットを指定したヤツは直後にサイズも教えてあげなきゃダメなのねぇ~。まぁ、脆弱性を克服してる関数だから当たり前と言っちゃ当たり前だが、呼び出し先がイチイチ指定してしなきゃいけないのがなんとも...Cの悲しい性かな。

それにしても指定しないと強制終了とか、ひどすぎる。実はsscanの前後に手を加えたマクロを置いておいたのでそっちが原因かと勘違いしてたorz


#Perl編
このクックブックが最高。色々なtipsが日本語で読める。「Data::Dumperを使って、DBIx::Classをデバッグする」とか「find_or_create が見付けたのか、列を作ったのかを知りたい?」とかタメになる情報が一杯。

DBIx::Classに大夫慣れてきた感じだけどこのO/R Mapper良すぎ。研究目的で現状10数テーブルを操作するアプリを作っているけど未だにSQLを一回も書かかずにここまできてます。

#おまけ

これはfuckと言われてもしょうがない。


すごい組み合わせ。ただ今超ヘビーローテーション中。

現在目がかすんでます。近視なのに近くのものも霞んで見える...。
あと瞳孔が開きまくった目(黒90%,茶10%)は怖い。

---
最近夜中に首を振るとやたら視界のハジッコが光るので原因は何だろうとネットで色々調べてみたら飛蚊症がhitして、読んでいくウチにガクブルしていたいたのですが
今日は思い切って眼科に行ってみた。曇りだし、おそらく眼底検査やられてもそう外は眩しくはないだろうという考えもあった。

とりあえず行ってきて分かったこと
- 視界のハジッコが光るのは飛蚊症ではなく、光視症。
- 目の中にゴミがある人は網膜剥離でなくても飛蚊症の症状が見られる。目の中のゴミは一生取ることは出来ない。
- 眼底検査の結果は問題なし。ただし、近視の人は網膜剥離を起こしやすいから年に1,2回は眼底検査を定期的に受けるのを推奨
- 視力が眼鏡を作った頃よりも0.2下がった。そろそろまた買い換えないとイカン
- ちなみに裸眼の視力は左0.1,右0.0いくつ...ぐらい。

とりあえず網膜に異常がないのが分かって良かった。原因箇所として視神経~脳の間のどこかで異常が起きてるんじゃ?と言われたけれど、若いので脳みそに異常が...と言う状態はあまり考えられないらしい。
おそらくストレスか疲れすぎだろうと言われた。

しばらく様子見て治らないようなら脳神経科に行きなさいと言われたのでしばらく言われるまま様子見。
これを機会にちゃんと早寝早起きする!

あとメガネどうしよう~。さらに度の強いメガネだとコンタクトの方が疲れにくいと言われてちょっと心が動いています。
けど眼球に直接レンズ入れるの怖えぇー((;;´Д`))

#眼底検査のあの眩しさはなんとかならんもんか。目の中に雷が落ちたようだ。

内定式

| コメント(0) | トラックバック(0)

なんと内定者が238人集まった!
大学の1学年の生徒数より多いよー。

名前覚えるのがえらい苦手なので顔と名前の対応付けに必死です。


とりあえず採用内定通知書ももらったし、あとは修了するのみ。明日からまた頑張ります( *´Д`)

冷えてきた

| コメント(0) | トラックバック(0)

よーやく寝苦しかった日々も終わるのかなー

個人的に秋とか冬って大好きなんだよねぇ。ぬくぬく寝れるのさいこー(´Д`*)
そんなわけで早くも以前購入した毛布(これ)を押入から出したのであった。

---
コカコーラが夏休みやっていたキャンペーンの締め切り日だったので急いでシール裏の番号をポチポチ入力したんだけど...

6枚中2枚当たった!
結構イイ感じに当たるなぁ...。夏休みの間は伊右衛門ではなく、コーラをもう少し飲んでおくべきだったかもしれん。そんなわけでどの曲を貰おうか迷い中。amazon見て決めるかなぁ。


#追記
#なんだかんだでコレが500目のエントリーだった。飽き症の自分としてはよく続いてる方だなぁ...。

このアーカイブについて

このページには、2007年10月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2007年9月です。

次のアーカイブは2007年11月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 7.9.3