A Day in the Life

2006-08-16

Round Table

渋谷系からアニメ系へ。

ヒドス、アニメ系じゃないお><(よくオタが自分の好きな音楽はよくあるアニソンじゃないんだ!と云う感じに・例:菅野よう子 ちなみにぼかぁ菅野よう子大好きですよ!いわゆるアニメサントラとは別次元のできだね!!!)

帰り道

であたまになんかあたったもしや鳥のフン!?と思ってビビってチャリ止めて確認したけど違ったセーフ。

そういや人が人生で鳥のフンに当たる確率ってどれぐらいなんかね?中学の時一度自転車のかごに当たってカバンがフンまみれになった。高校の時は部活の友達が見てるそばで一人は肩に、一人は頭に当たった。なので割と高そうなんだけれども。

退社

わかったこと・$X() かわいいよ $X()

PlotKit 期

なんでもいいから PlotKit でグラフが出力したい時期。有効期間三日。ってもう終わってる!?

さとさんのdll()

下のように onload 時にエラー取得しないと、ロード時の遅延まわりで依存関係のライブラリに当たったときエラーになる気がします!というか PlotKit ロード時にまだ Mochi* がナイヨとエラーになったんだけどこんな解決法でいいのかちら。

loadLibs.forEach(function (lib) {
      GM_xmlhttpRequest({
        method : "GET",
        url : lib[0],
        onload : function (req) {
          try {
          (function (r) { eval(r.responseText) }).call(window, req);
          } catch(e) {}
        },

PlotKit

svn co http://projects.liquidx.net/js/browser/plotkit/trunk/PlotKit PlotKit

u, 501 sikusku

perfume が最高すぎる

今年の俺ベスト盤はコレだねまだ四ヶ月あるけど。というわけでどの曲もホント素晴らしくてヤバイヤバイヤバイのでみんな買えよ!今なら15%offの2550円とかありえない安さ!(本気のアサマシリンクはamazletで)

Perfume~Complete Best~(DVD付)

Perfume~Complete Best~(DVD付)

posted with amazlet on 06.08.16

Perfume 中田ヤスタカ 木の子
徳間ジャパンコミュニケーションズ (2006/08/02)

Amazon.co.jp で詳細を見る

今日の .vimrc に追加した物

set formatoptions+=r

昔は fo += r が嫌いだったけど今使ってみたら違和感が無くなっていたので。

正規表現2.0

ふつーの正規表現のほうはたぶん割と書けるんだけど、2.0のほうは超基本しかわからない。どうにかしたい支隊肢体。

今日のさぶてくべんきょう

parseInt('08'); // 0
parseInt('08', 10); // 8
Number('08'); // 8

http://www.b-s-c.co.jp/~moritake/oboegaki/h_js_clm03.html

なるほどーためになるなぁ

fub で console

おお、早速ありがとうございます。というわけで window.console 互換のインターフェイスを作ってみたんですが、これって Scripts 以下の *.user.js に入れてグリモンっぽくしないと使えないですよね?そのほかの *.js って変数を定義しても global な名前空間に置けないですよね(ちょっと試してみた)。

// ==UserScript==
// @name           FubConsole
// @namespace      http://subtech.g.hatena.ne.jp/secondlife/
// @author         secondlife
// @include        *
// @description    console.log for fub
// ==/UserScript==

if (!window.console && typeof external == 'object' && typeof external.consolelog == 'unknown') {

  var FubConsole = {
    Primitives: {'boolean': true, 'string': true, 'number': true},
    TimeMark: {},

    toString: function(obj) {
      if (!(typeof(obj) in FubConsole.Primitives)) {
        return obj.toString();
      } else {
        return obj;
      }
    },

    log: function() {
      if( arguments.length == 0 ) {
      } else if( arguments.length < 2 ) {
        external.consolelog(FubConsole.toString(arguments[0]));
      } else {
        var result = [];
        for (var i = 0; i < arguments.length; i++) {
          result.push(FubConsole.toString(arguments[i]));
        }
        external.consolelog(result.join(' '));
      }
      return;
    },

    debug: function() {
      FubConsole.log.apply(null, arguments);
    },

    info: function() {
      FubConsole.log.apply(null, arguments);
    },

    warn: function() {
      FubConsole.log.apply(null, arguments);
    },

    error: function() {
      FubConsole.log.apply(null, arguments);
    },

    time: function(name) {
      FubConsole.TimeMark[name] = new Date().getTime();
    },

    timeEnd: function(name) {
      external.consolelog(
        name + ': ' + (new Date().getTime() - FubConsole.TimeMark[name]) + 'ms'
      );
    },

    exporter: function(obj) {
      var self = FubConsole;
      for (var i = 0; i < self.EXPORT.length; i++) {
        var name = self.EXPORT[i];
        obj[name] = self[name];
      }
    }
  };
  FubConsole.EXPORT = ['log', 'debug', 'info', 'warn', 'error', 'time', 'timeEnd'];

  window.console = {};
  FubConsole.exporter(window.console);
}

sort(keyComparator('key'))

なんか取得したプロパティが数字の文字列だとうまくいかなく無い?ケタが違うのが混じると変になるな文字列比較だからしかたないのかー。

というわけで registerComparator に登録して…とか思ったけど第一マッチ条件の両方ともプリミティブ型にマッチしちゃって無理ジャンスカ?

というわけで泣く泣く

map(function(i) { return i['key'] = parseInt(i['key']); return i}, ary).sort(keyComparator('key'))

とかやってるんだけど馬鹿っぽいのでどうにかしたい助けて!

出社

四日ぶり。軽い雨だったのでチャリ。