October 2006

October 23, 2006

このエントリーをはてなブックマークに追加
Shibuya.pmテクニカルトーク #7 に先日行きました。
内容に関しては、ストリーム配信もされてましたし、多くの方がまとめたりとかしているでしょうから、違った角度で Shibuya.pm について書きたいと思います。

今まで Shibuya.pm のリーダーを務めていた miyagawa さんが、日本を離れるということで、新リーダーは竹迫さんになりました。
竹迫さんは Shibuya.pm 発足時から現在まで、Shibuya.pm 主催で行われた会は皆勤賞だそうです。
最初の頃は広島から毎回来ていた記憶が甦ります。
で、そう記憶を辿っていてふと思ったのは、Shibuya.pm 主催の会に全て参加していたのは、前リーダーの miyagawa さんと新リーダーの竹迫さん、そして、何を隠そう、俺もそうじゃん?とか思いました。この三人以外はいないような気がする。

ML の過去ログを追うと、どうやら 2002-10-09 に「Shibuya.pm 決起集会」という飲み会があったそうで、それが Shibuya.pm の発足だったようなので、そう考えると、もう 4 年の歴史になるんだなぁと思います。
Shibuya.pm で大きな転機を迎えた人も少なくないでしょう。
また、昔はよく見掛けたけど、最近はあまり見掛けない人とかもいっぱいいます。
ということで、「Shibuya.pm と私」と題し、Shibuya.pm の 4 年と自分についてまとめてみようと思います。
  • 2003-01-31: Shibuya.pm スタートアップセミナー (テクニカルトーク #1)
  • 場所は参宮橋の国立オリンピック記念青少年総合センター
    この頃はまだ前の会社で働いていた。
    多分、定員 40 人程度で、そのうち 15 人ぐらいオン・ザ・エッヂの人。オン・ザ・エッヂ王国状態。「なんだよエッヂだらけだな」的な印象だった。
    国オリの別棟の上の「レストランさくら」というところで打ち上げ。参宮橋駅で、初対面の clouder 氏に隠し撮りされた。

  • 2003-03-28: Shibuya.pm テクニカルトーク #2
  • 場所は参宮橋の国立オリンピック記念青少年総合センター。
    はてな近藤社長が来て、はてなの裏側を公開していた。
    ちなみにこの頃はてなは京都にあったので、輪行バッグというのに自転車を入れて新幹線で東京に来たとか。
    あと、id:ikebe の Inline ネタとか。id:ikebe と初めて話したのはこの日だったかも。
    「レストランさくら」での打ち上げの後に新宿で飲み会。もちろん近藤さんは自転車で新宿までやってきた。

  • 2003-06-13: Shibuya.pm テクニカルトーク #3
  • 場所は参宮橋の国立オリンピック記念青少年総合センター。
    O'Reilly の渡里さんの話が長かったけど面白かった。Shibuya.pm でのネタ系プレゼンは、それが元祖だったかも知れない。O'Reilly でバイトしていた時代の miyagawa さんの写真を晒したりとか。
    あと、現グリー株式会社田中社長による楽天広場ネタとか。
    「レストランさくら」での打ち上げの後に新宿で飲み会。この日の帰りの電車で、現 Six Apart谷本くんに、彼の前職の会社に、転職したいんだよねーとかそんな話をした。

  • 2003-10-18: Shibuya.pm テクニカルトーク #4
  • 場所は目黒の技術評論社
    初めて国オリじゃない場所で、キャパもいつも 40 人程度だったのにこの回から倍ぐらいにぐっと増えたような気がする。
    ちょうどこの翌月から↑に書いた谷本くんの前職の会社に転職することが決まっていた。そう考えると自分も Shibuya.pm で大きな転機を迎えたと言っても過言ではない。
    現はてなの CTO である id:naoya に初めて会った。あと、今となっては恒例となった "Lightning Talks" があった。
    幹事マンをこの時初めて見掛けたんだけど、本人曰く「Shibuya.pm とかに参加していなければ今幹事とかやってないと思う」とのこと。そう考えると幹事マンも Shibuya.pm で大きな転機を迎えた一人なのかも。
    アトレ 2 の霧笛屋で大人数の打ち上げ。そのあと権之助坂の中華屋っぽいとこで id:naonos さんとかとプロレスネタばっかり話してたかも。

  • 2004-05-14: Bad Knowhow Conference 2004
  • 場所は参宮橋の国立オリンピック記念青少年総合センター。
    「テクニカルトーク」ではなく、突発的に別コンセプトで開催された。
    実はこの頃デスマーチ案件の真っ最中で、かなり遅れて到着。どのぐらい遅れていたかと言うと。21:00 までなのに、会場前に到着したのが 20:58 で、実際に竹迫さんの Inno Setup ネタを 3 分ぐらい聞いて、カンファレンス終了。あれ、これ俺飲み会に来ただけじゃね?みたいな状態。
    連日会社に泊まってて金おろし忘れてたのに国オリまで来てしまったので、木村さんにお金借りて新宿の焼肉屋で打ち上げ。この頃からオフィシャルに打ち上げやらなくなりましたね。
    寝てないのに打ち上げ参加。
    幹事マン曰く、「あの打ち上げのにぽたんは、ずっと眠眠打破の素晴しさを力説していた」とのこと。
    ああ、確かに眠眠打破ばっかり飲んでいたかも。

  • 2004-12-16: Shibuya.pm テクニカルトーク #5
  • 場所は神保町の株式会社インターネットイニシアティブ
    「劇的ビフォーアフターネタ」をやるためのデカいラジカセを持参したプレゼン芸人の早川くんと一緒に電車乗って行ったので、ちょっと恥ずかしかった。id:mizuno_takaaki本の宣伝をしていて、それが竹迫さんの ppencode 開発トリガになってました。
    神保町の和民で打ち上げ。

  • 2005-11-02: Shibuya.pm テクニカルトーク #6
  • 場所は神保町の株式会社インターネットイニシアティブ。
    Catalyst ネタ多かったですね。あの回から Haskell の注目度がぐーんと上がりました。
    ちなみにその時組んでいたバンドの打ち上げがあったので、Shibuya.pm の打ち上げは初の不参加。

  • 2006-10-20: Shibuya.pm テクニカルトーク #7
  • 場所は神保町の株式会社インターネットイニシアティブ。
    PMConnect すごいなぁとか、MogileFS 興味深いなぁとか真面目な側面もありましたが、かなり サブテクの悪ノリが目立ちました。
    やはり原因は Yappo(ry
    小川町のちょんまげという居酒屋で幹事マンが一人で飲もうと思ったんだけど 30 人のテーブルしか空いてなくて、そこで一人で飲もうと思っていたら偶然 30 人弱の人達と遭遇して、奇遇だから一緒に飲みませんか?とかいうわけわからない設定でオフィシャルではない打ち上げ。なんかこの設定、Shibuya.jsDevelopment Environment Conference でも同じようなこと言っていて、偶然会ったという小芝居をするのが面倒だった。
「毎回参加とか言ってるけど、BKCon (バッドノウハウカンファレンス) は 3 分しか居なかったんだろ?」とか言われそうですが、3 分だって参加していたことにはかわらないです。。。
ということで、Shibuya.pm は思い返すとあっという間のようで、もうずいぶん長い歴史だなぁと色々なことが思い返されます。
Shibuya.pm がきっかけで私の人生に大きな変化があったことは事実で、これから先もずっとずっと Shibuya.pm に参加し続けることと思います。


miyagawa さん、長い間お疲れ様でした。


nipotan at 03:06 | Comments(0) | TrackBack(0) | 技術 
このエントリーをはてなブックマークに追加

October 20, 2006

このエントリーをはてなブックマークに追加
YouTube の動画のページの URL は、現在の仕様だと、
http://www.youtube.com/watch?v=***********
のような形式になっていて (www. は必須ではない)、この v= に続く値がどの動画であるかを指し示す値で、一意になっている。この値の形式がどうなっているのか、約 1,000 個の動画の URL を元に色々調べてみたところ、数字 [0-9]、アルファベットの大文字 [A-Z]、小文字 [a-z]、アンダースコア _、ハイフン - の、計 64 種類の文字 11 バイトで形成されていることがわかった。

Perl とかの正規表現であれば、
use strict;
use URI;

my $youtube = URI->new('http://www.youtube.com/watch?v=LIhbap3FlGc');
my %query = $youtube->query_form;
my $valid = $query{v} =~ /^[-\w]{11}$/;
というので判別出来る。

で、気になったのが、この 11 バイトというしばりについてなんですが、どうも足りなくなったという場合に、これの桁が増えて 12 桁とかになる可能性はどの程度のものなのか気になった。

単純に考えれば、64 (種類の文字) の 11 (バイト) 乗で、73,786,976,294,838,206,464 種類。
なので、この 11 バイトで 73,786,976,294,838,206,464 個の動画に一意な文字列を割り当てることが出来る。
ちなみに、もし一日に 1 億個の動画がアップされるとしたら (←まずありえないけど) どうも 20,202,208 世紀の世紀末頃にこの文字列は枯渇してしまう模様。
なので、「よし、俺、長生きするぞー!」と希望に胸踊らせている方は、念の為
my $valid = $query{v} =~ /^[-\w]{11,12}$/;
というカンジで、12 バイトでもマッチするように正規表現を書いておいたほうが良いでしょう。
12 バイトもあれば、1,292,940,049 世紀中頃までは枯渇しないので、11 バイトよりは安心ですね。

さて、くだらないこと書いてないで Shibuya.pm でも行くかな。

nipotan at 17:33 | Comments(0) | TrackBack(0) | 技術 
このエントリーをはてなブックマークに追加

October 10, 2006

このエントリーをはてなブックマークに追加
久々に、実はあんまり使いこなしていない vim ネタ。
少し前のネタなんですが、

vimグループ - [script]shebangでファイルを実行する関数
shebang ( ファイル先頭の #!/bin/sh とか )でカレントバッファのファイルを実行する関数。
ここで紹介されている ShebangExecute() が、便利そうだなぁって思ってたんですが、この vim script を書いた id:secondlife が、

subtechグループ - ピンク ブロッサム ダイアリー - ShebangExecute
下方互換性は考慮してないのでたぶんvim7以降じゃないと動きません。
と書いていて、確かに試してみると、どうも matchlist() が vim7 以降のものっぽくちゃんと動かない。
まだ vim7 を使ってないし、正直なところ、あんまり vim7 を使うモチベーションもなく、(メリットがまだよくわかっていない。だるい。時間がもったいない) ずっと vim6 を使っていたんですが、どうしてもこの ShebangExecute() を vim6 でも使いたかったので、vim6 でも動く ShebangExecute() を書いてみました。

function! ShebangExecute ()
    let line = getline(1)
    let interp = substitute(line, '#!\s*\(\S\+\).*$', '\1', '')
    if (strlen(interp) >= 1)
        execute '!' . interp . ' %'
    else
        execute '!' &ft ' %'
    endif
endfunction
まぁ、ただ substitute() で置換して無理矢理インタープリタのパスだけを取ってるだけです。
こんなんしといて、あとは同様に
nmap ,e :call ShebangExecute()<CR>
とかキーバインドしておけば、とりあえず vim6 でも同じことが出来ると思います。

つか vim script よくわからない。
それ以上に vim で使える正規表現がよくわからない。。

nipotan at 20:47 | Comments(0) | TrackBack(0) | 技術 
このエントリーをはてなブックマークに追加
このエントリーをはてなブックマークに追加
フレパと Plagger と Greasemonkey と
あんまりちゃんとアナウンスとかしてなかったんですが、先日、フレパがどうもリニューアルしたようで、どうも CPAN に登録されている Plagger (v 0.7.12) にある Plagger::Plugin::CustomFeed::Frepa では、フレパ日記だとかひとことだとかが取ってこれないので、実はフレパがリニューアルオープンする少し前のメンテナンス画面が出ているうちに Plagger::Plugin::CustomFeed::Frepa を commit しておきました。
Plagger でフレパを見ているという方は、Subversion repository から最新の Plagger::Plugin::CustomFeed::Frepa と Plagger::Plugin::CustomFeed::Frepa::FriendDiary と Plagger::Plugin::CustomFeed::Frepa::FriendStatus と Plagger::Plugin::CustomFeed::Frepa::RecentComment を checkout してご利用ください。
言い忘れてた。
こちらですが、CPAN に登録されている最新の Plagger (0.7.13) を install すればすぐに利用出来るようです。



nipotan at 20:30 | Comments(0) | TrackBack(0) | SNS 
このエントリーをはてなブックマークに追加

October 04, 2006

このエントリーをはてなブックマークに追加
あんまりちゃんとアナウンスとかしてなかったんですが、先日、フレパがどうもリニューアルしたようで、どうも CPAN に登録されている Plagger (v 0.7.12) にある Plagger::Plugin::CustomFeed::Frepa では、フレパ日記だとかひとことだとかが取ってこれないので、実はフレパがリニューアルオープンする少し前のメンテナンス画面が出ているうちに Plagger::Plugin::CustomFeed::Frepa を commit しておきました
Plagger でフレパを見ているという方は、Subversion repository から最新の Plagger::Plugin::CustomFeed::Frepa と Plagger::Plugin::CustomFeed::Frepa::FriendDiary と Plagger::Plugin::CustomFeed::Frepa::FriendStatus と Plagger::Plugin::CustomFeed::Frepa::RecentComment を checkout してご利用ください。


あと、だいぶ昔フレパ日記以外の外部 Blog を消す Greasemonkey script とか公開してましたが、前のデザインの時にタグがあまりキレイじゃなくて DOM 操作とかだけではキレイに消せなかったから公開してなかったんですが、なんか新しいフレパを見てみたら、割と簡単に消せそうだったので、改めて今のフレパの最新日記から、フレパ日記以外を表示しないようにする Greasemonkey script を書きました。


hide-non-frepa.diaries.user.js


どうぞお使いくだちい。

nipotan at 19:11 | Comments(0) | TrackBack(1) | SNS 
このエントリーをはてなブックマークに追加