投稿

1月, 2007の投稿を表示しています

Rails で OpenID

Railsの練習ってことで、各利用者さんにアカウント作ってもらって、自分用のリストみたいなのを編集してもらったりするサービスを作っているのですが。 いちいちユーザ登録なんてしてもらうの面倒くさいし、おいらが他人様のパスワードを預かるようなリスク背負ってまでサーブする気がないので、ここんところ省力化できないかと思ってまして。 例の openpass も、そんな俺みたいな人のために考えているんですけど。 で、このブラウザはこのユーザ名だ、とかいう、いわゆる識別 (Identify) だけをしたいんだけど、なんかいいのないかって見ていたら、 OpenidLoginGenerator という OpenID の機能を利用する gem package があるではありませんか。 やり方はマニュアルにあるとおりで、「 gem install openid_login_generator 」してパッケージをインストールして、Rails の作業ディレクトリで「 ./script/generate openid_login auth 」と generate かけて、作業ディレクトリ内にできる README_LOGIN にある方法で database の テーブル「user」を作ってください。 このコマンドだと authという名前の controller で OpenID 認証の機能ができます。 ユーザのアカウントの作成ですが、OpenIDの認証をやっているところの、たとえば videntity.org とかでアカウント作ってみてください。 たとえば私の識別として masaruyokoi.videntity.org とかいうのを作りました。 ってことで、これから作るサービスは OpenID 対応ってことで。 といか、OpenIDとかSAMLの調査、ぜんぜんやっていないな orz。 って、この作業記録をWikiに書きながらやっていたのですが、保存するの忘れて終了。。 orz

Rails だいぶわかってきた。

最初のうちはどこから調べ物をすればいいのかさっぱりワケ分からなかったのですが、どこからあたっていけばよいのかだいぶ分かりました。 というかライブラリのコードを斜め読みしながらでないとダメすね。 たとえばこんな感じに controller 部分は ApplicationController を継承していて、ApplicationController は ActionController::Base を継承していて、ActionController::Base は actionpack という gem に収録されている。 require 'rubygems' をして、 require_gems 'パッケージ名' をすることによって、 /usr/lib/ruby/gems/1.8/gems/ パッケージ名 /lib の中の .rb なスクリプトを読み込むって具合になっている。 Search Path をうまいことハンドルするかのような Cookie の読み込みは @cookies を参照するようにします。 @cookies は hash になっており value 側の取り扱いは、 @cookies['keyname'].value という具合にして value を取り出してね。 このやり方は cgi.rb でも同じ、というか cgi.rb のそれを引き継いでいるみたいで。 Cookieの焼きこみ (Set-Cookie側) は、関数 cookies を使いましょう。こんな書き方です。 cookies[:login] = { :value => "XJ-122", :expires => Time.now + 360}  実際の実装については、 ActionController::Cookies を見てね。 Model の部分でのDBへのアクセスですが、ActiveRecord って部分が担当しております。 いま調査中。 とりあえず、ここまでの調査などで、 はてな認証 で認証してもらって、はてなのユーザIDとかユーザ画像とかを取り出して、自分のドメインのクッキーに焼くぐらいのことができるようになりました。 いままでに分かったことは、プライベートなWikiにまとめて、あとでドカっと公

府中

イメージ
これから試験 (13:43) 坂道発進で逆走してしまい点数足りなくなって終了。 クランク・S字がおわっていたので、あとは方向転換だけだったのになぁ。

この一ヶ月を振り返る

この一ヶ月間、目的は休養ってことなのですが、じっとしていられない私の性格上、いろいろなお話などを聞く機会を設けるようにしていた。 ここに一応のことをまとめてみた。 各種インターネットサービスで「広告収益モデルで」と言う場合が多いのだが、なかなか広告収益モデルもそうは簡単に卸さんぞという具合だ。 最近だと Google AdSense によって個人のサイトに広告張って個人が広告収益を得ることができるのだが、これはGoogleが検索エンジンと広告配信システムを組み合わせたという革命的な組み合わせによってできたのであって、そもそも検索エンジンでクロールされないようなページでは Google AdSense なんて難しい。 んで最近言う「新しいサービス」というもののほとんどが、Web2.0でのマッシュアップみたいなものばかりなので。 んで、検索結果ページ用の広告というのも、あることはあるんだか、それなりのページビュー数・ユニークユーザー数がないと、広告配信業者は腰を動かさない。 広告主は広告に対して、広告を見た後の消費活動などの影響を期待して出稿するので、それなりの影響を受けるためには、それなりの広告への印象(インプレッション)が必要になり、それなりのページビュー数とユニークユーザー数が必要になる。 んで広告収益を必要とするならば、想定するページビュー数やユニークユーザー数などを見積もらなければならない、という意識が必要になる、という説明をしたり。 そういうところからも、何か新しいことをしたい人たちの仲間に入って、協力させていただけるところがイッパイあるんだなと実感。 というところでいくと、この2.5年間は無駄だったかどうかって考えると、まぁ無駄ではなかったのかもしれない。 コンピュータの技術者やりながら、広告業界の片隅で過ごさせていただいた身としては、いろいろな経済活動の一部を見せていただいたわけだし、今後の私の仕事に参考にさせていただくネタはイッパイ頂戴したと思う。 自分がフリーランスの技術者として働いた場合、履歴書+職務経歴書に書いてあるだけの内容で月オイクラ万円で使ってもらえますか、と調べてみたところ、まぁまぁそこそこな金額になった。 単純に月額×12で年間にもらえる額だけで計算すると、今の会社で働いている金額以上に貰えそう、ということだけはわかった。 今の会社の給

貨物船

イメージ
コンテナ積みまくり。 (14:54)

とりあえずできる、だけで Tutorial にされても困るわな。

まだRailsの書籍などを一通り目を当しているわけでないので、かなりごく一部だけ見て話をしていますが。 なんか、DBのモデルやらビューやらコントローラーがホゲホゲとかいうところだけ説明されているドキュメント類が多い気がするんですが。 たとえば view で使う rhtml でのが erb.rb で処理されているっていうことを知らなかったので、 <% ... %> と <%= ... %> の違いとか、これを処理する部分についての説明とかが文章で見当たらず、なんだか苦労しております。 結局、erb のパースエラーのメッセージを見て、erb という部分が処理しているのか、ということを理解。 本屋にでも行ってみて、適当な本を探してみます。

まったりとした週末

昨日は朝から青物横丁で打ち合わせしたり、そのまま大井町まで徒歩で移動してまた打ち合わせしたり。 疲れたので一旦帰宅して1時間ほど休んで、今度は六本木一丁目に打ち合わせに。 このハードスケジュールな移動っぷり、まるで営業マンだ。(笑) その後の晩御飯は3人で溜池山王あたりで飲んだり。 帰りは銀座線の渋谷行き最終→赤坂見附で乗り換え→丸の内線の新宿行き最終という具合だったのだが、連れてかえる人が赤坂見附でトイレ行ってますので横井さん先行っていてください、ってことで先に行ったのだが、横井の乗った電車が新宿行き最終列車で、彼はどうしたのだろう。。。 月曜日にでも詳細聞いてみますか。 2件はしごして3人で全部で1万円だったので、一人約3千円コース。 2件目の1品500円のお店は雰囲気よく値段もお手ごろでよい感じでした。 土曜日は超マッタリと。 夕方までフラフラフラっとして、プクプクとインターネットやったり適当に晩御飯食べたり。 ジムに行こうかと思ったが、出るのが面倒になり、まだ家から一歩も外に出ないで、気づいたら夜中の0時過ぎていますし。(笑) 休み中にやろうと思っていた Rails を使いながらのアプリケーションの開発がまったく進んでいなかったので、ちまちまと作り始めました。

宴会

イメージ
みんなが来るの待っているところ。 (20:42)

ディレクトリの深さと open|close のパフォーマンスの違いに因果関係があるの かどうかの調査

どこかから coss の調査してみてはどうよ、といわれたのでちまちま調べることにしてみました。 HTTPなどのキャッシュサーバとして用いられている squid に、coss (Cyclic Object storage system) というキャッシュの記憶機構がついており、これのパフォーマンスが良いのって本当かよとか yamazさんのところで語られている のですが、この文章のなかにこんなやり取りが xxxxx : 3年ぐらい前、apacheをプロファイリングしたら、select()の次にopen()がコストを食ってました。で、そのときは、open("/home/xxxx/hoge/hoge/hoge.gif") とかしたとき、/home, /home/xxxx,...のディレクトリファイルを読みに行って、そこでDISK IOが詰まってるんじゃないか?と思ってました。 yamaz : なかなか説得力あるなw これのなかの、そもそもディレクトリ階層的に深いところにあるとパフォーマンス落ちるのかどうかを調べてました。 対象のシステムは FedoraCore6 (Linux kernel 2.6.18-1.2798.fc6) というものです。 まずは、こんなPerlスクリプトでディレクトリを適当に掘ってみました。 #!/usr/bin/perl use Digest::MD5; # set dirname entries my @dirnames; my $depth = 10; my $num_in_dir = 3; for (my $i = 0; $i < $num_in_dir; $i ++) { push(@dirnames, $i); } mkdir ("./nest"); make_nest_dir("./nest", $depth); sub make_nest_dir ($$) { my $curdir = shift; my $curnestnum = shift; $curnestnum -= 1; if ($curnestnum) { foreach my $each (@dirnames) { my $dir_mk = "$curdir/$each"; if (

FedoreCore6にしてみた

昨日(厳密には一昨日)貰ったサーバに、CentOS 4.4 でなく FedoraCore 6 x86_64 をインストールしてみました。 インストール時のRPMパッケージを入れるときに、なぜか1枚目のCD-ROMからパッケージを取り出せずリトライしまくっていました。 インストーラの裏側でうごいている shell で mkdir /tmp/cdrom ; mount /dev/hda /tmp/cdrom とかやった後に rpm パッケージのインストールの再開をしてみたところ、すんなりといきました。 最小構成にしていたので、 FedoraCore のインストールCDの6枚中1〜3枚で終わりました。 インストール後に yum update とかやってみたら、すげー量のパッケージのヘッダとってきて、こんなことに Transaction Summary ============================================================================= Install 10 Package(s) Update 380 Package(s) Remove 0 Package(s) Total download size: 533 M Is this ok [y/N]: 速攻でNを選択。(笑) Firefox とか Gnome とか入りまくっていたので削除する方向で。 ある程度きれいになってからアップグレードかけてみます。 削除するパッケージを選択するのに、いちいちコンソールでコピペするのも過酷なので、下のようなコマンド使ってインストールされている rpm パッケージの一覧を取り出して、消したいパッケージだけファイル内のリストに残していくって感じで消していきます。 rpm -qa --queryformat '%{name}-%{version}-%{release}.%{arch}n' > list この中の --queryformat ですが、rpm package のリストを出力させるときの書式が指定できます。 この場合、名前・バージョン・リリース番号.アーキテクチャ な形式で。 というか、rpmって同一名で違うアーキテクチャのパッケージが入るようになっているのね、

もう一台の Dell SC430

イメージ
某所に Dell の祭りのときに購入したものの未開封なままの SC430 があると聞きつけ、頂に行きました。 開封して確認したら、標準ではメモリ256MBなのに512MB構成になっていました。 メモリ増設せずにすみそうです。ニヤリ その日の晩のうちに CentOS 4.4 x86_64 の ServerCD からインストールしました。 現状では問題なく動いている感じ。 Debian入れたかったのですが、また S-ATA の認識のところでうまく動かない風味だったのであきらめました。

ジョナサン

イメージ
駄弁るためにジョナサンへ。 ドリンクバーといちごパフェを注文。

C#でも勉強してみるか

イメージ
これまでずっとマイクロソフトの開発ツールから縁遠い世界にいたのですが、そろそろ勉強しないとね、と思い、まずは C#から入ってみることにしました。 汐留のメディアタワーの中にある八重洲ブックセンターが閉店セールで、文具が半額という噂を聞いて、ついでに糊とかバインダーとか購入していました。

第71回カーネル読書会 CC-Optimizer

横浜Linuxユーザグループ のカーネル読書会が新橋・汐留のミラクル・リナックスさんで開催されたので参加しました。 看板はカーネル読書会ですが、今回のお題はカーネルでなく PostgreSQL の CC optimizer について。 BOというデータベースでの SELECT時のコードがCPUのL1キャッシュに乗り切らないときに、L1キャッシュに乗るサイズに分けてみたらキャッシュヒットして早くなる、という賢い実装があるのだが、すべての場合にBOが有効というわけではないため、BOが有効と思われる状況の場合にBOを使うように optimizer を組む、ということだそうです。(ん、なんかかなりいい加減な説明だ) そもそもBOの実装のソースコードが公開されていないそうで、論文「Buffering databse operations for enhanced instruction cache performance」を参考にして実装されたんだそうで。 現状のPostgreSQLの変更量としてはコメント含めて300行ぐらいで、実時間でチューニング具合を測定してみたところ、最大で3割早くなったとかのレポートがあったりしたのですが、「CPUのL1キャッシュヒットとかの話ならば vtune などを使って測定したほうが、速くなった本当の原因をつかめるかもね」「ある程度実装できたら、学会や発表会などに出て行って、いろいろな人たちの目の当たりになる場所に出したりオープンソースにして、どんどん広げてよ」「300行の改良で、ピークで3割良くなったっていうのはすばらしい」などの意見がありました。 その後のピザ+ビールを飲みながらの時には、マルチスレッドのときのL1キャッシュのヒットとかってどうなのよ、とか、「いまどきのファイルシステムって journal 持っているんだから、あとは write さえ速ければ、RDBMS内での非同期IOとか苦労がいらなくなるの?」とかの技術話で盛り上がっていました。 今後の予定では TOMOYO Linux や RT Linux についてのお話がありそうです。

昼ご飯

イメージ
カレー (14:14)

東京ミッドタウン

イメージ
フラフラっと。 (13:06)

自分の実績

こんな身分でもありますので、それなりに次の職場どうするっていうことについては動いているわけであります。 って、元上司や現上司、同僚が見ているところで堂々と書く俺もオレですけど。 現職と前職で何をしてきたのかなんていうのを、職務経歴書にまとめたり、どれがどれだけ凄かったかなんていうところを説明するとかでいくと、前職の仕事は期間が4年あったためかバラエティに富んでいるなと思いました。 現職はどちらかというと、2つぐらいの期間にわかれて、同じようなことの繰り返しの感じでした、といったほうが良いのかもしれません。 っと書くと現職の2.5年は無駄だったのか、というとそんなことは決してなく、いろいろと貴重な経験はさせていただいたのですけど、全体的にマッタリ気味だったと思うんです。 ただ、今までの仕事で「凄かったのです」というのを簡単に説明するのに便利な案件は、前職のほうが多かった。 「X Window System の changelog に名前が載っています」「雑誌で連載持っていました」とか、「詳細はググって調べてね」って言い捨てれるほどに文章にしやすい内容が多いんですよね。。 これからのキャリアパスも考えていかねばならないのですが、何が得られて何を生産できそうか、どんな実績となって、それを上手に説明する方法を考える、っていうのが、転職時とかには必要なのかな、と思った次第です。

今日一日

イメージ
お昼より少し前ぐらいに、渋谷区スポーツセンターへ運動しに。 今日は珍しくスタジオプログラムを開催するとかで、スクワット→腕立て→腹筋→背筋→走りこみ→休憩を30秒ずつ行うとかいうのに参加。 大塚製薬さんの販促キャンペーンだと思うのですが、 アミノバリュー もらいました。 最近は1リッターのペットボトルにVAAM粉末を溶かして持参しているのですが、次はアミノバリュー買ってみようかと心動かされています。(笑) 運動の後には、いつものガソリンスタンドに行って給油→掃除機→エアクリーナー交換。 前回のエアクリーナー交換から1万キロ以上走っていて、前回クルマ屋の点検で交換しない?って言われたので、買い置きしてあった AUTO EXE のエアクリーナーを装着しました。 フィルタ交換して、エンジンがスンスンまわるようになった感じ(・∀・)。 そのまま勢いあまって奥多摩まで。 中央道八王子→滝山街道→睦橋通り→武蔵五日市→檜原街道→都民の森。 都民の森のお土産屋さんでこんにゃくが150円で売っていたので、ためしに買ってみることに。 奥多摩の特産物はこんにゃく芋か?と思うぐらいに、この界隈ってこんにゃく多いですよね。 家に帰って開封して、一つ生なまま食べてみたのですが、おいしかったです。(・∀・) その後、奥多摩周遊道路で青梅街道に出て、奥多摩駅近くの「もえぎの湯」へ。 入場料2時間750円と、ちと割高。 露天風呂が塩素臭くってなぜだろうとおもっていて、帰りに写真にあるような看板を発見。 露天風呂は普通の循環式のお風呂だったのね。 内湯はぬるぬるした感じがして、これはこれでよかったです。 帰りは福生あたりで晩御飯たべて、いつものように中央道石川SAで一休みのつもりが、ちょこっと睡眠。 21時ごろにおきて、NHKのGoogleの番組をサービスエリアのテレビで見て、あとは車の中でも音を聞きながら帰宅。

湯上がり

イメージ
柚子ソフトクリーム うま〜 (18:29)

温泉♪

イメージ
もえぎの湯。奥多摩の4温泉、すべて制覇! (17:52)

橋を渡り終わったところ

イメージ
ドラム缶ではなく、きちんとした浮き橋でした。(笑) (17:03)

ドラム缶橋

イメージ
いまから渡ってみます。 (16:58)

奥多摩周遊道路

イメージ
雪降ったみたいです。 雪の上でアクセルターンして遊んでいました。(笑) (16:35)

都民の森

イメージ
スイスイっとやって来ました (16:14)

中央道石川

イメージ
ランチ食べたところ。奥多摩でも行ってきます! (15:02)

エアクリ交換

イメージ
買い置きしてあったエアクリと交換 (14:08)

20日はジャスコの日

イメージ
ということを思い出して品川シーサイドのイオン。 マッサージチェアで昇天中。 (21:14) パソコンで作業していると足元寒いので、3千円のセラミックヒーター購入。 暖かくっていい感じ。

初台→大井町→大手町

昼過ぎから所用のため大井町。 家を出発するのが少し遅かったので、富豪的に新宿から埼京線→りんかい線に入る新木場行き電車にのって、大崎→大井町200円の超高額コースで大井町入り。 大井町に来たのって武蔵小山に住んでいたとき以来で、超久しぶり。 用件が15時ごろに終わって時間つぶしに大井町丸井の中のマクドナルドの100円コーヒーで3時間粘ることに。(笑) なんか ruby の openssl の使い方まずい気がしてきたので調査中。 メッセンジャーのステータスを「マクド」にしていたら、メガマック100円のクーポン券もらったけど1日限定30食な店舗なため使うことできず、なんていうネタがやってきたりw 19時からOBII合宿の課題の中間報告会 のために大手町へ。 大井町と大手町、紛らわしい。 ミーティング会場が18:30から入れるってことなので、18時ごろに大井町出発します。 19時から発表会。 前回の合宿以降の進捗で、内容としてはこんな感じのレポートでした。 Single Sign On SAMLの実装の調査をしていました。 実装の一つに zxid があったのですが、ビルドするのに難航して、なんとかビルドできたところ。 今後動作を追いながらプロトコル理解を。 Oracle 10g や WebLogic などでSAML対応しているとかあるので、各種ベンダー製品でのSAML普及は高いのかもしれない。 となると、どこかに詳しい人いるはずなので、ぜひ勉強会をしていただきたい。 そもそもSAMLでいいの?っていう議論が、まだできない状況です。。 Aggrigation Plagger そのものの理解中→インストールテスト OpenPNEに対応できると、津々浦々のSNSでの日記などの書き込みをかき集めて、ワンストップで閲覧できそうですね。 そーいえばPlaggerをASPにしているところって、見ないですね。 そんなのやったら既得権益やページビューの分け前などの問題で、またつつかれそうですよね。 ってことで、今後のこのプロジェクトの報告は OBII openpass の blog で行っていこうと思います。 SAMLに興味ある方、ぜひ横井 (masaru at masaru.org) までお声がけいただきたく。

ランニング

イメージ
中野通りで折り返し。 (22:59)

大型自動車練習2時間目

今日も大型自動車の練習してきましたよ。 場内の曲がるところで内輪差で引っ掛けることはなくなりました。ニヤリ。 今日はS字とクランク。 トラックって運転席がオーバーハングな位置にあるので、前方が乗用車の感覚に比べて遥かに空いていて、S字を曲がっているときにクルマの前端が縁石上にきたときに教官が「ドア開けて確認してください」ってことで確認したところ、縁石とタイヤの間が1メートル近く余裕があるって感じ。 クランクはチンタラと難なく通過。 次回は試験前の29日に予約。

zxid-0.7 がビルドできない件

ちょっと業務連絡。 SAMLのライブラリの zxid の perlモジュールの Net::SAML が undefined symbol で動かなかった件ですが、下記のパッチを zxid-0.7 の Makefile にあててください。 --- ../orig/zxid-0.7/Makefile 2006-10-15 14:39:11.000000000 +0900 +++ zxid-0.7/Makefile 2007-01-18 13:07:19.868345950 +0900 @@ -119,8 +119,8 @@ ### can look, but should not edit). ### -ZXID_LIB_OBJ=zxidsso.o zxidslo.o zxidmk.o zxidlib.o zxidmeta.o -ZX_OBJ=zxlib.o zxutil.o zxsig.o c/license.o c/zx-attrs.o c/zx-elems.o +ZXID_LIB_OBJ=zxidsso.o zxidslo.o zxidmk.o zxidlib.o zxidmeta.o zxutil.o +ZX_OBJ=zxlib.o zxsig.o c/license.o c/zx-attrs.o c/zx-elems.o WSF_OBJ= ifeq ($(PULVER),1)

武蔵小金井

イメージ
中央線の新型車 (13:04)

大型車

イメージ
練習します。 (11:43) 練習する車両はいすゞフォワード。 全長7.4m幅2.3m内輪差1.4mとかで、普通の乗用車より大きく回らないと縁石ひっかけます。 空気圧ブレーキがなかなか難しいです。 コースをグルグル→坂道発進まで練習しました。 翌日は17:50から予約済みで、たぶんS字クランク・後退などの練習でしょう。 3〜4回練習してみることにします。 一回の練習代が7,350円。 たまには電車で移動しようと思い、京王線で調布まで。 通勤快速が初台でやってきたので乗り換えなし。 帰りはスクールバスの武蔵小金井行きがあったので、JRで帰宅。

Debian Sarge の Ruby 1.8.4 で AES256 の decrypt に失敗するんだけどなぜ。

共通鍵暗号使ってデータの encrypt/decrypt をしたくって、AES256使おうと思って調べていて、 Ruby リファレンスマニュアルのOpenSSL::Cipher::Cipherの部分 を参考にして書いてみたところ、このテストコードすらうまく動かないのですが、なぜ。。 #!/usr/bin/ruby require 'openssl' c1 = OpenSSL::Cipher::Cipher.new("AES256") c2 = OpenSSL::Cipher::Cipher.new("AES-256-CBC") pass = "open sesame!" data = "Hello world!" c1.pkcs5_keyivgen(pass) s1 = c1.encrypt.update(data) + c1.final c2.pkcs5_keyivgen(pass) s2 = c2.decrypt.update(s1) + c2.final p(data == s2) #=> true 実行結果はこんな感じ $ ruby ./openssltest.rb ./openssltest.rb:11:in `final': bad decrypt (OpenSSL::CipherError) from ./openssltest.rb:11 ちなみに Triple DES のサンプルコードのほうはうまく動いたんだよな。 なんかRuby側の暗号化ライブラリって、IDEAがよいもの見つからず、AESだとdecryptできず、いまさらTriple DESなんて使いたくないし、と、袋小路に突入中。 PerlのOpenSSLライブラリでも同じこと起きるかチェックしてみますが、今日はもう寝ます。

今日の行動

朝は10時から環七まで走りに。 往復で36分で昨日よりかは心拍数が抑えられている感じですが、分間200とかになっているので、なんとかせねば。 しばらくトレーニング重ねないとダメすかね。 その後はちと休憩して、大型自動車の試験の練習の申し込みをするために、府中の大和自動車教習所へ。 入校金10,500円と1回の練習代の7,350円を払ってきました。 予約は明日の11:50から。 それにしても足の筋肉痛すぎ。 腿の前部の内側の筋肉、っていうと場所が通じるのかなぁ。 ちょうどバイクの自動車教習所での練習のときに、ニーグリップで内股が筋肉痛になるかと思うのですが、その筋肉から下の位置の筋肉。 最近、横腹のブヨブヨぜい肉が減った気がするのですが、体重が若干増えています、筋肉付けすぎか?

ADSLのルータ越えしてSSH接続していると切れてしまう問題

イメージ
ADSLのルータを超えてSSH接続していて、無通信な状態が一定以上続くと接続がきられてしまう問題があって、ルーターのNAT無通信切断機能のタイマーを調整するとかして対応することもできるのですが、今回は ssh client 側でなんとかしてみました。 PuTTYの場合は、設定の[接続]の部分で「セッションをアクティブに保つためのnullパケットの送信」のところの「Keepalives間の秒数」のところに適当な時間を秒数で指定します。 うちでは60秒間にしています。 NATの無通信のタイマーなんて数十分ぐらいに設定されているんだろう、とか、勝手に予想しての値ですが。 んで、OpenSSHの場合どうやんるんだって調べたところ、 ServerAliveInterval という ssh client オプションがあるので、ここで秒数を指定すればよいみたいです。  ~/.ssh/config に以下のような内容を書きました。 ServerAliveInterval 60 SSH でログインして放置していたら、ターミナルがだんまりして困ったなんていう方、ぜひお試しください。

ジョギング3.5km

午前中はちと運動しようなんて思って、環七までジョギング。 といっても半分ぐらい歩いていましたが。 knakaさんから貰った心拍数計をつけていたら、心拍数200とか出たのですが危険ですよね。(笑)
そっか、ソニーの再建のためにソニプラが売却されたんでしたよね。 でも名前があまりにも安直ですよw 電化製品のソニーが雑貨屋さん始めるなんていうところが、当時のソニーってワクワクしていた会社だったのだなって思うんです。 日米の貿易摩擦が話題になりそうだったころに対応策として、USから冷蔵庫輸入して販売した、とか、ちょっと気の利いた商売を昔のソニーはやっていたみたいで。 でもなんで雑貨屋始めたんだろうなぁ。。(笑) ビジネスチャンスはどこに有るのかわからないけど、どこにでもあるんだよ、ってうことを、ソニープラザが証明してくれていたように思っています。

またクルマ屋

イメージ
半年点検3千円って言葉に釣られて点検中 (15:05) 吸気のエアフィルタとエアコンのエアフィルタ交換しない?っていってきたので、エアコンのエアフィルタだけ交換。 吸気のエアフィルタはずーっとまえにスーパーオートバックスで買い置きしておいたのがあるので、そろそろ交換かな。 前回の交換が走行距離 26,000km の時で、現在38,000kmなので、そろそろ交換しようかな、どうしようかな。 クルマ屋のあとは、ぷらぷらと環七を南下して国道一号沿いの島忠へ。 低反発クッション590円とかいうのを購入。 その後羽田空港→お台場とか経由して、近所のOKストアで食料買い込んで帰宅。

メガマック

イメージ
正直食べづらい(笑) (15:38)

RJ-45 かしめ工具

イメージ
家で使っている Ethernet のケーブルのコネクタのつめの部分が折れたので、RJ-45コネクタとかしめ工具を購入。 3千円ぐらいでした。

また作業場整備

イメージ
机の上にモニタ2枚では机が狭かったので、隣にワイヤーシェルフをもってきて、そこにモニタ1枚を設置。 机の上が広くなりました。 場所の関係で、PCがベッドの真横になってしまったw

計算式認証っていうのはどうよ

Captcha とかで画像認証させる方法をチラチラと考えていたのだが、画像認証の場合の最大の弱点として、視力に問題ある人の場合、判読できなくなるなんていうことがありえる。 画像認証入れた理由のひとつに、ロボットと呼ばれる自動処理をするプログラムが、たとえばどこかのユーザ登録のIDを大量に取得させるためにロボットを走らせたり、あっちこっちに同時多発的にSPAMなコメントを書く場合などの対抗手段とされる場合がある。 ノイズの入った画像で自動解析しづらいけど人間なら読める程度、ならば、ロボットが自動で走れなくなるだろうっという考え。 でもこの画像が人間でも読めない場合があると。 ってことで、これの対応策として、簡単な四則演算の式を出すって言うのはいかがでしょう? たとえば「3×9は?」って感じのフォームを出すようにして、それを人間が解答するって具合。 割り算とかだと小数点以下が出てくるのでチト考え物ですが、たとえばうちの日記の場合、九九が分からんような人に突っ込んでいただく必要性をまったく感じないので。 数字の部分を全角数字とか漢数字とかにしておけば、しばらくは洋モノ(非日本語圏)のロボットのコメントスパムとかには対応できるでしょう、きっと。 ただ日本人ががんばって正規表現とか書き始めたら一瞬で終わるな(笑)。

画像認証の実験

画像認証のCaptchaをやってみた。 やり方としては Perl の Authen::Captcha で画像作って、その文字に書いてある値の MD5 Digest と、実際の人間様が入力したものを照合するって具合。 それほど難しくなかった。

コメントスパム対策

そろそろまじめに日記のコメントスパム対策したいな、と思って。 画像認証とか入れてみるのはいかがだろうかと考え中。

調布のマック

イメージ
マッタリ中。 コーヒーのオカワリもできるすごい店。 (17:53)

大型自動車運転免許

イメージ
まずは試験の予約をということで、府中の試験場へ。 カーナビで「ふちゅうしけんじょう」と入れても出てこないので、電話番号から入力。 やたらに長い名前が出てきたのですが、よく覚えていません。 東京都の印紙を5千円分近く買って、試験のときに1100円の印紙払うって具合みたいです。 んで予約が30日になったので、30日にまた府中の試験場に行きます。

調布飛行場

イメージ
マッタリしてる (16:15) セスナ機もありました。

オフィス山崎

イメージ
でかいモニターがあります。 (21:36) こんな感じに、ノートパソコンもSynergy使って真ん中のPCのキーボードで操作できるようになっています。

大型自動車運転免許

大型自動車運転免許を取得すべく、まずは府中の試験場に電話してみたところ、試験は試験場へ行って予約が必要だから予約しに来てね、ってことだった。 ってことで明日は朝早起きして府中に行くか。 渋谷の啓文堂で スピード合格!大型自動車免許の取り方(長 信一) とかいう本を購入。 本を読んでいる分には、それほど難しくなさそうなのですけど、どうなのでしょう。

Debian入れての独り言

イメージ
realpath って realpath ってパッケージに入っているのか。ってことで apt-get。 uim-gtk2.0っていうの入れると、gtk-2.0 使っているアプリで入力できる。いい感じ。 synergyc って gdm のところでログインしたあとに、また起動しなければいけないのか。 昔の gnome control center ってなくなっちゃったの? 言語の locale の設定って /etc/environment にあるのね。 ってことで LANG=ja_JP.UTF-8 と LC_TIME=C にしてみた。 共通鍵暗号で IDEA を使いたいときにには perl なら Crypt::IDEA つかうとよいのですね。 blocksizeの8バイトずつを encrypt していて、base64とかで出力させていい感じ。 某所でつかっているbase64の変形物を使いたいのですが、どっかで同じような機能もったライブラリとか提供していてくれたりしないんですかね。 SSH client で poderosa 使っているのですが、ssh private key 使っているとまれに「ハンドルが無効です」とかいうエラー出るんだけど。 原因追っかけるの面倒なので放置。 VLゴシック を使ってみた。MS ゴシックだといまいちやる気が出てこないので。 PuTTY の encoding を UTF-8 にしているのでチルダも波のほうで出てくる。 ウッシッシ。

作業場構築

イメージ
 弊社作業場というかPC周りのセッティングなどを行ってみた。 左側にあるのがノートパソコン、真ん中が Dell SC430 に Windows XP を入れたもの、右側が Pentium 3 1200MHz の低速マシンに Debian の Gnome が入った環境という具合。 右側と中央のモニタのPCには Synergy がインストールされていて、中央モニタのところにあるキーボードとマウス(トラックボール)がWindowsのPCに繋がっており、このキーボード+マウスでそのまま Linux 側のPCも操作できるって具合。 KVMスイッチを使って一つのキーボード+マウスを切り替えていたのが、そのキーボード・マウスがTCP/IP上で共有できるようになったという具合。 複数のPCを一つの机でお使いな方は、ぜひお試しあれ。 中央で使っているキーボードですが、いろいろと検討した結果、HHK Lite になりました。 自宅机なのでそれほど広くないので、Microsoft Natural Keyboard がチト大きく感じたのと、Kinesis Ergo を修理に出していないのでコレを修理に出さないと、って感じ。 マウスは Kensington のトラックボール。 右側のPCのモニターが SVGA (1024x768) で、ちと SXGA (1280x1024) ぐらいの液晶モニターがほしいところ。 新品買ってホゲホゲって気がしないので、どなたか譲ってくれませんかね。 できれば DVI 入力ついているの希望。

OBII合宿に参加しました

大手町ビジネスイノベーションインスティテュート (略称:OBII)の合宿に行きました。 年末のRTCカンファレンス のときにアナウンスがあり、前回の合宿時の成果では comatta.jp がローンチされたなどがあり、何か新しいもの作れるかもと淡い期待をして参加しました。 場所は静岡県伊東市の 山喜旅館 で参加者は延べ19人ぐらいだったと思います。 先日のRTCカンファレンスでご一緒させていただいた方が一人ご参加されていました。 一日目は16時集合で自己紹介など、なのですが、横井は渋滞に巻き込まれて、まだその時間には熱海あたりでした。 行きの経路は、初台→山手通り→246→環八→第三京浜→横浜新道→国道1号→新湘南バイパス→国道134→平塚市内の裏道→西湘バイパス→国府津の西湘SAで休憩→西湘バイパス→国道135→熱海ビーチライン→国道135で伊東。 18:30から晩御飯でアルコールつき。 20:30ごろに晩御飯が終わり、ミーティング開始。 どんなサービスを作りたいかということで、テーマが4つに分けられ、横井は「ID・与信・決済」の課題に。 同じ課題に参加したメンバーは横井を含めて4人で、3人が技術者だった。 ほかのテーマでは技術者がいない場合もあったりと。 問題点としては、複数のSNSなどのサイトを渡り歩くときに、いちいちIDとパスワードの発行したりしなければならず面倒なので、一括して使えるSSO環境があるといいよね、というのと、インターネットの利用者の与信って大変だよね、っていうところが問題点としてあがりました。 いろいろと調べたところ、SSOにおいてはSAML(Security Assertion Markup Language)というのがあるということだったので、SAMLの勉強しましょうということに。 二日目は8:30から朝ご飯。 サービスの4Pなどをまとめたり、これを実施するのにどのぐらいのコストやスケジュールでいきたいかなどをまとめて発表する時間に。 途中にランチなどをはさんで16時ごろまでやっていました。 参加しての感想ですが、参加されていた方の顔ぶれとしては、某大手通信事業者にお勤めな方、地方の新聞社さんにお勤めなかた、某コンサル会社の方、某商社でアパレルのECサイトをされている方、個人で活動されている方、などなど、大きい企業にお勤めな方から、いわゆ

大磯PA

イメージ
人なつっこい猫 (17:31)

終了

イメージ
お疲れ様でした。 (15:44)

昼ご飯

イメージ
お弁当 (12:12)

会費

イメージ
会費払ったところ。 (12:05)

OBII合宿2日目

朝9時からミーティング中。(10:14) 10時から企画の4P (Product, Price, Promotion, Place) の発表中。10:35現在で4つ中の2つ目が発表中。

ミーティング

イメージ
終わった (01:22)

舟盛り

イメージ
来ました。 (18:48)

晩御飯

イメージ
開始 (18:38)

OBII合宿

途中の西湘バイパスとか小田原の早川あたりで渋滞には待ったりして、1710ごろに伊東の山喜旅館に到着。参加者17人ぐらい。いま自己紹介とか。(18時ごろ) 2030ごろに飯完了→議論→2200ごろから各テーマごとに分かれて議論→23時から発表、ネタは「ID認証、与信、決済」「セカンドライフ」「モバイルQ&Aシステム」「イベントのお招き」→まだ継続中。酔いは覚めましたw (23:50)

国府津

イメージ
伊豆に向かっています。 (15:01)