Archive for 12月, 2006

ブックマークのコメントを表示するGreasemonkey

木曜日, 12月 28th, 2006

/***** お詫び(追記 2007/01/06)*****/
 先日公開したhatebudeliciouscom.user.jsについてです。スクリプトの 195行目から223行目までに、Masanao Izumo さんのMD5値を出すスクリプト を使用させていただいていたのですが、この記述箇所は silog さんが編集したソースでした。よって、先日公開したバージョンを廃止し、Paul Johnston さんのライブラリ(BSD License) を使用させて頂くように改変しました。前に公開したスクリプトをインストールして下さった方がもしいらっしゃいましたら、お手数ですが、古いバージョンをアンインストールした後で、新しいバージョンのスクリプトをインストールしてください。silog さん、使ってくださった方にご迷惑をおかけしました。

新しいバージョン hatebudeliciouscom.user.js(Ver.1.02 2007/04/09)
/*******************************************/

 先々週、pho氏 にお会いしたときにブックマークのコメント欄でちくちくやってると聞いた。自分的に、今までブックマークにはそれほど注目していなかったのだが、なるほどー、と思ったので、注目してみる。

 そんなこんなで、表示しているページのはてなブックマークと del.icio.us のブックマークのコメントを表示する Greasemonkey スクリプトを作りました。Greasemonkey おもしろい。簡単なことは簡単に出来る。工夫次第でいろいろできそう。
 大手サイトとか見てみると、結構、コメントがおもろい。

インストール:hatebudeliciouscom.user.js

スクリーンショット
私のブログはブックマークされているページが少ないので、pho氏のブログで失礼します。

hatebudeliciouscom
ページのロード時にはてなブックマークと del.icio.us のブックマーク状況を取得する。被ブックマーク数だけが表示される。はてぶの隠れブックマーカーは表示されません。

hatebudeliciouscom
ブックマーク数にマウスを持っていくと、コメントが表示される。

ちなみに著作権は放棄しているので、どうにでもしてください。

ToDo
-ソースコードが汚い。再帰が上手くかけない。
-サイトデザインによっては、表示が崩れる。CSSの z-index の問題。
-ブックマークがものすごく多いと表示に時間がかかる。
-ブックマークが益々ものすごく多いとdeliciousの情報が取得できない。



バイソン先生ご健在

日曜日, 12月 17th, 2006

 三年ぶり位に上野動物園に行ってバイソン先生に会ってきました(なぜ先生と呼ぶかについては桜とバイソン先生を参照のこと)。余りにもバイソン先生が動かないからか、来年の干支だからかわかりませんが、一緒のオリにイノシシが三匹一緒に入れられてました。
 その後、アメ横の近くでモツ鍋と焼酎をいただき、モツ+焼酎臭を漂わせながら、kanyさんちへ。お世話になりました。快適でした。

バイソン先生

モツ鍋



第4回つくばコンピュータサイエンス産学オープンカレッジ

金曜日, 12月 15th, 2006

 第4回つくばコンピュータサイエンス産学オープンカレッジ に参加させて頂ける事になったので、はるばる筑波まで行ってきました。筑波大学広い(前も同じような事を言った気がする)。案の定、道に迷って受付に遅れそうになりました。

 講義の内容については、CodeZine:Google流プログラミングの真髄を筑波大学で見てきた(google)に詳しくレポートされているようです。

 個人的に、仕事でも少し触っているので、Google Maps の講義が特に面白かったです。実際にコードを見ながら「このコードはどういう動きをすると思いますか?」と言った質問・答えという形式で講義が進んでいきました。実際に受講者がネットに繋いでコードをいじり・動かしながら進めるというプレゼン形式はおもしろい。
 Maps API Workshop
プレゼン資料の残っているもの。この資料、ブラウザ上でコードを編集して実行させる事ができる。JavaScriptならでは。Chris Atenasio さんにリンク可の確認とってます。消したり移動するかも知れないということです。

 仕事で Google Maps を使う際にドキュメントや利用規約を読んでいたのですが、知らない事が。
実は企業に最適? Googleのエンタープライズサービスを分析する

Google Maps APIを利用してインターネット上の不特定多数のユーザーに
地図サービスを無料で提供する場合は、無償で利用できる。これ以外のイント
ラネット上にあり、限定されたユーザー(社内とか)しかアクセスできない
サービスにGoogleマップを利用する場合や、インターネット上で限定された
ユーザーに有料で地図サービスを提供している場合は、Google Maps for
Enterprise(以下、エンタープライズGoogleマップ)という有償サービスとなる。

これ以下を読むと、お金を払うともっと突っ込んだビジネスにも使えると書かれている。

 それから印象に残ったのは最後のGoogleについての説明。

Googleの文化
-大学の雰囲気
-研究・開発重視
-イノベーション重視(試作品を早く作る)
-少人数のチーム
-オープンなコミュニケーション
-インターナショナルオペレーションモデル(各国混合でチームになって動く)

例の20%ルール
-どのように「20%」を使うかは自由。毎日使ってもいい。まとめて使ってもいい。

開発プロセス
-やりたい事をしぼり出す
-デモ作成(世界中の Google エンジニアが閲覧できて、喧々諤々する。)
-GoogleLabs
-Beta版

何で遊び心のあるオフィス?
-部署間の壁を破るために必要
-専門のファシリティーマネージャがいる。150cmのザクのリクエストきたことがある。

 企業に提携してもらって質の良いイベントが開けるっていうのは、地方の学校じゃなかなか出来ないことだ。うらやましい。Kanyさんにも散々愚痴を言ってしまったが、やはり地理的なハンデは大きい。せめて今は意識だけでも、Vantage Point に居なければ。

 それから、受付で Google シャツ頂きました。後で友人達に見せたら「いくら田舎の街でも、女子がそれ着て外出したらちょっと恥ずかしいかもよ。」と言われました。これからの季節、寒いしな。

google

I'm Feeling Lucky



ライブひさしぶり

木曜日, 12月 14th, 2006

ego-wrappin’ のライブに行ってきた。NHK ホールにて。
オーケストラとかビッグバンドとか、演出が豪華。野外とはちょっと違う。
やはり ego-wrapping’ の歌う人は歌が上手い。



HTMLのidとname

金曜日, 12月 8th, 2006

 HTMLのフォーム部品の id と name 属性についてメモ。Webデザイナーの人でも、意識してコードを書いている人は少ないと思う。
JavaScript でフォーム内の要素オブジェクトを取得するときに、

JavaScript:
  1. getElementById('部品ID')

というメソッドが使えるが、例えば、HTMLに置けるテキストボックス

HTML:
  1. <input type="text" name="user_name" id="user_name" />

というのがあった場合、そのテキストボックスに入力された値を得たい場合

JavaScript:
  1. getElementById('user_name').value

と書く。
W3C HTML 4.01 Specification を参照すると

7.5.2 Element identifiers: the id and class attributes
Attribute definitions
id = name [CS]
    This attribute assigns a name to an element. This name must be unique in a document.

とid 属性は名前の通り、ドキュメント内で一意のもので無ければならない、とある。
HTMLは多少間違いがあっても、(というか、仕様に沿った100点満点のコードを書くことはかなり面倒)ブラウザが勝手に解釈してくれて、表示してしまうので、Webアプリケーションを作るときに思わぬ誤作動を引き起こしてしまうかもしれない。
Internet Explorer は(ver.6.xしか試してないけど)id 属性を明記しなくても getElementById を id の代わりに name で値をとってくれるのだが、Firefoxではだめだった。私はこれではまってました。
getElementByName メソッドもあるけど、以下を参照すると

name = cdata [CI]
    This attribute names the element so that it may be referred to from style sheets or scripts.
Note. This attribute has been included for backwards compatibility.
Applications should use the id attribute to identify elements.

アプリケーションは識別のために name ではなくて id を使わなければならない、って書いている。