にぽたん研究所

August 10, 2009

「4Gbpsを超えるWebサービス構築術」という本を書きました

というタイトルの本を、近く上梓致します。
…とはいえ、ちょっと先のことなのですが、世間的にはお盆を挟みますので、少し早めの告知ということで。

ソフトバンククリエイティブさんの発行で、8/21 あたりから大型書店やネット書店あたりで店頭に置かれたり、発送されるかと思います。

内容については、ちょっと自演っぽいのですが、弊社のディレクターが書いているディレクター向けブログで、おおまかな内容や出版に至った経緯など、インタビューつきで紹介してもらいました。

ディレクターにもおすすめ!「4Gbpsを超えるWebサービス構築術」執筆者インタビュー - livedoor ディレクターブログ

インタビュー中でも言ってるのですが、このブログエントリーのタイトルに偽りはないです。
ディレクターブログに掲載してもらったのは、本書に書かれている内容について、どういうことなのか、知識としてちゃんと持っているディレクターというのが、エンジニアの人達が「一緒に仕事したいな」と思えるディレクターなのだと、常々思っていることなので、本書が技術書だからと言って、エンジニアじゃない方々にも読みやすく、わかりやすく書こうと意識して書きましたので、職域を超えて、是非多くの方々に読んで欲しいなという願いを込めて、ディレクターブログに紹介していただきました。

カバー写真とかもう出来てるのですが、Amazon にはまだ掲載されてないみたいですね。

4Gbpsを超えるWebサービス構築術
伊勢 幸一 池邉 智洋 栗原 由樹 山下 拓也 谷口 公一 井原 郁央
ソフトバンククリエイティブ
売り上げランキング: 122


表紙がないので、差し換えてみましたが、こんな感じの表紙になります。
もう Amazon で表紙あがってました。
一応、弊社の開発スタッフ 6 人での共著という形で書かせていただいております。

元社長さんにもブログにてご紹介いただきました。ありがとうございます。

ということで、もし良かったら是非読んでみてください。


ちなみに、4Gbps って、あんまりピンとこないですよね。
個人的には、実は正直ほとんどピンときてませんw

「タウリン 2g 配合」じゃなくて「タウリン 2,000mg 配合」みたいに、数字が大きいとスゴそうな感じなので、個人的には "4Gbps" よりは、"4,294,967,296bps" とかのほうがすごそうだなーってふと思ったのですよね。

「4,294,967,296bpsを超えるWebサービス構築術」

なんか、ドキドキしてきますよね。ヨンジュウニオク…んー…みたいなそんな数字。


はい、また与太話でした。

nipotan at 17:11 | │Comments(0) | TrackBack(0) | tech 
livedoor clipHatena::Bookmarkdel.icio.us

May 31, 2009

高精細な「アナログ」のロゴマークが欲しくなった

2011 年 7 月に終了してしまう地上波アナログテレビ放送ですが、去年の 7 月から、ずっと画面右上に「アナログ」の文字が常時表示されているそうですね。
なんかそれってネタに出来そうだなーとか思うことがしばしばあります。

なので、あの「アナログ」の、ぷっくりとしたかわいいあのフォントの文字が欲しいなぁと思って、ネット中探してみたのですが、どこを探しても全く見つかりません。
地デジのロゴとかは社団法人デジタル放送推進協会から配布されていますが、アナログのロゴは配布されていません。
きっと私のように、「あのアナログロゴ欲しいなぁ」と思った人は少なくないはず。

当然、見付からないということは、ちゃんとしたロゴマークをネタに使っている人もあまりおらず、地デジカに対抗するキャラクタのアナログマの web サイトの右上にも「アナログ」の文字が表示されています。でも普通のゴシック体で表示されているので「アナログ感」があまり感じられません。

だから、何となく「アナログ」の高精細なロゴを作成してみました。続きを読む

nipotan at 18:53 | │Comments(6) | TrackBack(4) | graffiti 
livedoor clipHatena::Bookmarkdel.icio.us

May 25, 2009

エンジニアと、某アルファブロガー夫妻の未来について、深く考えた一日



23 日土曜日は、技術評論社さん主催の「エンジニアの未来サミット 0905: エンジニア・サバイバル」に、前回に引き続き登壇させて頂きました。

オフィシャルなレポートについてはこちらから。

前回については、色々と反省点が多く、私自身も自身への反省点やイベントの進行等についての異論があったのですが、イベント後にも技評さんに足を運び、どの点が良くなかったか、どういう風に進行したら良いのか、細かく詰めて議論させていただいたのが、今回に生かされているという実感がありました。

前回は事前打ち合わせ等も十分に行なえなく、行き当たりばったりで進行していた分、グダグダになった感じがありましたが、今回は一度事前にパネラー達全員で集まり、来場者の年齢層や、自分達がその悩ましき年端の頃に、どんな悩みを抱えていたのか、それを現在の状況に照らし合わせるとどうなのか等をじっくり検討し、どんな議論の展開が私達に求められているのであろうかを話し合う機会がありました。

やはり、生き方や考え方には、正解というのはありえないんだから、いくつかのパターンを探って提示することで、皆さんの考えかたのスパイスになれば良いのではないか?というスタンスでお話が出来たので、前回と違って私自身、言いたいことを比較的多く伝えることが出来て、だいぶスッキリすることが出来ました。

前回は、「言いたいことを言いたきゃ弾さんからマイクを奪ってでも話せ」みたいな状況だったために、マイクを持つ機会があまりなく、「ほとんど喋ってない」とか、「空気感がすごい」とか、「居たの?」とか、ひどく DIS られましたが、今回は、その反省も生かし、ちゃんと存在感は残せたかなと思っています。

エンジニアとして最低限持っておくべき常識力についてだとか、組織の中で進んでいくべき既定ライン云々や、その既定すら昨今は時代とともに変化しているよねーだとか、そういう話題についても事前の打ち合わせで面白い議論になっていたのですが、十分な時間がなかったためにお話できなかったのがちょっぴり残念です。それはまた別の機会があれば。



第二部は、「一人一人が長く語らない」進行だったので、ちゃんとクロストークになっていてとても良かったという印象です。
弾さんは、一度ノリだすと何時間でも一人で話していられそうなので、長く語るのを禁止すると、こうも上手くいくんだなーという印象。
ちゃんとルールを決めるのって重要だなと思いました。

あまりこういう場で登壇されているイメージがない、ゼロスタzaki さんですが、飛び出す話が一つ一つ生々しくて大好評でしたね。
「隣のラックを云々」という話のトラブルシューティングには、私が一部で「ロールモデル云々」で触れた宮川さんが、実は解決に一役買ってるだとか、あの場には出てない色々と明かしにくいリアルな裏話もあったり。

とにかく zaki さんは「トラブルシューティングの体験がその人を成長させる」(要約) ということに幾度か触れられてました。
(関連エントリ: ドラマに見る「緊急対応」に対する一般的イメージ - にぽたん研究所)

しかし、現時点で誰も触れていないように見えますが、最初の自己紹介の時に「大きなトラブル」的なことを言っていましたけど、それはシステム的なものではない話だって気付いた人って何人ぐらいいたんですかね。
ライブドア事件の後に唯一「容疑がかけられていない代表取締役」を一人背負って、事件後の初めての臨時株主総会において、新代表が選任されていく中、閉会の際に多くの株主から罵詈雑言を浴びせられつつ引責退任したという過去があります。で、あれはその一連の「トラブル」のことを言っていたみたいで、その上で「Handle with Care」と書かれた T シャツを着ていたのだと思います。
控室で T シャツの話になって「ちょww意味合いが深過ぎるww」と言っていたのですが、やっぱ誰も触れてませんねw

前回、ホワイトボードの使いかたや、生理現象を抑えられなかったことでとても DIS られていた高井さんですが、今回は非常に真面目に、冷静に語っていたように思います。

今回の関係者打ち上げには参加しなかったのですが、やっぱり飲んだらクネクネしたり色々な人にディープキスしたりしてたんでしょうか。


で、実は、今回スーツで登壇したことを「スーツコスプレ」と表現しましたが、実はそれは冗談で、エンジニアの未来サミットの後、アルファブロガーのみらのさんと、以前「日本のホットなブログ有名人 11 名」に、しょこたんとかきゃんちとかと一緒に選ばれた、ホットなブロガー yumi さんの結婚式の二次会に行く予定があったので、フォーマルでの登壇だったのです。

第二部の閑歳さんがドレッシーだったのも同じ理由で、もうお一人、第二部の井上くんも二次会参加予定で、私服で登壇していましたが、控室で (ものすごいまごつきながら) 慌ててスーツに着替えてましたww

で、エンジニアの未来サミット終了後に皆でそちらに向かいました。



新郎のみらのさんとは、4 年半ぐらい前に初めてお会いして (てか、この写真若いww)、それ以来一緒にライブやったり、合コンに行ったり、渋谷駅前でアキレス腱固めを極めたり、麻雀もよく打ちました。
みらのさんの記念すべき三十路の誕生日の日は、野郎ばっかりで 941 家に集まって麻雀打った記憶がありますね。今日から加齢臭デビューとかそんなこと言いながら。
で、新婦の yumi さんは、新郎のみらのさん主催の合コンで初めてお会いしました。
…というか、俺はシャイすぎるので、合コンに参加しても、ほとんど誰とも喋らないから、あとでいっつも必ず説教を食らうのです。941 氏とみらのさんに。新宿のつぼ八で。だから、合コンにあまりいい思い出がありません。

話逸れすぎました。

しかし、(昼から行なわれる打ち合わせのために) 朝から普段着ないスーツを着て、エンジニアの未来サミットでパネラーをやらせてもらったりしてたので、それだけでかなり疲弊気味。
着衣だけでこんなに疲れるもんかね?って感じ。
まぁスーツは年に 4、5 回程度しか着ませんからね。

受付開始時刻よりほんのちょっと早めに会場に着いたら、まだほんの少しの方しかいらっしゃらなかったので、チラホラとお話をしたり、新郎新婦控室で一緒に記念撮影させてもらったりしました。

着いて早々に、カイさんから、「ブログごはん。」に呼ばれなかったとかでとてもスネられてしまいました。

なんか、見渡せば、参加者はアルファなんとかの人ばっかりだし、ドキドキしますね。嘘ですけど。つい先日某 BBQ でご一緒した皆様やら、「ブログごはん。」でご一緒した皆様やら、初めましての皆様やら、Twitter でしか絡みのなかった皆様や、あの有名人まで盛り沢山。多くの皆様とご挨拶をさせていただきありがとうございました。
あの会場で、もし爆破テロが起こったら、日本のインターネット情勢が大きく変化してしまうであろう状況でしたね。

ペパボの CCO の家入さんがだいぶゴキゲンで徘徊していて、4 年振りぐらいにお会いしたのでどうもお久し振りですと言ったら 4 年前のことを全く覚えてなかったそうで、「何?TENGA?TENGA の時?」とかよくわからないことを言われました。今考えると、ああ、それエロギークカンファレンスのことだろうなとか思いつつ、俺、全然エロくない (嘘) ので、「え?テンガ?何のことですか?」と返してしまいました。
テンガってこれですね。

【2ch】ニュー速VIPブログ(`・ω・´):TENGA腕に装着したwwwwwwwwwwwwwww






家入さんに、御社のシモダさんは面白いけど 2,000 円しか持ってなくてヒドいだとかの話をしたり、まぁ、近いうちに是非飲みましょう的な話をして、その時に偶然弊社の出澤社長もすぐそばに居合わせたので、一緒にパチリ。




それにしても、この二人、ノリノリである。

最近全然見掛けなくなった「赤パン師匠」改め「緑パン師匠」とも、数年振りにお会いしました。

しかし、もう、人数的に何人いるのかわからない。300 人とか超えてるよね?みたいな感じで、ちょっとトイレなんか行こうもんなら、もう二度と友人達と会えなくなってしまいそうな状況。

途中、ふとステージを見ると M 社のエンジニアの皆様が、新郎新婦と記念撮影をしていた時、何故かふと「ブーフィー」という謎の言葉 (どこかの島の名前っぽい雰囲気) が脳裏をかすめたので、大きな声で「ハイ!ブーフィー!」って言ったら、何故だかドン引きされました。解説求む>誰か

などなど、紹介し尽せないぐらい (マジで) 沢山の方々にお会いして、皆さんと楽しいお話が出来てとても楽しかったです。

会場デカい!人数多い!と、こんなに沢山の方々に見届けられている二人はお幸せですなーという感じ。
だって、人数多すぎて、誓いのキッスとかも超遠いし。レフトスタンドからキャッチャーが出してるサイン見えるかどうかぐらいの距離感。ちょっと大袈裟。でもそう思えるぐらい遠い。よく見えなかったからアンコールをしてしまった。




ということで、みらのさん、そして yumi さん、末永くお幸せに。


そして、エンジニアのみなさんの未来にも、幸あらんことを願います。









やっぱ 2 エントリに分けて書くべきだったね。反省。

nipotan at 15:14 | │Comments(2) | TrackBack(0) | others 
livedoor clipHatena::Bookmarkdel.icio.us

May 21, 2009

アルファブロガーが集う極秘イベント「ブログごはん。」に行ってきた



livedoor Blog が、(主に livedoor Blog でブログを書いてる) アルファブロガーを集めて、極秘に開催した「ブログごはん。」というイベントに、アルファブロガーになることを目指している私は、アルファブロガーのフリをして潜入した。
顔出し NG のブロガーさんが結構多かったので、掲載許可だとかモザイク処理だとか、配慮すべき項目が多くて色々面倒臭すぎるので、会場内の写真撮影は自重した。
極秘イベントすぎて、詳しくは書けないことばっかりだ。

  • 弾さん池田信夫先生と自分の 3 人で話すというシチュエーションがあった。Amazon アソシエイトから源泉徴収されることについてだとか、そういう制度が強行された時に異を唱えるブロガーがいない事などについて。「今月の Amazon アソシエイトは○千円も儲かっちゃった!」とかで一人密かに喜んでる俺には、まったくもってよくわかない話ですよ。わからせたいって人はここをクリックして開いた窓の商品、全部買えばいいよ (ブラクラ注意)。
  • らば Q の方の名刺をもらったら、肩書のとこに「鍋奉行」って書いてあってウケたので、「鍋奉行て!」ってツッコんだら、本人は自分の名刺の肩書が「鍋奉行」だということを、ツッコまれて初めて知ったそうだ。
  • ブログって、継続的にちゃんと書いていれば、儲かる人はかなり儲かるんだなーというのを知ることができた。ブログだけで、俺の月収なんかよりも遥かに稼いでる人がいた。そのブロガーが誰なのかは知らないけどさ。
  • 未来検索ガジェット通信トレビアンニュースの、二大釣りニュースの二人が、○君がどうだのとか、色々とひどいことを言っていた。ひどい。ほら、早速釣ってる釣ってる。俺も自分のブログ炎上させたらいいのかなぁ。
  • はまちちゃんが自由すぎる。はまちちゃんがティーンエイジャーだ的な、例の設定を守るのが若干面倒だった。ちなみに、今は 19 歳らしい。
  • 個人的には ついコンなどでお世話になっている @vesper さんこと蓮華さんが、その場で、抽選に当たった 4 人のアルファブロガーのかわいい似顔絵イラストを描いてくれるというコーナーがあった。弾さんは抽選で当たっていないのにゴネて似顔絵を描いてもらっていた。それを隣で見させてもらった。絵がうまい人の横で描いてる工程を見るのってすごく面白い。明日、蓮華さんの本が発売になるそうだ。これは買いですね。みんなも買うといいよ


はじめよう! ペイントツールSAI
蓮華(TENKY)
インプレスジャパン
売り上げランキング: 20033


  • ロケスタ社長日記のけんすうが昔ライブドアに在籍していた時の裏話を聞いた。というか在籍時代って、俺と普通にかぶってんだけどね。まぁ、ここでは書けないよ。なかなかヒドい話だなぁと思った。


ホントは帰ろうと思ったけど、何だかんだで二次会に参加した。というか、背中を押されて参加させられた。

  • 遅さで有名なライブドアの佐々木さんが程良く酔っ払ってた。彼の背後で俺が喋っていたら、急にこちらに振り向いて、俺にエロい言葉を投げかけてきた。どうも俺の発言を聞き間違えて、エロい言葉に脳内変換されていた様子。
  • 小鳥ピヨピヨのいちるさんと初めて喋った。実は Blog Hackers Conference 2005 で共に登壇したので一度お会いしているのだが、今まで喋る機会がなかった。
  • ザイーガのパルモさんが、家が遠いから、会場から比較的近所のウチの家に来る的なことを言い出したが、面倒臭すぎるので華麗にスルーした。
  • オモコロのシモダさんが、昔すごく好きだったテキストサイトの中の人だということを初めて知った。テキストサイト的な文化は今後も絶やしてはいけない的な話を熱く語りあった。
  • そんな熱いシモダさんだが、家に帰りたいけれど、終電がないし、金は 2,000 円しかないからタクシーに乗れないとかいう話になり、1,000 円と 500 円分の QUO カードをめぐんであげた。やじうま Watch のめたるまんさんからも 1,000 円のカンパ。すると、らば Q さんが 10,000 円をカンパしようとした。福澤のせいで野口が霞んでよく見えないよ。よくわからないけど、対抗して、30,000 円追加で置いた。トータル 42,000 円 (と 500 円分の QUO カード) を目の前に置かれたシモダさんは、一見すると、とても可哀想な人っぽかった。でも、さすがにそんなに貰えないと言って、2,000 円 (と 500 円分の QUO カード) という妙にリアルな金額を持って去っていった。かわいそうだから本を買ってあげることにした。みんなも買うといいよ


オモコロ! あたまゆるゆる大全
オモコロ編集部
コトブキヤ
売り上げランキング: 70410


  • このあたりからもうずっとパルモのターン
  • パルモさんは、家が遠いから明日ザイーガを更新出来ないよーみたいなことを言っていたら、小太郎ぶろぐの小太郎さんが「俺は更新するけどねヘヘヘーン」的なことを言っていた。あんなに飲んで遅く帰って更新するモチベーションってどこから生まれるんだろう。
  • 帰ろうとすると、パルモさんが腕を掴んで帰してもらえなさそうだった (犯されそうだった) ので、パルモさんの死角をついて逃げて家に帰った。きっと、あの後、faultier 君パルモに食われちゃったんだろうなきっと。ちなみに、faultier 君はまだ出社していない
  • 帰宅したら午前 3:00 過ぎ。ああ、早く帰ろうと思ったのに。


ということで、何だか色々と面倒なことが多かったですが、楽しいイベントでした。

「ブログごはん。」の主催のライブドアの皆さん、おいしいブログごはんをごちそうさまでした (棒読み)



あと、全然関係ない告知なのですが、今週土曜日「エンジニアの未来サミット 0905:エンジニア・サバイバル」に登壇させていただきます。
もう申し込みはできませんが、USTREAM で中継されるようですので、申し込まなかった方も乞御期待。
前回残した残糞感が晴らせればいいなーと思います。

nipotan at 12:52 | │Comments(0) | TrackBack(5)
livedoor clipHatena::Bookmarkdel.icio.us

April 27, 2009

少しドラマティックだった、忘年会 MVP 受賞裏話

このところ、色々と忙殺されてて、ブログの読み書きをしていませんでした。

久々に LDR の未読を消化していたら、とあるブログで、ふと少し懐しい思い出が甦りました。

おれはラーメン二郎も特に好きではない。|六本木で働いていた元社長のアメブロ
ライブドア時代の忘年会で、毎年各部署のMVPとか発表して、金一封をあげていたのは事実ですけど、全部ポケットマネーです。

タイトルと内容とに一貫性がないために主題とは関係ない部分の引用ですが、この MVP というのは「社長賞」と呼ばれる賞でした。

私がこの会社に入社して 2 ヶ月が経った、2003 年の暮れ、会社は渋谷のモンスーンカフェを貸し切って、会社全体の忘年会が行なわれました。
その頃は 300 人弱ぐらいの規模の会社で、データセンターのシフト勤務の人たち以外、ほとんどみんな参加するというものでした。

中小企業勤務が多かった自分に、社会人になって以降の「忘年会」と言えば
「会社の近くのさくら水産で忘年会、費用は一人 3,000 円」
みたいなのが多かったぶん、この人数で忘年会とかすげーなとか、かなり衝撃的だったのを覚えています。

その時の忘年会は、当時は提携をすすめていたらしいイーバンク銀行の「メルマネ」を利用し、社長賞受賞者 3 人に対し「メールアドレスを聞いて、元社長のポケットマネー 10 万円をその場で振り込む」というものでした。
さっきの中小企業的忘年会しか経験がない自分にとって、これはかなりの衝撃でした。

「なんだこの社長賞って。。すげぇ。。」

ちなみに、社長賞以外にも、事業部長クラス以上は全員、年間 MVP を与えたい社員に対し、「誰某賞」と名付けて、賞品やら現金やらが支給されていました。

生々しさはありますが、誰にでも非常にわかりやすい「目の前のニンジン」だなと思いました。
これで燃えないはずがないというか、別にそれをもらうことを目指しているわけではないけれど、一年間という長距離レースで、最後豪脚を披露して、先頭でゴールしたら、超おいしいニンジンがもらえるのは当たり前だなぁと感じたぶん、あの「生々しさ」はむしろ単純な「わかりやすさ」だった印象が強いです。

この忘年会のメインイベントが社長賞の授与で、元社長はその場で携帯を取り出してお金を振り込みました。当時あんまり見たことがない芸当というか、やりかたが非常に斬新だったので衝撃的でした。
その上 10 万ももらえるのかよ!みたいに、これまたイチイチ衝撃的。

忘年会が終わって、二次会に行く道の途中、元社長に

「社長、俺も頑張りますんで、社長賞ください!来年とかでもいいんで!」

って言いました。
まぁよくありがちな、入社早々に興奮気味にイキり立ってる、明らかに空気感の違う新入社員だったと思います。
そんな雰囲気でそう告げると、正面から冷や水を浴びせられるように

「いやいや、まだダメだね。だって俺さ、君の名前なんか覚えてないもん。もっと仕事で頑張って、結果出して、目立たないと」

とマジレスされました。今考えるとそりゃそうだ。
ちなみに、この時の受賞者のうちの 1 人は今も会社の上司で、その日は二次会、三次会の後、明け方まで社長賞のお金でご馳走してもらって飲みました。



冷や水をかぶったその忘年会から 2 年後の、2005 年 12 月 25 日。
その年に開催された忘年会で、私は、ついに念願の社長賞を受賞しました。





一年間、頑張っていましたが、色々アイディアを出しては実装して、でもまだ成果がそれほど出ていないうちの受賞だったので、「今後への期待を込めて」というエール的意味合いでの受賞でした。

どうも当時は、連結で何千人とか、すごい人数在籍している会社だったみたいですが、その中でも 3 人が選ばれたので、その中で賞をいただけるなんて、かなりラッキーだなとか思ってました。

しかも配っていたのは、現金ではなく、ライブドアデパートってECサイトとかで使えるポイントです。ま、なので自社グループの商品券みたいなもんですかね。売上貢献になっていいと思って痛んですけど、バブリーに見えちゃったんでしょうかね。
確かに、私の時は livedoor ポイントと呼ばれる、livedoor デパートで使えるポイントでした。

賞金額は 30 万円分 (30 万ポイント)。
現金じゃなくなったぶん (…かどうかはわからないけど) 額面は増えました。

忘年会の数日後、元社長にお礼かたがたメールを送ったら、
「A さん (元社長秘書) に忘れないように言っておいたほうが良いよ」
と言われたので、A さんにメールを送りました。
A さんからは、
「次の社長のお給料 (*) から天引きして確実にお渡ししますのでお待ち下さい」* 1 月 25 日支給分
と言われました。

そして年が明けて 2006 年 1 月 16 日。
午前 11 時頃に元社長秘書の A さんから人事の方に「社長の給与から天引きして支給してください」という業務連絡が流れました。
うひょー!来週 30 万ポイントもらえる!
なんて興奮気味にその日を過ごしていました。

しかし、その日の夕方、業務時間中に東京地検特捜部が押し寄せてきました。


うわ、、、livedoor ポイントどころじゃねぇや。。。
折角念願がかなって受賞したのに。。。
地検め、何してくれやがる。。。
いや、もう、それどころじゃない。。。


ああ、もう、そんな賞は無かったんだ。あれは夢だったんだ。と、諦めました。
そして、給料日の 2 日前の 1/23、元社長は逮捕され東京拘置所へ。


会社もそんな状況、賞とか甘い夢見たなぁとか完全に意気消沈し、給料日の 1/25、当時お通夜ムード漂う livedoor トップを見てビックリ。
そこには、「ようこそ nipotan さん」の文字の横に、30 万ポイントが表示されていました。
慌ててポイント通帳を開いた瞬間に、社長賞受賞関連で、一番の衝撃がありました。





社長賞振込





そう、東京拘置所にいる元社長が、弊社から支給された「最後のお給料」のうちの 90 万円 (30 万円×3 人) 分が、社長賞のポイントとして処理されたのです。
そして、そのうちの 30 万円分、確かに頂戴しました。


この出来事以来、元社長とは一切の連絡を取ってはいけない的な状況なので、無礼ながらお礼の言葉もお伝え出来ていません。
でも、このポイント通帳を見るたびに、身銭を切ってでも頑張った社員にご褒美を。
そんな、何か「魂」のようなものを受け継いだ気がしました。





魂を受け継いだ私は、まるであの頃の元社長のように livedoor デパートで、うまい酒やらうまい肴をたらふく注文して、しこたま食って飲みまくりました。

俺は、甘党じゃねぇ。|六本木で働いていた元社長のアメブロ
だから、拘置所に3ヶ月入っていた時、実は飯は3食、腹いっぱい食べていたし、間食もそれなりにしていた。が、15キロ痩せた。


まるで、その身代りのように、和牛の希少部位だ、エビやらカニやらの甲殻類だ、高級中華食材だ何だと、元社長ばりのグルメ生活をエンジョイした私は、脇腹あたりにたっぷりと「贅沢なお肉」がつきました。

あの事件から 3 年。それは今もなお健在です。




今思えば、このタプタプ感は、どうも「魂」ではない何かだったようだ。
うーむ。




徹底抗戦
徹底抗戦
posted with amazlet at 09.04.27
堀江 貴文
集英社
売り上げランキング: 182

ホリエモンの想定外のうまい店

ライブドアパブリッシング
売り上げランキング: 145116


nipotan at 21:47 | │Comments(0) | TrackBack(0) | others 
livedoor clipHatena::Bookmarkdel.icio.us

February 27, 2009

ブログを書いたらマニラに行けた (後編)

ということで、ネットで生中継されるのを知っていたので、あんまりたくさんの人に見られると恥ずかしいので、わざと直前に告知した前回でしたが、それに続き、何となく後編を書こうと思います。



ということで、APNIC SPEAKER という、どうもチョットしっくり来ない…というか、そもそも専門分野等々で、色々とアウェイなイベントでお話をさせてもらいました。

アジア太平洋地域で言えば、APRICOT (Asia Pacific Regional Internet Conference on Operational Technologies)、日本とかでは JANOG (JApan Network Operators' Group) なんでしょうか?
ネットワーク関連に従事されている、(OSI で言うところの) 低レイヤーのエンジニアの皆様なら、当然「IPv4 が枯渇する」なんて、昔っから言ってるんだから、IPv6 に切り替えていかないとねーなんてのは散々語りつくされているわけです。
じゃあ、インフラは整うべく着々と準備されていっている中でも、アプリケーションって放っておいても IPv6 対応するの?しないのなら対応ってどうやるの?というのを、今後 IPv6 の上で動くであろうコンテンツを作る側の高レイヤーのエンジニアの人達が、(AP region では地域差こそあれど) ほとんど知ってないという現状に対し、ネットワークのエンジニアの皆様が集まる中で、アプリケーションというのはこうやって対応するんだよーみたいなお話をさせて頂きました。



このような、なかなか立派な、とても広い会場で、ネットワーク寄りなエンジニアの皆様の前で、アプリケーションレイヤーの実装について英語でプレゼンテーションをしないといけないとか、とっても変な空気でしたがw、無事に発表することが出来ました。

発表資料は APNIC 27 のサイトでも公開されていますが、SlideShare のほうにうpっておきました。
発表の中で発言した内容については、まずは速記者の方が書かれた Transcript をご覧ください。
音声や動画等はいずれ公開されると思います。

速記で思い出したのですが、写真に撮り忘れて非常に残念なのですが、すごく面白いなーと思ったのは、プロの速記の方は、大正琴の鍵盤のようなデバイスで、何個かのキーを組み合わせてガシャガシャ押すことで、どんなに長い英単語が含まれようが、慣用的な表現なんかは数ミリ秒でガシャっ!と入力してしまうのですね。
プレゼンテーション中も、会場のモニタにリアルタイムで発言内容が表示されていくのですが、一文字一文字表示されず、ちょっとした述語や連語はドバッ!と表示されます。
一応、stenograph で Google 画像検索すると、どういうデバイスを使っているのかをご覧頂けます。

話が逸れましたが、地上アナログ放送と同様に、IPv4 も割り当て可能なブロックが枯渇するのが近々に迫ってきてます。
その上でコンテンツが対応していないというのは、テレビ局が地デジ放送をやってないみたいなものなので、見られなくなってからの対応では遅いということです。
移行自体には様々な面で、当然ながらコストがかかりますが、枯渇してからビジネスチャンスを失なうほうが痛手だと思います。

テレビの地デジ移行とだいぶ違うなと思うのは、地デジはアナログ放送に比べて、見た目からわかるほどの、様々なメリットがあるのに対して、IPv6 は IPv4 と比べて、プロトコル的にはほとんどメリットが無いということです。
かと言って、「メリットがあんまりないから変えない」ということよりも、「IPv4 しか使えない現状に、近い将来に絶命するほどの致命的なデメリットがある」ということをまず自覚するべきなのかも知れません。

結局、私が言いたいのは「IPv6 化って何も難しくないよ」ってことだけです。

それを実証するためにも、IPv6 対応へ向けての第一歩として、IPv6 テスト環境を提供している、EDGE Co.Lab v6 に応募されてみてはいかがでしょうか。

以下のリンクでも、弊社の伊勢さんが 私がブログに書いた内容を元に、低レイヤーエンジニアとしての視点から見て、よしなにリライトされた内容を発表されていますので、そちらも是非参考になさってください。
[ITproカンファレンス:IPv4枯渇対策]実践してわかったWebアプリをIPv6に対応させる7つの鉄則:ITpro


今回、こういう機会をいただきまして、関係各位の皆様には大変お世話になり、本当にありがとうございました。

英語プレゼンテーションすぐに使える技術と表現 (CD book)
妻鳥 千鶴子
ベレ出版
売り上げランキング: 142476
エンジニアのための英語プレゼンテーション超克服テキスト
平井 通宏
オーム社
売り上げランキング: 34894


nipotan at 13:07 | │Comments(1) | TrackBack(0) | tech 
livedoor clipHatena::Bookmarkdel.icio.us

February 25, 2009

ブログを書いたらマニラに行けた (前編)

Sofitel Philippine Plaza の部屋の窓から

朝 9:00 現在の気温は、26 ℃、今日はあいにくの曇り空です。
Hotel Sofitel Philippine Plaza の部屋から撮影してみました。

以前、「IPv6 とかよくわからない人間が IPv6 対応サイトを作る際の知っておくべき 8 つの注意点」という話を書いたら、それがきっかけで、koyhoge さんに取り次いでいただいたり (ありがとうございます) などしながら、オーストラリアのブリスベンから一本の電話がかかってきました。

電話は、アジア、太平洋地域のインターネットを管轄している APNIC (Asia Pasific Network Information Centre) からで、電話の趣旨は、APNIC が主催する、APNIC 27 というカンファレンスで、「IPv6 とかよくわからない人間が (ry」の内容を発表して欲しいとのこと。

ということで、突発的にフィリピンのマニラに行くことになり、本日、フィリピン時間の朝 9:00 から 10:30 に行なわれる「IPv6 in 3D」というセッションで、「IPv6 とか (ry」の英語バージョンを発表させていただきます。

ライブストリーミングや、速記、チャットなどもあるようですし、慣例的に動画や音声や速記された内容はアーカイブされるようですので、現地にいなくとも、ライブで見られなくても、追ってご覧頂けるかと思います。

ということで、今年はアルファブロガー (笑) になることを目標としておりますが、ブログを書いたらマニラに行けるというのは、なかなかのアルファっぷりなんじゃないかなと思いました。


発表が終わったあと、落ち着いたら後編を書く (かも知れない) と思います。

nipotan at 09:06 | │Comments(2) | TrackBack(1) | tech 
livedoor clipHatena::Bookmarkdel.icio.us

February 17, 2009

CPAN 長いネームスペース大会

FormValidator::Simple::Plugin::Japanese の依存ライブラリを減らしつつ perl5.8 的な Unicode 使用スタイルにして高速化をはかるパッチ - TokuLog 改めB日記」 あたりに関連して、某 IRC にて…
19:23 >nipotan< FormValidator::Simple::Plugin::Japanese は、
19:24 >nipotan< Number::Phone::JP フンフンまわりが重いような希ガス
19:24 >nipotan< つか、U::RD にしても、N::P::J にしても俺じゃねぇか
19:24 <hid*******> w
19:26 <Yap***> www
19:27 >nipotan< FormValidator::Simple::Plugin::Number::Phone::JP でしたっけ
19:27 >nipotan< すっごい長い名前w
19:27 <kan**********> www
19:29 <hid*******> CPANで長いネームスペース大会でベスト10候補ですね
19:29 <tok***********> いやー
19:29 <tok***********> 本当に長いのはもっともっと長かった気がする
19:30 <tok***********> Acme に死ぬほど長いのがあったような
19:30 <tok***********> Acme::Super::Hyper::Very::Long::Long::Module::Name.pm みたいな
19:30 <ots****> Acme::JugemJugemGogouno... かとおもった
19:30 <hid*******> w
ということで、何が長いのか、ホントにベスト 10 候補なのか、調べてみたよ
(2009 年 2 月 17 日現在)

コード:
#!perl

use strict;
use warnings;
use CPAN::Config;
use IO::Uncompress::Gunzip qw($GunzipError);
use constant PRINT_BEST => 10;

my $package_file =
    sprintf "%s/modules/02packages.details.txt.gz",
        $CPAN::Config->{keep_source_where};

my %ranking = ();

my $z = IO::Uncompress::Gunzip->new($package_file) or die "$GunzipError\n";
while (my $line = $z->getline) {
    my($package) = split /\s+/, $line, 2;
    my $length = length $package;
    $ranking{$length} ||= [];
    push @{$ranking{$length}}, $package;
}
$z->close;

my $number = 1;
my $rank;

for my $length (sort { $b <=> $a } keys %ranking) {
    $rank = $number;
    for my $package (sort @{$ranking{$length}}) {
        printf "%2d: %d bytes: %s\n", $rank, $length, $package;
        ++$number;
    }
    last if $number >= PRINT_BEST();
}
で、結果はこうなったよ。

順位文字数ネームスペース
196eBay::API::XML::Call::AddTransactionConfirmationItem::AddTransactionConfirmationItemResponseType
295eBay::API::XML::Call::AddTransactionConfirmationItem::AddTransactionConfirmationItemRequestType
394Perl::Critic::Policy::ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions
492eBay::API::XML::Call::AddMemberMessageAAQToPartner::AddMemberMessageAAQToPartnerResponseType
492eBay::API::XML::Call::AddMemberMessagesAAQToBidder::AddMemberMessagesAAQToBidderResponseType
492eBay::API::XML::Call::GetLiveAuctionCatalogDetails::GetLiveAuctionCatalogDetailsResponseType
492eBay::API::XML::Call::GetStoreCategoryUpdateStatus::GetStoreCategoryUpdateStatusResponseType
492eBay::API::XML::Call::ValidateTestUserRegistration::ValidateTestUserRegistrationResponseType
991eBay::API::XML::Call::AddMemberMessageAAQToPartner::AddMemberMessageAAQToPartnerRequestType
991eBay::API::XML::Call::AddMemberMessagesAAQToBidder::AddMemberMessagesAAQToBidderRequestType
991eBay::API::XML::Call::GetLiveAuctionCatalogDetails::GetLiveAuctionCatalogDetailsRequestType
991eBay::API::XML::Call::GetStoreCategoryUpdateStatus::GetStoreCategoryUpdateStatusRequestType
991eBay::API::XML::Call::ValidateTestUserRegistration::ValidateTestUserRegistrationRequestType


現実は全然長すぎるよ。。

ちなみに、あまりにつまらない結果なので、10 位までしか出してないですが、1,000 位まで出した (ちなみに 56 文字で 906 位タイというのが 98 個あったので、1,000 位までの総数は 1,003 個) 場合、
  • eBay::API::XML:: から始まるものが 498 個
  • Perl::Critic:: から始まるものが 127 個
  • perfSONAR_PS::Datatypes::v2_0:: から始まるものが 55 個
  • UMMF::UML::MetaModel:: から始まるものが 46 個
  • UMMF::UML_1_5:: から始まるものが 45 個
と目立ちました。
そして、予想に反して、Acme:: から始まるものは、1,000 位までの中で 0 個でした。

さぁ、すごい長くて素敵な名前を考えて、トップに躍り出るチャンスだよ!
みんな頑張ってね!
俺は空気読む子だから頑張らないよ!

nipotan at 20:38 | │Comments(0) | TrackBack(2) | tech 
livedoor clipHatena::Bookmarkdel.icio.us

February 13, 2009

BPM を調べるやつ

ヒビノアワ: 自作iPhoneアプリ「BPM」公開されました!

こういうのいいなーと思いつつ、iPhone 持ってないから俺使えないじゃん!

と、ついカッとなって作った。今は反省している。
#!perl

use strict;
use warnings;
use Time::HiRes qw(gettimeofday);
use Term::Screen;

use constant DEFAULT_SECONDS => 60;

my $secs = int $ARGV[0] || DEFAULT_SECONDS();

my $screen = Term::Screen->new;
$screen->clrscr();

my $start;
my $end;

$screen->at(0, 0)->puts(sprintf("pless any key to start. (%d secs)", $secs));

my $count = 0;
my $bpm;

while (my $c = $screen->at(1, 0)->getch) {
    $screen->clrscr();
    exit if $c =~ /^[\x03\x04\x1b]$/;
    $count++;
    unless ($start) {
        $start = gettimeofday();
    }
    $end = gettimeofday();
    my $diff = $end - $start;
    $bpm = $diff > 1 ? $count * (60 / $diff) : 0;
    $screen->at(0, 0)->puts(
        sprintf("%3dbeats - %.2f BPM (%.3fsecs)", $count, $bpm, $diff));
    last if $diff >= $secs;
}

$screen->clrscr();
$screen->at(0, 0)->puts(sprintf("%.2f BPM", $bpm));
$screen->at(1, 0)->puts('');
音楽を聞きながら、キーボードをタップ (?) して調査できます。
そもそも、BPM 調べる用のソフトは色々とあるので、GUI が使えないという、奇特な環境の人向け。

そんな人あんまいないだろ JK

nipotan at 12:33 | │Comments(0) | TrackBack(0) | tech 
livedoor clipHatena::Bookmarkdel.icio.us

February 05, 2009

正規表現で、ソーシャルブックマーカブルな URL かそうでないかを判定する

#!perl

use strict;
use warnings;
use Perl6::Say;

my $PRIV_IP_RE = qr{^https?://
    \b(?:
	10\.(?:\d\d?|1\d\d|2(?:[0-4]\d|5[0-5]))|  # class A
	172\.(?:1[6-9]|2\d|3[01])|                # class B
	192\.168                                  # class C
    )
    \.(?:\d\d?|1\d\d|2(?:[0-4]\d|5[0-5]))
    \.(?:\d\d?|1\d\d|2(?:[0-4]\d|5[0-5]))\b
}xi;

for my $url (qw(http://10.10.2.60/ http://www.google.com/)) {
    say "$url IS " . ($url =~ $PRIV_IP_RE ? "NOT BOOKMARKABLE" : "BOOKMARKABLE");
}
結果:
http://10.10.2.60/ IS NOT BOOKMARKABLE
http://www.google.com/ IS BOOKMARKABLE
参考:
おまいの iTunes も共有汁 - にぽたん研究所
はてなブックマーク - うごメモはてな - メモからはじまる新しいコミュニケーション!

nipotan at 18:07 | │Comments(0) | TrackBack(0) | tech 
livedoor clipHatena::Bookmarkdel.icio.us

January 21, 2009

節子、それ 246 やない。六本木通りや

唐突だけど、六本木通りと 246 (国道 246 号線) を混同して覚えている人が割と多いなーと、日頃からよく思う。

東京とまったく縁が無い人とか、そんなこと知ってるよって人にはどうでもいいお話なので読み飛ばし推奨。

言うまでもなく、六本木通りと 246 は全く違う道。しかも、六本木通りという名の付く場所で、国道 246 号線な場所は存在しない。

人と会話している中で、「それはどのあたりにあるんですか?」とか「そこにはどうやって行くんですか?」とか、場所についての話題になると、突如

「246 をまっすぐ六本木交差点のほうに向かってー…」

とかいう表現があらわれて、よく混乱させられる。

まず脳内で、六本木交差点は、六本木通りと外苑東通りが交差している交差点だから、えー、んー、あー、この人何言ってんだろ?どこだそれ?となる。
で、ちょっと経ってから、あー、きっと六本木交差点と 246 を混同しているわー…と、混乱に陥った原因を自分の中で想像してみる。
そこからはずっと、その人の口から出てくる「246」を「六本木通り」に置き換えて話を聞いていると、大抵の場合、つじつまが合ってくる。
話の中で 246 には六本木ヒルズや西麻布交差点が出てきたりする。

自分の中でそうやって解決してしまって納得してしまうから、そこからあえて「違うよ」と訂正をしてあげたことは一度もない。
でも、そのせいか、最近は鬱憤が溜まってきた。
こういう人は一人ではなく、結構多い。

以下の参考リンクに書いている方々は、全員明らかに六本木通りと 246 を混同している。

http://piza.2ch.net/...
101 名前: 名無しさん@お腹いっぱい。 投稿日: 2000/11/07(火) 11:58
とりあえず最初によった薬局は、246の六本木と西麻布の間のアヤしいとこ。

http://news2.2ch.net/...
65 名前: 多分においおい 投稿日: 03/05/01 11:30 ID:dzcuHkEp

 >>64
 朝方のタクシー移動はあまりオススメしないっす。
 しかも246の六本木周辺はヒルズ渋滞っす。

http://r.tabelog.com/...
場所は六本木から渋谷へ抜ける246の
西麻布交差点付近。


もう、なんか、あまりにそういう人が多くて、言わずにいられない。
だめだ、我慢できない。
説明させてくれ。

地図で見てみよう。

六本木通りと国道 246 号線の起点

どちらも起点は皇居沿いの内堀通りとの交差点から。
六本木通りの起点は、国会前交差点。国道 246 号線の起点は三宅坂交差点。

六本木通りと国道 246 号線の都心部全体図

全体図で見ると、六本木通りはほぼ全区間、首都高速の横ないしは高架下なので、いつも日陰なイメージ。これに対して、この区間の国道 246 号線、ほとんど首都高速に併行していないので、いつも日向なイメージ。この首都高に併行していない区間は、俗に「青山通り」と呼ばれる。

六本木通りと国道 246 号線の合流点

六本木通りの終点がここで訪れる。渋谷クロスタワービルがある渋谷警察署前交差点で国道 246 号線と合流する。国道 246 号線はこのまま渋谷駅を通って、静岡の沼津まで延びている。

神奈川方面から渋谷に向かって考えると、混同しやすい理由が非常によくわかる。

三軒茶屋方面から、首都高速 3 号渋谷線の高架下の国道 246 号線を渋谷方面に向かって行き、渋谷駅で、JR と東急のホームの下をくぐる。で、そこからまっすぐ進むと、二つ目の信号機から先は気付けば 246 ではなく、六本木通りになっている。
多分、これが一番の原因。
あとは、さっきの「日陰と日向のイメージ」も実は軽く原因になっている気がする。

国道 246 号線は、渋谷警察署前交差点で合流したあたりから、神奈川方面に進み、環八通りで合流するちょっと手前のあたりまで、ずっと首都高速 3 号渋谷線の高架下なので、その区間は日陰のイメージしかないから、その印象に引っ張られて渋谷から皇居までの首都高 3 号線の高架下で日陰の区間も国道 246 号線なのではないかと錯覚してしまう。

とりあえず、今後は俺に対して六本木通りと 246 を混同して説明する人がいた場合、話を遮ってでも大人気ない感じで全力で訂正させてもらいたいとおもいますので、今後ともよろしくおねがいします。

nipotan at 19:30 | │Comments(0) | TrackBack(0) | graffiti 
livedoor clipHatena::Bookmarkdel.icio.us

January 16, 2009

ThinkPad X60 で SSD の換装をしてみた

2 年半ぐらい前に購入した Lenovo ThinkPad X60 が段々不安定になってきたのと、標準で搭載されている 80GB HDD が容量的にほんの少しだけ不満に思えてきたので、そろそろ新しいラップトップを購入しようと考えました。

でも、色々調べていても、ここ 2 年の間で、ほとんどがビックリするほどほとんどスペックアップしてない。
HDD が (モデルによって) SSD になったぐらい。。。

X60 シリーズ用の 8 セルの大容量バッテリーとかも使ってるし、

これを使わなくしてしまうのはもったいないので、ということで、新しい ThinkPad を購入するのは見送って、しばらくこのまま X60 を使い続けることにしました。
ただ、先述の通り、若干動作が不安定になってきていたので ThinkPad をリカバリ (HDD の中身を工場出荷時の内容に戻す) しようという思いが前々からあったので、リカバリついでに HDD の容量をもっと大きくしたいなとも考えてました。

年が明けて、2009 年は SSD が主流になる年だという声をところどころで見かけたので、あー、じゃあそれに乗ってみるかーということで、SSD を調べたところ、意外に安かったので購入し、換装してみました。

ThinkPad X60

二年半前に購入した ThinkPad X60 です。Designed for Windows のシールとか、Intel Core2 Duo のシールとかは、手汗で完全に剥がれました。
レノボ・ジャパン ThinkPad X60 (T55/512/60/XP/12TFT)T 1709AJ1
Lenovo (2007-04-18)
売り上げランキング: 121424



I-O DATA HDCN-U500
データのバックアップ用に 500GB の外付け HDD (I-O DATA HDCN-U500) を買いました。
この容量でこのお値段は安いです。

I-O DATA USB 2.0/1.1対応 外付型ハードディスク 500GB HDCN-U500
アイ・オー・データ (2007-12-20)
売り上げランキング: 45

この外付け HDD に、保存しておくべきファイルを一つ一つ保存しました。
ここで、ディスクやドライブのバックアップイメージファイルとかを作らなかったのは、それを復元してしまうと、不安定な状態までも復元してしまうんじゃないかと思ったからです。
この認識が正しいのかどうかはよくわかってません。多分、正しい気はします。

バックアップを取った後に、内蔵 HDD のリカバリ領域からリカバリして、外付け HDD に保存したデータから、元々使っていたファイルとかを取り出し、使い勝手が良い状態になるまで、各種設定をし、OS 入れたてだから非常に安定していながらも、不安定さが大幅に改善された「いつもの環境」と呼べる状態にまで戻しました。
ちなみに、SSD は書き換え回数に限界があって、今回購入した SSD は MLC で、MLC の場合の書き換え回数の限界は 1 セルあたり 1 万回ぐらいと言われています。
なので、SSD にまっさらな OS を入れて外付け HDD からデータをコピーしたり、使うアプリケーションのアーカイブを取ってきて、展開 (解凍) して、インストールしてとかやると、書き換えの回数が異常に増えるような気がしたので、SSD の寿命をなるべく延ばすために「HDD で完全に環境を作って、そこから SSD に移す」という手順を考えました。きっとそのほうが書き換え回数が少なく済むと思ったからです。

で、いよいよここから SSD へ換装する作業へと突入です。

BUFFALO SHD-NSUM120G

今回購入した SSD は、BUFFALO SHD-NSUM120G です。
120GB と、容量も増えて嬉しい。
BUFFALO 2.5インチ MLC搭載 SATA II/USB2.0用 内蔵SSD SHD-NSUM120G
バッファロー (2008-09-30)
売り上げランキング: 1005

気になったのは、パッケージとかに「起動」が速くなると書いてあるが、起動以外についてはあまり大々的には触れられていない点。

USB 端子

つなげた状況

SSD には USB 端子が付いているので、USB 経由でデータの移行を行ないます。

移行には、購入した SSD (BUFFALO SHD-NSUM120G) に同梱されていた、Acronis Migrate Easy を使い、HDD のクローンを SSD に作りました。
Acronis Migrate Easy 7.0 Vista対応版スリムパッケージ
ラネクシー (2008-03-07)
売り上げランキング: 155

移行が完了したら、HDD を SSD に換装です。

HDD 取り出し

ここのネジを取って HDD を取り出します。

ひらけ

オープン。

ビニール

このビニールのビラビラを引っ張って HDD を抜きます。

出てきた

抜かれちゃいました。

横のゴム

両脇についてたゴムのやつを取ります。

取りはずす

HDD がついてたケース的なものを取り外します。

SSD に取り付ける

SSD にさっきのケースを取り付けます。

横のゴムをつける

両脇のゴムのも SSD に取り付けます。

差し込む

奥まで入れます。ビラビラは元通り中に入れます。

フタを閉める

フタを閉めたら完了です。

と、ここまで作業が完了したら、いよいよ期待の「激速 OS 起動」です!



…しかし、ThinkPad の起動画面の後、画面左上にプロンプトが点滅したままで、うんともすんとも言わず、起動しませんでした。。。

起動しなおして、ThinkPad 起動画面の時に ThinkVantage ボタンを押したら、SSD 内のリカバリ領域 (別パーティション) から ThinkVantage Rescue and Recovery (工場出荷時の状態に戻すアプリケーション) がちゃんと起動したので、少なくともリカバリ領域のクローンは出来ている模様。

HDD に挿しかえなおして、USB で接続したら、Windows の領域もちゃんとクローンが作られている。
何が原因なのだろう?

Migrate Easy の FAQ をサイトで検索したら
ラネクシーサポート | Acronis コンシューマ製品 FAQ: クローンしたハードディスクから Windows が起動しません

というページに、「コピー作業が完了した直後に、クローン元とクローン先のハードディスクを接続した状態でコンピュータを起動しないでください。」と赤字で書かれている。

しかし、Migrate Easy は、コピー完了して、正常に終了しようとすると、HDD や SSD を差し換える猶予がまったく与えられず突如再起動してしまうので、その仕様はおかしくないか?とか、それは完了画面に出すべき重要な情報なんじゃないか?とか思った。でも、えー、まさかそんなのが原因なはずないだろ?と疑いつつ、もう一度 HDD クローンを作成。
次は当然ながら作成完了直後に電源長押ししてブッチン切り

そして、再度 SSD を接続して起動。
しかし OS が起動せず、プロンプトが点滅しているだけの状況はかわらない。

これは恐らく MBR (マスターブートレコード) がちゃんとコピーされなかったか、破損しているために起動しないんだなと判断。

MBR の修復には、 Windows XP 回復コンソールから fixmbr コマンドを実行すればいいという情報を得たものの、ThinkPad X60 に適合する Windows XP の CD-ROM は持っていない。
そういう場合は Microsoft の web サイトから ISO イメージをダウンロードして、FD に保存して、FDD から起動するらしいのだが、そもそも FDD なんて持っていない。。。
今どき、FDD なんて普通持ってないよな。FD 用のイメージしか用意していないなんて頭悪いんじゃないか?

ここに FD のイメージを用いて CD ブータブルな回復コンソールを作る方法が説明されているので、この手順で、回復コンソール用の CD-ROM を作成する。
実に複雑な手順であるが、何とか完成。

しかし、この CD-ROM を入れて ThinkPad を起動しても、回復コンソールの起動途中にブルースクリーンで落ちる。
20 回繰り返したが、必ず同じ場所でブルースクリーンになる。こりゃ、CD-ROM がマズかったかなと思って、別の PC に繋いだら、うまいこと回復コンソールが起動した。
回復コンソールが起動しないのは、どうやら、ThinkPad X60 固有の問題なのかも知れない。

で、回復コンソールが起動するその PC に、SSD を USB で繋いで、回復コンソールを起動して、fixmbr を実行してみたら、うまくいった模様。

意気揚々と SSD を ThinkPad に挿し、電源を入れた…が、状況がかわらない。
んー、これでも MBR がどうしてもおかしいのだろうか。

MBR のコピーが失敗しているのであれば、いったん SSD をちゃんと起動する状態にした後に、元々ちゃんと起動する HDD の中身をコピーすれば、MBR は上書きされずに、起動したというようなことを書いていたサイトを見掛けたので、SSD のリカバリ領域から ThinkVantage Rescue and Recovery を起動して、SSD の中身を、工場出荷時の HDD と同様にしてみた。
もちろんその状態なら Windows は起動する。
そして、その後に Migrate Easy を使って HDD の中身を SSD にコピー。
さすがにこれでいよいよ起動するだろうと思って、元気よく SSD を ThinkPad に挿し、電源を入れた…が、起動しない。

FreeDOS のブータブル CD を作って起動すれば、fdisk コマンドで MBR を修復出来るという情報もあったので、ブータブル CD を作ってみたものの、Invalid Opcode とか言われて、fdisk を起動する段階まで行かない。

次に、再び SSD から ThinkVantage Rescue and Recovery を起動して、SSD の中身を、工場出荷時の HDD と同様にして、SSD に同梱の Acronis True Image で、HDD の C ドライブ (パーティション) のみのバックアップイメージを作って、別ディスクに保存。そこから SDD にリストアしてみた。

イメージを作るのは 1 時間半ぐらいで終わったんだが、SSD へのリストアを開始したら、完了予定まで「残り 14 日」とか出てきた。
ひぃぃ! 2 週間 ThinkPad 使えないのかぁ!!

と、見ていたら「残り 12 日」「残り 8 日」「残り 2 日」…と段々減っていく。
「残り 22 時間」「残り 16 時間」「残り 12 時間」と、10 分ぐらいで 12 日から 12 時間まで縮まったので、何とかなりそうだなーと思った。
そこからも劇的に残り時間が減っていき、結局リストアにはトータルで 6 時間半ぐらいかかった。
が、6 時間半経って「残り 15 秒」ぐらいの表示の時に、リストアに失敗した旨のメッセージが。

はぅっ!ヤバいっ!!
と、慌てて起動しなおしてみたら、黒い画面に白い文字で Operating System not found とだけ表示された。
バックアップとリストア足して 8 時間完全に無駄。
ここまで来ると、さすがに、部屋で独りながら PC に向かって大きな声で言いましたよ。


死ね!!!




悪戦苦闘にも程がある。

書き換え回数ふんふん言って寿命を気にして考えた手順だが、この時点で既に SSD の中身の大部分を書き換える作業は 6 回を超えている
どんだけ寿命縮めてんだよと。

いや、サマリーだけ書いて 6 回だが、実はここに書くのもアホらしかったり、恥ずかしかったりして、ここに書いていない作業もある。本当はこの時点で SSD の中身の大部分を書き換える作業を既に 8 回行なっている。

恐らく、ここまで費した総作業時間は 40 時間程度。

で、9 回目にはさすがに観念して、一番最初に書き換え回数を気にして行なった作業
バックアップを取った後に、内蔵 HDD のリカバリ領域からリカバリして、外付け HDD に保存したデータから、元々使っていたファイルとかを取り出し、使い勝手が良い状態になるまで、各種設定をし、OS 入れたてだから非常に安定していながらも、不安定さが大幅に改善された「いつもの環境」と呼べる状態にまで戻しました。
を、内蔵 HDD ではなく、SSD に対して行なった。
最初からそれを行なっていればこの 40 時間に渡る無駄作業をせずに済んだのに…。


で、いよいよ今週から SSD 生活に突入してまだ数日ですが、さすがに驚くのは OS の起動がバカみたいに速いことです。今まで逆に遅過ぎたので、それに比べて 5 倍ぐらいの速度で起動しているように見えます。

他にも起動が妙に重かったアプリケーションはとにかく速いという実感があります。
それ以外はそんなにスゲーっと言うほど何かが速いという実感はないです。
むしろ複数のプロセスが同時に読み書きを行なったりしている状況だと、全体的に処理が固まってしまうような感覚があります。
それは HDD の時にもあったのでしょうが、HDD の時のようにカリカリカリカリ…という音による「ちょっと、今忙しいから待って」みたいな主張が、SSD からは一切感じられないので、一瞬、あれ?壊れたのかな?なんて思ってしまうことが多かったです。

そう、音といえば SSD の場合は HDD のカリカリ音やモーター音がなく静かだという利点があげられますが、正直、そんな音にイライラするほど神経質だったわけではないので、別に…という感じです。
HDD の音に関しては上記のように「今忙しいから待って」という主張を音で感じてた程度で、別にイライラなんかしてないし。

HDD よりは消費電力が遥かに少ないようで、バッテリー駆動の時はバッテリーがだいぶ長持ちするので良いです。30% 以上は駆動時間が延びているかも知れないです。
電気代の節約にもなると思います。微々たるものでしょうが。

あと、しばらく忘れていたのですが、ファイルの中身を読み出すと atime (最終アクセス時刻) 属性が更新されますが、読み出すたびに更新が走ってしまって、SSD だと寿命も縮めるわ、読み込みが重くなったりするわで大変だったので、atime 属性を以下のコマンドを実行することで、今後更新しないようにしました。
C:\WINDOWS>fsutil behavior set disablelastaccess 1
あと、旧 MS-DOS 互換用に 8.3 形式のファイル名の生成 (Program Files が PROGRA~1 みたいになるやつ) が行なわれているのを抑止するために
C:\WINDOWS>fsutil behavior set disable8dot3 1
コマンドも実行しました。


ということで、とりあえず、もうしばらく ThinkPad X60 と付き合っていこうと思います。

で、SSD があまりに良いという実感が沸いたら、MacBook も SSD に換装するんだ。
あと PS3 も。

nipotan at 17:54 | │Comments(4) | TrackBack(2) | tech 
livedoor clipHatena::Bookmarkdel.icio.us

スティッカムに登録したメールアドレス宛へのご連絡が多過ぎる件

Twitter とかでも時折つぶやいていたのですが、この現象が発生してから 7 ヶ月ぐらい経った今も、特に何も変化がありませんし、公式にそれなりの発表とかがあったわけでも無いので、他の方への注意喚起のために、あえて書こうと思った次第。

だいぶ前にスティッカムという、USTREAM.TV に似たライブ中継サイトに登録したのですが、昨年 5 月ぐらいから、スティッカムに登録したメールアドレス宛へ、外国からのお便りがすごく沢山送られてきます。
沢山のご連絡を頂けるのはとても嬉しいのですが、最近はすごく申し訳ないのですけど、一通一通読んだり、返事を書いたりする暇が無く、そんなに同じことを何度も何度も送って頂いて返事を催促されても、正直困っちゃうなぁーというのが本音です。

なんかよく知らないおクスリが処方箋なくても買えますよというご案内であったり、一緒にセクシーなビデオチャットしましょうというお誘いだったりです。
知らないおクスリを服用しなくてはいけないような持病や既往症もないですし、セクシーなビデオチャットとかは、あんまりそういうの趣味にすると友達とか減りそうなのであえて避けてます。
ただ、「興味がないです」って返事すれば良かったのですが、その返事を書く暇もなく、この場を借りて、長くの間、筆不精になってしまったことをお詫び申し上げます。

最初、どこの外国人さんかなーと思って悩んだのですが、どうもスティッカムに登録した時のアドレスばかりにそういうのが来るんです。
だから、何か、そういう、スティッカム登録者に対して、興味がありそうな分野のメール案内を送ってきてくれているのかも知れませんけど、配信停止方法が書いてなかったので、ここに書かせてもらいます。

そういうのいらないですよー。止めてくださいー。>スティッカムの中の方

ちなみに、普段は nipotan@ なんちゃらというアドレスを使っていますが、web サイトとかに登録する時には、ほとんどの場合 nipotan-サービス名@ なんちゃらというアドレスにしています。
単純な話、qmail で、
% echo ./Maildir/ > ~/.qmail-default

とかしているので、ハイフン以降に何が続いても受け取れるようにはしてあります。

つまり、大量にお便りが来るアドレスというのは nipotan-stickam@ なんちゃら宛で、当たり前の話ですが、このアドレスは、スティッカムでしか使ってませんw

参考までに、昨日の 0:00 から、今日の午前中までに来た nipotan-stickam@ 宛にきたメールの一覧はこんな感じです。
Stickam-SPAM



で、まぁ、何が言いたいかと言うと、スティッカムに未登録の方で、今後登録したいという方は、よっぽどおクスリとか、セクシーなビデオチャットとか必要じゃない限りは、登録する時のアドレスは「捨てアドレス」のほうが良いですよ。

ということです。


面倒なので今日から
% echo # > ~/.qmail-stickam

しようと思うのですが、スティッカム的にこれって問題ないですかねー。

誰に聞いてんだー。おれ。



参考:
抜かずに斬れ: Stickamスパム
qmailでメールを捨てるには - (ひ)メモ

nipotan at 12:37 | │Comments(3) | TrackBack(2) | spam 
livedoor clipHatena::Bookmarkdel.icio.us

あ、やばい

アルファブロガー (笑) になるのが目標だった。
忘れてた。

nipotan at 11:48 | │Comments(0) | TrackBack(0) | graffiti 
livedoor clipHatena::Bookmarkdel.icio.us

January 08, 2009

今年の目標

明けましておめでつおごじあまうs
今年の目標はアルファブロガー (笑) になることです。
本年も宜しくお願い申し上げます。

nipotan at 11:36 | │Comments(0) | TrackBack(0)
livedoor clipHatena::Bookmarkdel.icio.us

December 15, 2008

IPv6 とかよくわからない人間が IPv6 対応サイトを作る際の知っておくべき 8 つの注意点

先日、一般や企業向けに IPv6 対応を支援をする、EDGE Co.Lab v6 というのを始めました。
これを始めるにあたって、弊社情報環境技術研究室の伊勢さんから、「なんかウチでやってるコンテンツで、どれか IPv6 対応しようよ」と、いきなり言われました。

実は IPv6 って何年も前からよく耳にするけど、特にインフラまわりの知識が拙いし、何だかんだ身の回りのほとんどが IPv4 で、それでまぁウマくいってるからよくわからないし、別にどうでもいい…と、IPv6 に対して「現実味がない。時期尚早なのでは?」みたいな勝手な印象を抱いて、毛嫌いしてました。

伊勢さんは 2ch の IPv6 板とかを立ち上げたらしく、IPv6 でアクセスすると、トップページのひろゆきが踊って表示されるそうです。
IPv6 と IPv4 の差って、ひろゆきが踊るか踊らないかの差だけ?とか、そうじゃないのをわかってながら変に牽制しつつ、対応しようとか言われても、IPv6 の何がいいのかよくわからんーとか思って、ボンヤリと引き受けました。

で、その話の中で IPv4 枯渇時計というものを教えてもらって、衝撃を受けました。



実は IPv4 アドレスの枯渇 (予測) が意外に間近に迫っていて、今現在、良い悪いだ議論してようが、毛嫌いをしていようが、近い将来、この業界で働いている限りは免れることの出来ない現実だと感じました。
なのでこれを機に、実験的に fixdap を IPv6 化することにしました。

しかし、何をもって「IPv6 化」と言うのかわからず、何となく調べながら、ちょこちょこいじって、とりあえずは IPv6 対応が完了しました。
2ch の IPv6 板と同様に、IPv6 でアクセスした場合はロゴが変わるようになってます。

IPv4:
fixdap IPv4

IPv6:
fixdap IPv6

実際に見てみたい方はこちらにアクセスしてみてください。
どうでしたか?あなたの環境は IPv6 でしたか?

ちなみに、ロゴが違う以外は、特に違いはありません。もちろん、違いをつけることももちろん可能です (その予定はないです) が。

プロトコルの差異とかは、特に気にはしてない…というか、実はちゃんと理解出来てませんが、実際にやってみると、IPv6 に対応するのはそんなに難しいことでもありませんでした。
今後避けて通れない IPv6 対応をする際、どういうところを注意すれば良いか、要点をまとめてみました。

  1. クライアントとサーバの終端装置が IPv6 対応していないとダメ
  2. 実は、どちらも終端側が IPv6 対応じゃないと IPv6 が利用出来ないみたいです。
    IPv4 と IPv6 のデュアルスタックの構成にする場合は、テストする際には当然 IPv6 が優先されていないとダメです。
    意外にも、インターネットの間口となっているルータやら、サーバ側に設置したエンタープライズのロードバランサ製品とかが IPv6 に対応していない…なんてのは、珍しくなかったりします。
    ただし、クライアント側のルータが IPv6 に対応していなかったとしても、IPv6 の HTTP proxy を立てることによって、一応の検証作業は行なえます。

  3. サーバ ID (SSL 証明書) は IPv4 だろうが IPv6 だろうが関係ないよ
  4. 元々 fixdap は SSL も利用しているので、IPv6 用に新規にサーバ ID を追加したのですが、中間 CA 局に発行してもらう際には IPv4 と同様の手続と、同様の証明書を利用することが出来ます。「IPv6 用の証明書」とか、雰囲気的にありそうですが、そういうものは別にありません。
    IPv4 と IPv6 のどちらでもアクセスできる環境がある方は、SSL ページの証明書の情報を見てみてください。
    IPv4 と IPv6 で、同じ CA 発行ではありますが、別のサーバ ID を使用していることがわかると思います。

  5. Apache の設定は、そんなに難しくないよ
  6. Apache は 2.0 以降、Apache Portable Runtime (APR) が IPv6 をサポートしているシステムで IPv6 のソケットを listen 出来るようになっています。
    IP アドレスとポート番号を指定出来る各ディレクティブでは、IPv6 アドレスは [] (bracket というか角括弧というか大括弧) で囲む必要があります。恐らく IP アドレスとポート番号の区切り文字である ":" (コロン) と、IPv6 アドレスの 16bit ごとの区切り文字とを混同しないためだと思います。
    Listen [2001:db8:bad:feed::dead:beef:cafe]:80
    NameVirtualHost [2001:db8::babe:face]:80
    <VirtualHost [2001:db8::babe:face]:80>
      ServerName babe-face.example.com
        :
        :
    </VirtualHost>
    違う場所はそのぐらいで、あとは通常通りでイケます。
    ただ、ポート番号を記述しない Allow や Deny 等のディレクティブは、IPv6 アドレスを [] で囲まずにそのまま書きます。
    Allow from 2001:db8:c0:ffee::/64
    IPv4 と IPv6 の場合の設定で違う場所はこのぐらいです。
    あとは、いつも通りの設定をすれば良いだけです。

  7. 疎通確認は ping や traceroute ではないよ
  8. 最初、ping やら traceroute の引数に IPv6 アドレスを指定しても、unknown host と怒られちゃうので、どうやって ICMP を送りつけるのかなーと思ったのですが、IPv6 の場合は、コマンドの後ろに 6 が付く、ping6 や traceroute6 コマンドを使うようです。
    % ping6 2001:db8:bad:face::dead
    % traceroute6 2001:db8:bad:face::dead
    言うまでもありませんが、Windows の場合は traceroute6 は、tracert6 です。

  9. DNS 登録は A レコードではないからね
  10. 名前解決の時に IPv6 アドレスを返すように DNS に登録するのに登録するレコードは、A レコードではなく、AAAA (クアッド A) レコードにする必要があるようです。
    AAAA レコードを引かない環境では A レコードが解決されるので、その場合は IPv4 でのアクセスになるようです。

  11. IPv6 か IPv4 かの判別はどうすればいいのかな
  12. web アプリケーション側で、IPv4 からのアクセスなのか、IPv6 からのアクセスなのかを判別するのはどうすれば良いかと言うと、ホスト名をかえている場合はそれで簡単に判断出来ると思いますが、心情的には同じホスト名でアクセスさせたいところ (2ch や fixdap はそうしています)。
    その場合、単純に接続元のアドレスが IPv4 なのか IPv6 なのかを見れば済みます。
    $ENV{REMOTE_ADDR} やら、mod_perl 環境とかだと $r->connection->remote_ip やらが接続元になると思います。
    そんなに厳密にやらなくても良いなら、数字とドットだけで構成されていたら IPv4、数字と a-f のアルファベット、コロンとドットで構成されていれば IPv6 と判断してもいいぐらいのカジュアルさでも良いと思います。
    また、IPv6 で Listen しているサーバを reverse proxy にしている場合は、mod_headers を利用して、リクエストヘッダに、IP のバージョンヘッダとかを追加してあげれば、proxy される側のアプリケーションでそれを参照するだけで済むので、実装が楽になると思います。
    以下は、簡単な一例です。
    Listen 80
    
    # IP-based virtual hosting
    <VirtualHost [2001:db8::babe:face]:80>
      ServerName babe-face.example.com
      RewriteEngine On
        :
        :
      RequestHeader set X-IP-Version 6
    </VirtualHost>
    
    <VirtualHost 192.0.2.1:80>
      ServerName babe-face.example.com
      RewriteEngine On
        :
        :
      RequestHeader set X-IP-Version 4
    </VirtualHost>
    これが恐らく最も手軽です。
    アプリケーション側で、$ENV{HTTP_X_IP_VERSION} やら、mod_perl 環境であれば $r->header_in('X-IP-Version') なんかを参照することによって、判別することが可能です。

  13. IP アドレスを保存するカラムとかの長さは足りてるかな
  14. web アプリケーション側でデータベースに保存する際、アクセス元の IP アドレスを保存しているカラムとかがあると、罠にハマります。
    文字列として IPv4 アドレスを保存する場合は、
    |255.255.255.255|
    +----5----0----5+
    15 バイトのカラムを確保すれば済みますが、IPv6 の場合は、もっと長い必要があります。
    で、実際どれぐらい長ければいいのかわかってないのですが、どっかで IPv4 互換アドレスというのを見た記憶があります。それを一番冗長に書くと
    |0000:0000:0000:0000:0000:0000:255.255.255.255|
    +----5----0----5----0----5----0----5----0----5+
    とかなので、実際、REMOTE_ADDR がこういう形式で入ってくるかわからないし、0000:0000:0000:0000:0000:0000:0:0:0:0:0:0::: と略せるそうなので、こんな長いアドレスは保存されないとは思います。
    でも念の為に 45 バイトぐらいはあったほうが心強いような気がします。
    そのあたりは識者にうかがいたいぐらいです。
    あとは、IPv4 アドレスを 8bit x 4 として扱って、4 バイトのバイナリデータにしている場合は IPv6 の場合は 16 バイト入るようにカラムの長さを確保しておく必要があります。

  15. アクセス解析がちゃんと出来るかな
  16. アクセスログを解析する場合、アクセスログの parser が、行頭を IPv4 アドレスだと決め打ちにしていたら、IPv6 アドレスはマッチングせずに parse 出来ません。
    parse 出来ないなら、parser を改修するか別のものに置き換える必要があります。


以上が注意すべき 8 つのポイントです。

とは言え、実際には IPv4 が枯渇しそうな今の次点でも、IPv6 環境が構築できるような環境がなかなか無いのが実情です。
しかし、来るべき IPv4 枯渇時代に備えて、これらの知識を今のうちに知っておくのは有益なのではないかなと思います。

正直、自分は、環境を提供してもらって、作ったってだけなので、IPv6 化するという基本的なスタート地点より先が未だによくわかってませんが。。。
(これからちゃんと本とか読んで勉強したいと思います)

実際に、環境が整えられないが、IPv6 環境を構築したり、その環境下で検証等をしてみたいという方は、EDGE Co.Lab v6 に応募されてみてはいかがでしょうか。

マスタリングTCP/IP IPv6編
IRIユビキタス研究所
オーム社
売り上げランキング: 59886

IPv6 エッセンシャルズ 第2版
Silvia Hagen
オライリー・ジャパン
売り上げランキング: 190406

IPv6教科書 (インプレス標準教科書シリーズ)

インプレスR&D
売り上げランキング: 281007

IPv6ちょー入門
IPv6ちょー入門
posted with amazlet at 08.12.15
栗林 誠也
広文社
売り上げランキング: 400586


nipotan at 20:14 | │Comments(6) | TrackBack(6) | tech 
livedoor clipHatena::Bookmarkdel.icio.us

November 27, 2008

堀愚霊瑠の指摘で気付いた、はてなスターの静的ファイルとか想像以上にアレな件

id:HolyGrail (堀愚霊瑠氏) の「はてなブックマークが重い件について、Page Detailerというツールを使って調べてみる - id:HolyGrailとid:HoryGrailの区別がつかない日記」とか見てて、色々問題点が指摘されてて、うん、まぁそうだねーとか色々と思いつつ、YSlow は、有用なツールである反面、減点基準が必ずしも全てのサイトに適合しないというか、ハッキリ言ってしまえば Yahoo! Inc. 基準すぎるので、鵜呑みにし過ぎるのもどうかなーとか思ってた。

で、気になったのは

13. Configure ETags

ETagsっていうのはサーバ上のファイルとブラウザのキャッシュが一致しているかどうかを検証するためのものなのですが、正しく利用できていないのであれば、ETagsは無駄なだけなので取り除いてやりましょう、という項目です。

http://s.hatena.ne.jp/js/HatenaStar.js

http://s.hatena.ne.jp/images/comment.gif

http://s.hatena.ne.jp/images/add.gif

http://s.hatena.ne.jp/images/star.gif

の4つのファイルに対してETagsヘッダが出ているようなので、必要なければ取り除いてヘッダサイズを減らしましょう。

という箇所。

ETag 自体は「正しく利用していれば」有用だし、ヘッダサイズ云々って言うほどデカくもないし、アレだなーとか思いつつ、なんで「正しく利用できていないのであれば」という前提のものに引っかかったのかなというのが非常に気になった。

ちなみに、ETag ヘッダは、デフォルトではそのファイルの inode 番号、ファイルサイズ、更新時刻 (epoch 秒) の値を 16 進数表記して、ハイフンで繋いだ文字列をダブルクォーテーションで括ったもの。
Perl で同じような文字列を出力するなら、
printf qq/ETag: "%x-%x-%x"\n/, (stat $filename)[1, 7, 9];
こんな感じ。

-- 以下、HTTP とかにさほど詳しくない人向けの説明。

これが、HTTP レスポンスに含まれていたら、次に HTTP リクエストする際に、ブラウザ側でキャッシュした時の ETag の値を If-None-Match ヘッダに渡します。サーバは、今現在サーバ上にあるファイルの ETag の値が一致するかを確認して、一致した場合は 304 (Not Modified) の HTTP ステータスを返し、ブラウザは「以前キャッシュした時から更新されていない」と解釈して、キャッシュされているファイルを再利用します。

ETag の値を返さない場合、Last-Modified ヘッダが HTTP レスポンスに含まれていたら、次に HTTP リクエストする際に、ブラウザ側でキャッシュした時の Last-Modified の値を If-Modified-Since ヘッダに渡します。サーバは、今現在サーバ上にあるファイルの Last-Modified の値がそれ以前であるかを確認して、それ以前だった場合は 304 (Not Modified) の HTTP ステータスを返し、ブラウザは「以前キャッシュした時から更新されていない」と解釈して、キャッシュされているファイルを再利用します。

-- 以上、HTTP とかにさほど詳しくない人向けの説明。

で、思ったのは「はてなスター (だけ?) の静的ファイルが ETag を正しく使えてないから引っ掛かったのかな」と。
よくよく考えたらはてなスターはこのブログにも貼ってあるし、はてなの色々なコンテンツに大量に利用されている事実を考えたら、もし ETag を正しく使えてないのなら、無駄なトラフィックを大量に生み出しているわけで、決して侮れない。
ナニゲに HatenaStar.js はデカいし。

考えられるありがちな落し穴を考えると、「基本的には同じファイル」なんだけど、配置されているサーバが複数台数に分散されているような場合、ほぼ間違いなくそれぞれのサーバで inode 番号が変わるので、ETag に含まれる値の inode の部分 (先頭部分) はリクエストを処理するサーバによって異なってくる。

そういう場合は、ETag を吐かないようにさえすれば、Last-Modified と If-Modified-Since でいいあんばいにキャッシュ比較とかをしてくれる。
Apache の場合は FileETag ディレクティブを利用して、以下のように設定すれば ETag を吐かなくなる。
FileETag None

あるいは、ファイルサイズ、更新時刻 (epoch 秒) は一緒なのであれば、ETag を吐く時に不要になるのは inode 番号だけ。では、ETag の値から inode 番号を抑制すれば済む問題なので、同様に FileETag ディレクティブを利用して、inode 番号だけ利用しないように、以下のように設定するのがセオリー。
FileETag Size MTime
あるいは
FileETag -INode
こうすることで、複数台数であっても、ファイルサイズと更新時刻によって生成された値によって、ETag と If-None-Match でいいあんばいにキャッシュ比較とかをしてくれる。

じゃあ、はてなスターは、このありがちな落し穴をおかしているのではないだろうか?とアタリをつけて、HTTP HEAD リクエストを送出してみて確認してみた。
% telnet s.hatena.ne.jp 80
Trying 59.106.108.97...
Connected to s.hatena.ne.jp.
Escape character is '^]'.
HEAD /js/HatenaStar.js HTTP/1.1
Host: s.hatena.ne.jp
Cookie: b=hoge
Connection: close

HTTP/1.1 200 OK
Date: Thu, 27 Nov 2008 00:53:51 GMT
Server: Apache
Last-Modified: Tue, 04 Nov 2008 09:25:37 GMT
ETag: "b88995-1697f-45ad9a572a640"
Accept-Ranges: bytes
Content-Length: 92543
Vary: Accept-Encoding
Connection: close
Content-Type: application/x-javascript

Connection closed by foreign host.
* ちなみに、b=hoge とかいう Cookie を送っているのは、session cookie をリクエストの都度吐いてくるので、迷惑にならないように「既に session cookie 持ってるよ」と欺いてます

案の定、ETag は三つの値がハイフンで繋がれています。
恐らく先頭の b88995 は inode 番号なので、複数台のサーバで運用されている場合は、邪魔になる恐れがあります。
続いて、それを検証するために、この ETag の値と、Last-Modified の値を、それぞれ If-None-Match と If-Modified-Since に含んでみたら、ちゃんと 304 (Not Modified) ステータスを返してくれるか検証してみました。
% telnet s.hatena.ne.jp 80
Trying 59.106.108.97...
Connected to s.hatena.ne.jp.
Escape character is '^]'.
HEAD /js/HatenaStar.js HTTP/1.1
Host: s.hatena.ne.jp
Connection: close
Cookie: b=hoge
If-Modified-Since: Tue, 04 Nov 2008 09:25:37 GMT
If-None-Match: "b88995-1697f-45ad9a572a640"

HTTP/1.1 200 OK
Date: Thu, 27 Nov 2008 00:54:48 GMT
Server: Apache
Last-Modified: Tue, 04 Nov 2008 09:20:37 GMT
ETag: "f9665-1697f-45ad993910340"
Accept-Ranges: bytes
Content-Length: 92543
Vary: Accept-Encoding
Connection: close
Content-Type: application/x-javascript

Connection closed by foreign host.
304 (Not Modified) を期待していたら、200 (OK) ステータスが返ってきました。
ETag を見るとやはり先頭が f9665 で先程とは違うので、inode 番号が違います。
でも Content-Length も一緒だし、MD5 の checksum を見ても同じなので、同じ JS ファイルであることは間違いありません。
でも「あなたのとこにキャッシュされているファイルとは、比較するかぎりどうも別のファイルだから、このデッカイ JS ファイルをあらためて読み込んでキャッシュしなおしてよ」とブラウザに訴えてきているのです。
堀愚霊瑠氏の指摘するとおり、正しく使えてない、無駄な ETag を吐いてます。
何度か繰り返してみると、ETag によって返される inode 番号は 2 種類であることから、「はてなスターは 2 台のサーバから静的なファイルを返している」ということがわかります。


結論: はてなスターは ETag を吐かないようにするか、inode 番号を利用しないように正して、きちんとブラウザのキャッシュを有効活用させるようにして欲しいです!











って、気持ちよくしめようとしたら、現実はもっとひどいことに気付いた。

目を凝らしてよく見れば ETag だけの問題ではない。
Last-Modified が 2 台それぞれのサーバによって違う。
5 分も違う。
当然、ETag も inode 番号の部分だけじゃなく、更新時刻の部分も違う。
ETag を抑止しても、Last-Modified がバラバラだから、古いほうを先に GET してしまうと結局新しいほうを GET しに行った時に 304 ステータスは返らない。

はてなスターは、あれだけのパーツ画像とデッカイ JS をバラまいておいて、ブラウザにキャッシュさせる気はないのだろうか。。

ファイルの属性は転送しないようなよっぽど変なデプロイツールを使っているのか、あるいはインターンで来た学生に JS を精密に写経させていたのだろうか。
ちなみに、上記であがっていた 4 つのファイルのそれぞれが、ETag と Last-Modified 共にサーバごとに合致しない。
GIF 画像ファイルまでもがそういう状況なのだから、インターンで来た学生にバイナリエディタで GIF を精密に写経させていたのだろうか。

ちなみに、今日の午前中の時点での各ファイルの ETag、Last-Modified の組み合わせを列挙してみた。

http://s.hatena.ne.jp/js/HatenaStar.js
Last-Modified: Tue, 04 Nov 2008 09:25:37 GMT
ETag: "b88995-1697f-45ad9a572a640"
Last-Modified: Tue, 04 Nov 2008 09:20:37 GMT
ETag: "f9665-1697f-45ad993910340"

http://s.hatena.ne.jp/images/comment.gif
Last-Modified: Tue, 13 May 2008 13:04:52 GMT
ETag: "f8ff2-362-44d1c4f516500"
Last-Modified: Tue, 13 May 2008 13:04:53 GMT
ETag: "b88361-362-44d1c4f60a740"

http://s.hatena.ne.jp/images/add.gif
Last-Modified: Tue, 13 May 2008 13:04:52 GMT
ETag: "f8fe8-51-44d1c4f516500"
Last-Modified: Tue, 13 May 2008 13:04:53 GMT
ETag: "b88357-51-44d1c4f60a740"

http://s.hatena.ne.jp/images/star.gif
Last-Modified: Tue, 13 May 2008 13:04:52 GMT
ETag: "f9044-b2-44d1c4f516500"
Last-Modified: Tue, 13 May 2008 13:04:53 GMT
ETag: "b883b3-b2-44d1c4f60a740"


これらを直して欲しいと切に願うと同時に、それぞれのファイルのヘッダがいつ正しく修正されるかを、今後継続して生暖かく見つめていきたいと思いました。

nipotan at 11:53 | │Comments(1) | TrackBack(1) | tech 
livedoor clipHatena::Bookmarkdel.icio.us

November 20, 2008

なんとかしてくれ Yahoo! JAPAN

Date: 18 Nov 2008 12:36:49 +0900
From: auction-patrol-master at mail.yahoo.co.jp
Subject: Yahoo!オークションより - 利用停止のお知らせ

nipotan 様

Yahoo! JAPANです。

お客様のYahoo! JAPAN IDは、利用状況、利用規約および
Yahoo!オークション・ガイドラインにもとづき、
Yahoo!オークションの利用を停止いたしました。

このメールに心当たりのない場合は、お手数ですが、
以下のページよりご連絡ください。
http://ms.yahoo.co.jp/bin/auction-exw/feedback

以上、よろしくお願いいたします
------------------------------
Yahoo!オークション
http://auctions.yahoo.co.jp/


停止中何もしてないのにアカウント停止された。
「このメールに心当たりのない場合」だったので、一昨日連絡したのに完全放置。
とりあえず今日もまた連絡してみたけど、今のところ放置されている。
どうなってんだ一体。
ちなみに、放置がひどいから、代表電話番号にでも電話しようかなーって思ったら、Twitter で「電話してもメールするように言われるだけ」と教わった。
そうなのかー。

というか、最後にヤフオク使ったの去年の 7/17 だぞ。あとは入札も出品もしてないのに、何で停止なんだ。

むしろ、最近出品しようかなぁーと思って、商品の写真をデジカメで撮ってみたんだけど、フラッシュたくとテカるし、たかなきゃボケるし…ってんで、わざわざ三脚を買ったのにな。。




プレミアム会員なんだが、アカウントが停止状態から復活する場合、使えなかった分は会費日割でちゃんと返金してくれるのかなぁ?
使ってないで払い続けてるだけなんだから、たかだか一日 10 円程度、返金してくれなくても一緒だし、どうでもいいっちゃどうでもいいんだけど、お前らの意味不明な理由も説明しない勝手な都合でアカウント止めておいて、金だけ取るとかはおかしいだろ。

これ、誰か解決する方法を知ってたら教えてください。

nipotan at 19:38 | │Comments(5) | TrackBack(0)
livedoor clipHatena::Bookmarkdel.icio.us

November 06, 2008

JTPA シリコンバレー・カンファレンス 2009 にみんなおいでよ!みたいなお話がありましたよ

Silicon Valley Conferenceシリコンバレーに、JTPA という、「技術を志向する日本人プロフェッショナルがシリコンバレーで働くのを支援するための NPO」が存在します。
シリコンバレーで働く日本人エンジニアの方の多くが参加していて、勉強したり、交流したりする場を提供してくれていますので、そこで開催されるセミナーギークサロン等に積極的に参加することによって、色々刺激を受けたり、技術トレンドを肌で感じたり出来ます。

JTPA は、日本からシリコンバレーでのキャリアを目指す人たち向けに、「シリコンバレー・ツアー」というのを毎年開催してきたようですが、今年は「シリコンバレー・カンファレンス」というのを実験的に開催するようです。
なんかネットでよく見掛ける (JTPA ボードメンバーの) あの有名な方々の講演や、シリコンバレーに住んで働く上でどうなのよ?的なお話とかをパネルディスカッションするようです。

日本の外に可能性を求めたいと思う方、シリコンバレーで働くことに興味がある方は、是非参加されてみてはいかがでしょうか。
シリコンバレーでしか感じられない何かをきっと感じ取れるはずです。

募集はアメリカ西海岸時間で 11/15 から (ちなみに今なら日本時間からマイナス 17 時間したのが西海岸時間) だそうです。

来年 3/21(土) に開催ですので、日本でお勤めの方も、3/20(金) が春分の日で、三連休だし、気軽に参加出来そうですね。

あ、

NRT 3/20 午後発 → SFO 3/20 昼着
SFO 3/22 昼初 → NRT 3/23 午後着

なので、3/23 は有給を取ったほうがいいかもですね。。


ツアーの詳細については、下記関連リンクをご参照ください。

関連リンク:
JTPAサイト記事
プレスリリース

nipotan at 12:16 | │Comments(0) | TrackBack(0) | others 
livedoor clipHatena::Bookmarkdel.icio.us

November 04, 2008

パンドラが意外に面白かった

livedoor Blog の画面を開くと、いっつもいっつも「パンドラ」というドラマの第一話の DVD が先着 1 万人に当たる とか出てるから、「1 万人とかすげー当たりそう過ぎる」と思って、このあいだ何の気なしに申し込んでみたら、どうも当たったようで、この連休中に家に届いてた。

「パンドラ」ってのは、今年の春に WOWOW でやっていた連ドラだそうな。WOWOW 初の連ドラっていう話だったかな。そもそもあんまりドラマ見ないから、まぁ、もし当たったら見るかーぐらいの軽いノリだったんだけど、実際当たったから軽いノリで見てみた。
まぁ、結構面白そうだなーとか思った。

どんな癌にでも効く抗癌剤を長年に渡って研究し続けて、マウスによる実験でやっと成果が見られたので、人体を対象にその抗癌剤の治験を認めてくれるように医学部長に頼むが、嘲笑われて認められず、そんな時に出会った余命僅かな末期癌の少女の身体を使って、秘密裏に治験をするみたいな話。

どんな癌にでも効く抗癌剤というのは、世界中の人を幸せにする発見なのかも知れないけど、それがもし実用化されたら、世界中の平均寿命は伸びて、一層高齢者社会になって、年金とかの制度は破綻するし、そう考えたら、本当に皆全員が幸せになる発見なのか。本当は取り返しのつかないパンドラの箱を開けることになってしまうんじゃないか。みたいな話。

と、まぁ、第一話が大まかにこんな話なんだけどどうも続きが見たくなってしまった。。
買おうかな。どうしようかな。迷う。

パンドラ コレクターズ・ボックス
ソニー・ピクチャーズエンタテインメント (2008-12-03)
売り上げランキング: 3138


ただ、なんかキャスティングとかが、あまりにベテランすぎるせいか、妙に過去の他のドラマとかぶって、変な風に感じながら見てしまった。
山本耕史と山本圭は「ひとつ屋根の下」だし…。
特に山本圭が開業医とか、設定がかぶりすぎ。
柳葉敏郎と小野武彦 (と小西真奈美) は「踊る大捜査線 (THE MOVIE 2)」だし…。
室井さん、管理官から刑事に格下げ食らったのかとか。
あと、國村隼は台詞をボソボソ言ってて何言ってんだか聞き取りにくかったなぁ。それが芸風なんだろうけど。

でもこれ、第一話しかもらえないとかアレだなぁ。
抽選でコレクターズ・ボックスくれたらいいのに。

nipotan at 12:33 | │Comments(0) | TrackBack(0) | others 
livedoor clipHatena::Bookmarkdel.icio.us