2004-07-08(木) [長年日記]
■ あづー
横浜線の冷房の効きが悪くて、そのうえ両側に座ったのが発汗量の多いタイプの人たちだったもんだから、通勤電車が罰ゲームと化してましたよ。たまんねー。
つーかさ、ジャケットの(「シャツの」ではない)背中に汗染み作るほど暑いくせに、なんで脱がない。マゾかお前は。
■ アップル、iPod miniの米国外での発売日を7月24日に決定
やっと発売か〜。いまのiPodに入ってるデータは約6GBだけど、よく聴くものに絞れば4GBにするのも可能だし、こっちの方が小さくて邪魔にならないから、買ってもいいよなー。
でも真剣に考えると、4GBで約3万円って高くね? 高い。高いよ。やっぱやめよう。
■ tDiary: 2.0リリース記念パーティ?
別に、「はてな3周年」に対抗したわけではなく、WikiばなVol.2懇親会のとき、たしかyucoさんが「tDiaryのOFF会やりたいですねー」と言っていたので、「そろそろ2.0が出るのでそのタイミングならいいかも」とか「主要な開発者が集まれるといいですね」とかなんとか答えた記憶があったためである。酔っ払っていたので記憶が怪しいが。
とは言え、そういうイベントを仕切る能力は皆無なので、だれかが動いてくれないと何もしないんだけどさ。でもアレだ。仮にだれかが「やる」って言い出しても、実際に動きまわるのはほそのひでともになるという気がしてならない(笑)。
■ ひそかにXP初体験中。
本業の方で、それほど大きくないけどかなーり短納期の仕事が降ってきたので、「これは職場にXPを導入するチャ〜ンス!」とばかりに、2人の部下に割り当てた。ペアプログラミングと、UnitTest、リファクタリング、コード共有なんかを実施しようというわけである。
ところが、そのうち1人がユーザ対応に連れていかれてしまい、このままではアジャイル導入の目論見が外れてしまうという事態に。仕方がないので(?)、おれが加わることにした。あぁ、本業でコード書くなんて何年ぶりかしら。Cなんて忘れたよ、もう。
ま、体験してみてわかるイロイロなことがあって、案の定めっぽう面白い。問題は、(噂どおり)ペアプログラミングはへとへとになるのと、この間、おれ自身の仕事がズルズルと遅れていることである(←大問題)。これで実績があげられればいいんだけど。
2004-07-06(火) [長年日記]
■ tDiary TrackBack Script for Sleipnir
こないだ紹介したSleipnir用のTrackBackスクリプト、相手のページのURLを挿入してくれるとTrackBack的には完璧なんだが……と書いたら、hsbtさんがクリップボードにコピーするという苦肉の策を出してくれた。
まぁこのあたりが限度かと思っていたら(JavaScriptには詳しくないので何ができるのかもよくわからない)、別のテクを紹介してもらった(?)。おぉ、ちゃんとリンクが挿入される!
というわけで、両者を合体すると、こんな感じになった。もっとスマートに書けるかも知れないけど、動いてるからいいや。
TrackBackしたいページでこのスクリプトを実行すると
- 更新ページが開き
- 本文冒頭にそのページへのリンクが挿入され
- TrackBack ping URLも設定済み
という状態ですぐに反応を書き始めることができる。なお、挿入されるリンクはWikiスタイルなので、別のスタイルの場合にはスクリプト末尾のコードをちょっといじる必要がある。プラグイン集に入れちまおうか。
//
// tDiaryでTrackBack for Sleipnir
//
// 現在見ているページに対して実行すると、そのページにTrackBackを打つための
// 情報が入った更新ページが開きます
//
// 【要カスタマイズ】update.rbへのURL
// ここに日記更新用のURLを記述してください
var td_update_url = "http://url.of.your.diary/update.rb";
//
// 以下、スクリプト本体
//
var pnir = new ActiveXObject( "Sleipnir.API" );
var id = pnir.GetDocumentID( pnir.ActiveIndex );
var document = pnir.GetDocumentObject( id );
if (document == null) {
pnir.MessageBox("Document オブジェクトを作成できません");
}
else {
window = pnir.GetWindowObject( id );
var org_title = document.selection.createRange().text
if ( org_title == "" ) {
org_title = document.title;
}
var org_url = pnir.url
window = null;
var str = document.body.innerHTML;
str.match( /trackback:ping=[\'\"](http.+)[\'\"]/i );
var ping_url = RegExp.$1;
var td_id = pnir.NewWindow( td_update_url+'?plugin_tb_url='+escape(ping_url), true );
while( pnir.IsBusy( td_id ) == true ) {
WScript.Sleep( 500 );
}
//update.rbのドキュメントを取得
var td_doc = pnir.GetDocumentObject( td_id );
if( td_doc==null ){
pnir.MessageBox("td_doc オブジェクトを作成できません");
}
else{
//思いっきり場所決めうちでupdate.rbのtextareaに
//(Wikiスタイル)見出しを挿入する
var f = td_doc.forms[0];
if( f!=null ){
var t = f.elements[6];
if( t!=null ){
t.value = "";
t.value += "! [[";
t.value += org_title;
t.value += "|";
t.value += org_url;
t.value += "]]";
t.value += "\n";
t.focus();
}
}
}
document = null;
}
pnir = null;
◆ 咳 [うひょー。 Kent BeckとMartin Fowlerからメールがきましたよ。 時間があったら自慢しますね。]
◆ ただただし [なにー! すでに自慢してるじゃないか!!]