僕ト云フ事

僕ト云フ事

たろマークはてなブックマーク

2008年08月11日

[lazy people][富士山]富士山登ってきたよ!

日々少しずつ書いていたら一週間たってしまってた。書くの遅えー
今日 tomyhero さんと会ってやっぱり日焼けバリバリになってるなあとウケタよw

せっかくなので一週間遅れにもかまわずエントリする!

と言うことで、先週末 8/2 - 8/3 に lazy-people の人たちと富士山登ってきました。ということで、少し時間たっちゃってるけど、せっかくなのでエントリしておくよ!

高尾山は富士山前の予行演習だったわけです。高低差ありすぎですがw
今回はカメラ壊しそうで怖かったので、自分では写真撮ってません。(携帯も途中で電池切れしてた。)

山頂!
june29 さんの flickr からお借りしました。撮ってくれてありがとう!)

いやはや、1週間前に日程が決定して、早朝集合日帰りは帰ってこれない事が判明して、夕方集合夜登って"初"日の出見て帰るパターンに変更して、登頂日寸前まで参加表明が出てきて気がついたら7人で登ってました。masutaroさんとか前日に参加表明でストックとかランタンとか準備できてるのがすごい。前日に富士山登山に参加表明って勢いありますね!

僕なんて持ち物とかのまとめを自分で書いておきながら、前日の夜中に hideden さんと yusukebe さんと irc で会話しつつ、大きいリュックと小さいリュックに荷物を詰めては出して、どっちの組み合わせで行けばいいのかとか迷いまくってましたよ!
結局スノボウェアをリュックに詰めて半袖とハーフパンツで行きました。
hideden さん、懐中電灯ありがとう!

富士宮口五合目に 20:20 に到着して、9合目についたのが 23 時?(って聞いた覚えがあるんだけど、もうろうとしてたので不確かw)かなりハイペースでした。tomyhero さんが登るの速かった。どこに行っても元気な人ですねw
ちなみに僕は9合目にきて息をするので精一杯でした。空気が凄い薄くて息整えられないのね。9合目以降は頂上まで登山客で渋滞しててなかなか進めなかったんですが、渋滞して無くても僕はあの速度でしか上れなかったかもw
登頂してからは日の出そのものは見ずに雲海と明るんできた空を見て寝てましたw

その後、帰りのバス 09:00 には間に合わないだろうと言うことと降りる気力が沸かなかったのでw、山頂でゆっくり昼寝とかして、日差しも出てきたのでみんな薄着になって、yusukebe さんの提案で御殿場口方面-富士宮口を下山していきました。(今だから言うけど下山のことはあまり考えてなかったです。おなじみ道くだるのはめんどそうだなーと言うくらいw)

雲の上なので凄い晴れてて雲間から見える下界の様子が素晴らしかったですね!
御殿場口方面の道のりは上ってきた道と違って比較的歩きやすかったですね。靴がぶっ壊れましたがw

途中すれ違った登山駅伝は凄かった。なんで駆け上がれるのかw
御殿場口から富士宮口方面への途中にある大砂走りはおもろかったです。そこでも登山駅伝の走者が駆け下りていったんですが、あのスピードはすげーなーと。ウケタよw

無事富士宮口5合目について、バスの席が無くて、これ以上の立ちっぱなしとか苦行だろと言うことで、次に来る新富士行きで帰ることに。

新富士で喫茶店に入って、みんな思い思いのものを飲み食いして新幹線で帰って参りました。

すげー楽しかったです。富士山は日本一高いって事は日本で一番宇宙に近いところだなぁとか考えながら、「じゃあ酸欠も致し方なしだなぁ」とか酸欠の頭で星空を見上げたりしてましたよ。

9合目で酸欠状態に陥ったときは高山病かと思って、下山も覚悟しましたが、みんなのおかげで登頂できたと実感してます。みんなありがとう!
もー登りたくはないですね!

<#project@lazy-people:tomyhero> 富士山これで登ることができれば、今年が充実するのは間違いない

充実した!今はその余韻として日焼けした皮をぱりぱりめくってます。

2008年07月23日

[six apart][spam]Six Apart さんから SPAM が届いた件

MT4.2 発表記念キャンペーンで Adobe CS3 欲しいなーと思って応募したら SPAM が送られてきました!

20080722spam.jpg

ステッカー貼って blog に写真載せてね、とのことだったので載せてみたよ!
今キャンペーンサイト見たらこんなエントリが!
もっとべたべた貼れば良かったw
YAPC でもステッカー盛りだくさんもらってるからなぁw

2008年07月21日

[高尾山][lazy-people]高尾山登ってきた

えー、ご無沙汰しております。一ヶ月以上更新が空いたのは初めてか。
とりあえず生きてますよということで。いやはやちょっとバタバタしておりました。

土曜日、lazy-people の人たちと高尾山に登ってきました。
その反動か日曜日は予想通りぐだぐだでした。気がついたら鉄腕バーディー読み返してた。筋肉痛来てたの僕だけか。

抜け殻
その他の写真

小中学校の頃に登った記憶はあるんですが、最近だとケーブルカー使った思い出しかないですね。ビアマウントとか。

なので、ちょっと、麓から頂上まで登るとどんな感じだったか思い出せず、また、運動不足過ぎるので少し不安もあったりしてました。
高尾在住の人にも話聞いたりしてたんだけど、今思えば高尾在住の人も運動不足の人っぽいからなぁ。

とにかく前日は多めに睡眠取っておこうと思ったら、丸投げ師範によってなぜかプログラミングする羽目になったりして。その後、ニコニコ充の罠によって、ニコニコをぼけらーっと見てたりとかした。

朝集合してそんな話をしてたら mumumu さんは一睡もしていないとのこと。
朝までプログラム書いて、朝は ust 見てたりしたらしいw

登りのコースには6号路を選択したんだけど、なかなかいいコースを選択したなと思った。大体90分くらいで登り切っちゃったんだけど、もう少し意図的にゆっくり登ってもいいかもしれないなと思った。高尾山は登山というよりはゆっくり歩くのに向いてるのかも。

頂上では、バイトのおばあちゃんおすすめのとろろそばを4人で食べた。バイトで毎日登って頂上のそば屋まで来てるそうで元気なひとだったねー。富士山の頂上の話してたら、高尾山の頂上の話にすり替えて(まちがえて)話題に入ってきたりとか。

今回初めてお会いした uru77 さんは、元劇団員だそうでなんか演劇関わってる時ってこうだよね的話でもり上がったりした。わりと演劇経験ある人って世の中いるよなー。
盛り上がった話と言えば、切り株に腰掛けて UML でよく使う図について話したりしてるのが面白かった。山の中なのに。ユースケース図をまず書くだろとか。ありがとう、今度から書くよ。

帰り道は1号路を下ったんだけど、舗装されててしかも少し急なので、エンジンブレーキかけて歩いてる感じが疲れた。実際今来てる筋肉痛はこの下りが聞いてる気がする。スネが痛い。

なんにせよ、ヒキコモリの運動不足にはちょうど良かったなぁ。バテたけど。とにかく tomyhero さんがサクサク歩いてた。mumumu さんはやっぱり寝不足が聞いたんだと思うよw
身体動かしてたときの記憶とかあるといざ身体動かしたときは、全然思ったように動けなくてちょっとショックあるねw

今年は久々にスノボに久々にいってみたいなぁとか思ったけど、これはもう少し身体を動かした方が良いかもしれない。きっと初心者コースからやり直しで少しむかつくと思うけどw

lazy-people は次に花火やるようですよ。参加したい人は vkgtaro か tomyhero さんに連絡してね。

2008年05月25日

perl-mongers.org を立ち上げました。

こんばんは!こんばんは!
皆さん今日も元気に Perl でコードを書いてますか?
ということで、勢い余って perl-mongers.org を立ち上げました。

当初は、日本の Perl Monger な人の blog とかを集めて、リダイレクトするだけのサイトにするつもりだったんですが、woremacx さんの nice job により、OpenID でログインして書ける blog となりました!(MTOS を OpenID で使えるようにする Hack もエントリされてます!

なんか、Perl のチップスや初学者に向けてこれ覚えておくといいよ的な事とか、Perl Monger のみなさんにも書いていただけたら幸いです。

先行している、Perl-users.jp とも何か協力していけたらいいなぁ。

2008年05月24日

[javascript]キーを押したのを検知する

開いてるページ上でキーを押した時検知するのはどうしたらいいのかちょっと調べてみた。初めての JavaScript p123〜125 くらいに詳しく載ってたのをイベントハンドラに登録して使うようにしてみた。

こんな感じ。

function keyUp (nsEvent) {
  var theEvent = nsEvent ? nsEvent : window.event;
  alert( theEvent.keyCode );
}
 
if (window.addEventListener) {
  window.addEventListener('keyup', keyUp, true);
} else {
  window.attachEvent('onkeyup', keyUp);
}

Mozilla とか Opera は関数の引数にイベントオブジェクトが渡ってくるのでそれを使う。
無ければ IE 系なので、window.event を使う。
このスクリプトを実行するとキーを押して離したときに、そのキーの番号がダイアログで出ます。
(keydown や keypress より keyup のがいいみたい。なので正確にはキーを離したのを検知ですね。)

参考

初めてのJavaScript―Ajax&DOM対応
Shelley Powers
オライリージャパン
売り上げランキング: 148868
おすすめ度の平均: 3.0
5 JavaScriptの全体像をつかむには最適
1 浅い内容
2 構成が悪く、読みにくい
5 ちょっと優しい感じのオライリー

2008年05月18日

[perl][yapc]YAPC::Asia 2008 行ってきました

写真ははてなフォトライフにアップしました。(はてなフォトライフのアップロード画面凄い。ビックリしたw)

今年は mobile 関連が充実してて、ちょうど欲しい情報が多くて良かった。
Encode::JP::MobileCatalyst::Plugin::Unicode::Encoding::MobileAgent を使って絵文字を含んだ文字コードの変換とかやってたんですが、使い方間違ってなくて良かったなぁと再確認しました。

mobile 系のセッションはどこも人が多かったのが印象的でした。
Encode::JP::Mobile は立ち見が出てましたね。

CP:Unicode::Encoding::MobileAgent は、HTTP::MobileAgent::Plugin::Charset を使って、アクセスしてきた端末に適した encoding を選択して、Encode::JP::Mobile で入出力をよしなに変換してくれる Plugin です。この plugin を使うと内部では Flagged UTF-8 として扱えばいいだけなので楽ちんです。

Encode::JP::Mobile は今のところ svn HEAD を使うのが良さそうです。(CP::Unicode::Encoding::MobileAgent は svn HEAD の Encode::JP::Mobile でないと動かなかった)

POD にも書いてありますが、encode_fallback を使って対応絵文字がない場合、img タグに置き換えたり出来るのがいいです。(これは Encode::JP::Mobile の機能ですね)

置き換える画像は TypeCast の絵文字がクリエイティブ・コモンズで公開されているのでそれを使うといいよと教えてもらいました。ありがとう ziguzagu さん。

携帯サイト作り始めたのは最近なんですが、情報とモジュールがすでに充実してて素晴らしいなぁと思いました。

YAPC::Asia に参加した皆さん、スタッフのみなさん、オーガナイザの皆さんお疲れさまでしたー。ありがとう。
あと、lapis25 さんもおつでしたー。部屋がカオスですいませんw

2008年04月19日

[catalyst][chaostr]Catalyst::Controller::Resouce を使って、Chained アクション書くのを楽する

本来は REST とかに使うらしい Catalyst::Controller::Resources ですが、このベースとなってる C:C:Resource を使って、自分用 base controller を作って Chained アクションを楽してみます。
(ちなみにヒントはこのあたり (sorry, vag*narepos commiter only.) から得ました。あとは、昔 YAPC か何かで Catalyst::Acrtion::REST を base にしてるのを見たんだけど見つからなかった。)

package Myapp::Web::Base::Controller;
 
use strict;
use warnings;
use base 'Catalyst::Controller::Resource';
use Catalyst::Utils;
 
sub setup_collection_actions {
    my $self = shift;
 
    my $maps = Catalyst::Utils::merge_hashes($self->{collection} || {}, {
        list      => { method => 'GET',  path => '' },
        do_create => { method => 'POST', path => '' },
        create    => { method => 'GET',  path => 'new' },
    });
    $self->setup_actions(collection => $maps);
}
 
sub setup_member_actions {
    my $self = shift;
 
    my $maps = Catalyst::Utils::merge_hashes($self->{member} || {}, {
        show       => { method => 'GET',  path => '' },
        do_update  => { method => 'POST', path => 'update' },
        update     => { method => 'GET',  path => 'update' },
        do_destroy => { method => 'POST', path => 'delete' },
        destroy    => { method => 'GET',  path => 'delete' },
    });
    $self->setup_actions(member => $maps);
}
 
1;

これを controller で継承するとこんなかんじになります。

.-------------------------------------+--------------------------------------.
| Path Spec                           | Private                              |
+-------------------------------------+--------------------------------------+
| /hoges/new                          | /hoges/collection (0)                |
|                                     | => /hoges/create                     |
| /hoges/*/delete                     | /hoges/collection (0)                |
|                                     | -> /hoges/member (1)                 |
|                                     | => /hoges/destroy                    |
| /hoges                              | /hoges/collection (0)                |
|                                     | => /hoges/do_create                  |
| /hoges/*/delete                     | /hoges/collection (0)                |
|                                     | -> /hoges/member (1)                 |
|                                     | => /hoges/do_destroy                 |
| /hoges/*/update                     | /hoges/collection (0)                |
|                                     | -> /hoges/member (1)                 |
|                                     | => /hoges/do_update                  |
| /hoges                              | /hoges/collection (0)                |
|                                     | => /hoges/list                       |
| /hoges/*                            | /hoges/collection (0)                |
|                                     | -> /hoges/member (1)                 |
|                                     | => /hoges/show                       |
| /hoges/*/update                     | /hoges/collection (0)                |
|                                     | -> /hoges/member (1)                 |
|                                     | => /hoges/update                     |
'-------------------------------------+--------------------------------------'

controller の Chained アクションによるカオスからも解放されます。

試しに制作中の Catalyst アプリで使い始めてます。

ちなみに C:C:Resource は 0.04 で C:C:Resources::Base とかに変わるらしいです。
本来想定していない使い方なので、そのあたりは注意が必要ですね。
と言うか、なにか変わるときは教えてくださいw>ikasam_a さん