このブログの背景画像を設定は、 以下のような感じのCSSで中寄せしているのですが、 これがなぜか、OperaとSafariでは右側に1 pixelずれてしまいます。

   1  html {
   2    background: #DCDCDC url(/images/bg.gif) top center repeat-y
   3  }

しょうがないので、サーバサイドでそのようなブラウザを検出して、 中寄せしているBlock要素の左側に、以下のように1 pixelだけ paddingを入れています。

   1  #base.center-fix {padding: 0px 0px 0px 1px}

こういう微妙な挙動の違いは、acidテストのような見た目で判断する テストではわかりにくいのかもしれないですね。

posted by Png genki on Fri 22 Feb 2008 at 03:55

少し前になりますが、このブログでHatenaStarを使えるようにしました。 記事の右下の署名のところに表示されています。

このブログシステムでは、デフォルトの挙動だと、タイトルの右側に出てしまうので、以下のようなカスタムローダを使っています。

   1  document.observe('dom:loaded', function(){
   2    Hatena.Star.EntryLoader.loadEntries = function(){
   3      return #{entries.to_json}.map(function(entry){
   4        var star = $(['article_star_', entry[2]].join(''));
   5        return {uri: entry[0], title: entry[1],
   6          star_container: star, comment_container: star};
   7      });
   8    };
   9  });

loadEntriesはElementオブジェクト含む配列のリストを返す 必要があるのですが、これはPrototype.jsの$()関数のように、 ElementでもElement IDの文字列でも両方 受け取れるようにしたら、もっと便利かも。

posted by Png genki on Fri 22 Feb 2008 at 03:42

今日、Skypeチャットルームで話されてたんだけど、「digg is really one-day fly spike」(Diggは一日だけの急上昇飛行)なんだそう。もしかしてはてぶそうなのかもですね。今まではなんとなくブックマークサービスとしてだけ見ていましたが、ユーザーの使い方がDiggぽいといえばDiggぽい。だのにブックマークサービスだから、議論とかがしにくい。

ユニークな見方をもらいました。

posted by Png satoko on Tue 19 Feb 2008 at 11:04

今回は、Railsアプリケーションに、Undo/Redo機能を追加する プラグインの紹介です。

What is RUR (Rails Undo Redo)

RUR (Rails-Undo-Redo) is a rails plugin (and soon a gem as well) to make it so easy to implement multi-level undo redo in your Rails application that you better start thinking of better excuses not to implement Undo/Redo (no, seriously, it is going to be a lot easier).

これはなかなか面白いプラグインですね。後で使ってみよう。

posted by Png genki on Tue 19 Feb 2008 at 01:27

2/13のIE7のWindows Updateの影響か、 2006年の6/12(1年半ぐらい前)に書いた記事 IE7からIE6に戻す方法 のアクセス数が増えていた。

当時は、ブラウザの互換性のためにIE7のベータ版をインストールした後に 元に戻す方法を調べて書いていたのでした。 今になって参照されるというのも面白いですね。

posted by Png genki on Mon 18 Feb 2008 at 09:23

SafariかFirefoxで閲覧することが多いので気がつくのが遅れましたが、 この記事 をPostして以降、IE6でレンダリングが乱れる状態になっていたようです。

原因は、はっきりとはわかっていないのですが、 埋め込まれていたSWF(現在はリンクだけになっています)の初期化と、 JavaScriptの実行が干渉していた模様。 JavaScriptの実行とFlash Playerの実行の順序やタイミングについては、 ブラウザごとに微妙に違ったりしているようで、なかなか良くわかりにくい ところですね。

何も考えずに SWFObject などを使って、JavaScript側から明示的にタイミングを指定して SWFを初期化するのが良いのかも。

posted by Png genki on Sun 17 Feb 2008 at 05:14

外部に公開されているサーバでは、sudoのタイムアウトを長くする事は セキュリティ面からお勧めできませんが、 ローカルのVMWare上で動いているOSなどでは、 sudoのタイムアウトを長くしたいと思うこともあるかもしれません。

そんなときは、visudoコマンドで/etc/sudoersに以下の設定 を書き加えればOKです。

   1  Defaults timestamp_timeout = 1440

1440はタイムアウト時間を[分]であらわしたものです。

At Your Own Risk!

posted by Png genki on Sat 16 Feb 2008 at 17:38

Pratik Naik氏による1ファイルで出来たRailsアプリケーション。

Single file Rails Application

Just for fun and profit

Thinを使ってますね。

Rails App Golfとかやったら面白いかもしれません。 Railsアプリとは何かという、ちょっと哲学的な問題に突き当りそうですが。

posted by Png genki on Sat 16 Feb 2008 at 16:55

Thin は、最近話題の軽量・高速が売りのWebサーバです。

Thin is a Ruby web server that glues together 3 of the best Ruby libraries in web history:

  • the Mongrel parser, the root of Mongrel speed and security
  • Event Machine, a network I/O library with extremely high scalability, performance and stability
  • Rack, a minimal interface between webservers and Ruby frameworks

ということで、 RailsアプリケーションでThinを使う方法をメモしておきます。 何はともあれ、まずはsudo gem install thinで thinをインストールします。 あとは、RAILS_ROOT

   1  $ thin start

するだけでOKです。非常に簡単です。 thinコマンドのオプションは以下の通り。

   1  Usage: thin [options] start|stop|restart
   2  
   3  Server options:
   4    -a, --address HOST     bind to HOST address
   5                           (default: 0.0.0.0)
   6    -p, --port PORT        use PORT (default: 3000)
   7    -e, --environment ENV  Rails environment
   8                           (default: development)
   9    -c, --chdir PATH       Change to dir before starting
  10    -s, --servers NUM      Number of servers to start
  11                           set a value >1 to start a cluster
  12    -d, --daemonize        Run daemonized in the background
  13    -l, --log FILE         File to redirect output
  14                           (default: log/thin.log)
  15    -P, --pid FILE         File to store PID
  16                           (default: tmp/pids/thin.pid)
  17    -t, --timeout SEC      Request or command timeout in sec
  18                           (default: 60)
  19    -u, --user NAME        User to run daemon as (use with -g)
  20    -g, --group NAME       Group to run daemon as (use with -u)
  21  
  22  Common options:
  23    -D, --debug                      Set debbuging on
  24    -h, --help                       Show this message
  25    -v, --version                    Show version

見ての通り、デフォルト設定はRailsアプリケーションに 最適化されています。

posted by Png genki on Sat 16 Feb 2008 at 12:48

ウノウラボさんで面白いイベントをやってるので参加してきます。

気分をかえてウノウで趣味の開発してみませんか?

さて、そういうこともあり、週末会社があいている時間を利用していろいろな人と一緒に、内容はばらばらでも開発してみたいよねという話を社内でしてみたところ意外と盛り上がり、うまいこと許可もとれたので、一日だけ皆さんの開発場所としてウノウを提供させていただこうと思います。

追記

ということで、参加してきました。

懇親会の様子

いわゆる勉強会とは違って、みんな黙々と作業をしているのが新鮮でした。 以下箇条書きでメモ・感想など。

  • 元同僚のonk氏がRailsを勉強しに着ていた
  • スクレイピングの人といろいろ話ができて面白かった
  • Mackbook Air人気
  • 「VistaからXPにアップグレード」
  • デバイスを作るのはやっぱり面白そうだ
  • 下北沢(うちの隣の駅)の会社のCTOさんと会った
  • KLabは「クラブ」
  • 手羽先は蟹に通じるものがある(食べてると沈黙する)
  • 宗教論争(エディタ、80桁制約、タブの数、Mac/Win and so on...)

全然関係ないけれど、ツインスパークさんと同じ建物なんですねー。

posted by Png genki on Sat 16 Feb 2008 at 10:05