Hatena::ブログ(Diary)

Higé au lait Twitter

 | 

2007年03月30日

今日買ったCD

Anything For You (初回限定盤)(DVD付)

Anything For You (初回限定盤)(DVD付)



久しぶりにCD買った。それもシングルなんて何年ぶりだろうか。

2007年03月29日

del.icio.us + prototype.js

user javascript を書くときに prototype.js の便利な機能を使おうと prototype.js を userjs ディレクトリにぶち込んだら del.icio.us が動かなくなった。 こういう使いかたはやっぱり無理があったか…。

2007年03月28日

del.icio.us のポストページに関連エントリを表示する

同じタグを付けている過去のポストを表示。

f:id:higeorange:20070328194830p:image

// ==UserScript==
// @include http://del.icio.us/*
// ==/UserScript==

(function() {
    function relatedPost() {
        var user = location.href.split('/')[3].split('?')[0];
        var tags = document.getElementById('tags').value.replace(/^\s+|\s$/, "").split(' ');
        if(tags[0] != "") {
            getJSON(user, tags);
        }
    }

    function getJSON() {
        var user = arguments[0];
        var tags = arguments[1].join('+')
        var xhr = new XMLHttpRequest();
        xhr.open('GET', 'http://del.icio.us/feeds/json/' + user + '/' + tags);
        xhr.onreadystatechange = function() {
            if(xhr.readyState == 4 && xhr.status == 200) {
                eval(xhr.responseText);
                var posts = Delicious.posts;
                var relatedposts = []
                var related = '<div class="label"><span>related posts</span></div>';
                relatedposts.push(related);
                for(var i=0, len=(posts.length >= 5)?5:posts.length;i<len;i++) {
                    var p = '<p><a href="'+posts[i].u+'">'+posts[i].d+'</a></p>';

                    relatedposts.push(p);
                }

                var ul = document.evaluate(
                    '//ul[@class="bundles"]',
                    document,
                    null,
                    XPathResult.FIRST_ORDERED_NODE_TYPE,
                    null
                ).singleNodeValue;
                if(!document.getElementById('related-post')){
                    var li = document.createElement('li');
                    li.setAttribute('class', 'bundle fold');
                    li.id = 'related-post'
                    li.style.display = 'block';
                    li.innerHTML = relatedposts.join("");
                    ul.appendChild(li)
                } else {
                    document.getElementById('related-post').innerHTML = relatedposts.join("");
                }
            }
        }
        xhr.send(null);
    }

    if(location.href.match(/http:\/\/del\.icio\.us\/[\w\/\?%=]+url=/)) {
        window.addEventListener('load', function() {
            document.getElementById('tags').addEventListener('blur', relatedPost, false);
        }, false);
    }
})();

XMLHttpRequest をするタイミングがタグの入力欄からフォーカスが外れたときなので入力されているタグと関連エントリが一致しないときがある。このタイミングが微妙だなぁ。無駄にリクエストが発生していることだろうし。

あと,おりたためるようにもしたかったけど断念。


実際はこれのはてなダイアリー版をつくりたい。つまり。見出しに付けたカテゴリから過去の同じカテゴリのエントリを列挙。でその中から簡単に関連エントリとしてリンクを挿入できるようなものを作りたい。

2007年03月24日

Shibuya.js

ストリーミングを見た。 途中まで。


見れなかったもののもふくめてもう一度みることはできないものか。


追記 3/27 0:50

公開されるみたいだ。楽しみ。


Shibuya.es カンファレンス

2007年03月20日

携帯の文字入力

予測変換は便利なんだけど,ミス入力してしまう。

自動で予測変換モードを抜けてくれないものか。

提案されるものがいまいち。携帯で文字入力するのがまれなのがいけないのか。もっとメールすれば改善される?


連続して同じキーで違う文字を入力するときがあるけど,一定時間後にカーソルが次へ移動するのはいいね。D903i*1

*1N903i を洗濯してしまったので機種変

2007年03月19日

オブジェクト

var test = {
    foo : "bar",
    hoge : "fuga",
}

これは Firefox では問題ないが,Opera では Syntax Error となる。

追記

Konquerorも問題なし。


ついでに配列。

var test = ["foo","bar","baz",]
alert(test.length) // 3

これは Firefox と Opera で同じ。最後のコンマ無視

追記

Konquerorも同じ。

2007年03月15日

[del.icio.us] 自分のタグについて説明しよう。

Flywheel - Unknown Domain


他のひとから見て意味わからんと思うようなタグには説明をつけようねという企画

ミドルクリックのミス

Opera + Linux という環境での話。

前にも書いたけど。livedoor reader を使っていてリンクをミドルクリックで開いて後で読もうとしたときにリンクじゃないところをクリックしてしまい保持していたテキストをURLとして開いてしまう。戻っても開いていたエントリは既読になってしまい読めない。これをどうにかしたい。

マウスを使わずピンを立てて読め

これが一番の解決策なんだがどうもマウスを握ってしまってる。エントリ内のリンクをバックグラウンドで開く場合は少し面倒。


ミドルクリックの挙動をWindowsと同じにしろ

ミドルクリックでURLを開けるっていうのはなんだかんだで便利。もし Firefox と同じように URL 以外のテキストは開かないようになっても解決はしない。


既読になるタイミングがかわれば解決する?

今のlivedoor reader だとフィードを開いた時点で既読になるがこれを別のフィードを開いたときに既読になるようになれば解決する? しかし最後に読んだフィードはいつ既読にすればよいかがわからないのでこの実装は無理か。


追記

すでにあったのね。やはり思っていた通り最後に読んだフィードの既読になるタイミングが。


と思ったけど。

未読フィード最後なら "s" 連打, 途中なら次のフィードを開いておけば回避できる。

これでミドルクリックミスの問題はこれで解決。


わたなべさんどうもありがとうございます。


今開いてるフィードの情報をなんらかの形で保持。

考え中。


特定のページのみミドルクリックによるページ移動の停止

これができればなぁ。

2007年03月14日

set mouse=a の挙動。

no title より。


vimrcに

set mouse=a

を追加すると,マウスで選択できたりスクロールできたりといろいろ便利なんだけど。困った問題が。


":a" のあとにミドルクリックで貼り付け*1ができない。


と思ったら,Shift+ミドルクリックでできる。解決。


ノーマルモードでミドルクリックはヤンクしたものが貼り付けされるのね。

*1:インデントが崩れずに貼り付けできる

2007年03月13日

2007年03月03日

Songbirdがなかなか使えるようになった。

f:id:higeorange:20070303105218p:image

http://www.songbirdnest.com/


なんの設定もなく MP3も聞ける。持っていないので試せないが iPod のサポートも進んでいるようだ。


Add-ons も結構たくさんある。


私の中で AmaroK に取って代わるとしたらまだまだ先のことだろうけど。

2007年03月02日

2007年03月01日

昨日作った JSON のやつ

完全にはてな依存。ブックマーク詳細ページからキーワードを抽出 -> JSON としている。ちなみに Ruby で書いた。

 |