特に好きなわけではないのだけれど、気がつけば10年以上VAIOを使っていた。 しかし、SONY製のソフトウェアを使った記憶が残ってない。

なぜアップルにできたことがソニーにはできなかったのか

アップルがiPod+iTunes+iTunes Storeというハード・ソフト・サービスを巧みに組み合わせてネット時代にふさわしいコンシューマ・エレクトロニクス・ビジネスモデルを見せてくれたことに関しては、ここでもさんざん書いて来たが、反面教師として注目すべきなのは、ソニーになぜそれができなかったのか?ということ。

それに対して、Appleのソフトウェアは結構使っている気がする。 わざわざベータ版のWindows Safariまで持ってきて使っている。

posted by Png genki on Sun 30 Dec 2007 at 15:37

ちょっと前の記事だけど、偶然目にして興味深かった。

TechCrunch Japanese アーカイブ ? Skypeダウンの原因はWindowsユーザーだった

Skypeによれば、サービスがダウンした原因は「国際的な規模での定期的なパッチ配布に伴い、ユーザーが非常に短い期間内に一斉にコンピュータの再起動を行ったこと」

P2Pサービスは、ピアの数が一時に大量に減少すると安定性が損なわれる。

それ以外の様々な効率の面で言っても、例えばWindowsアップデートの ような大規模なシステムの更新は、時間差を伴って行われるべきだろうな。 ○○が××の一斉自動更新の影響でダウン、 という現象はこれから増えてくるのかもしれない。

posted by Png genki on Fri 28 Dec 2007 at 12:12

今回の主な変更内容は、Rails 2.0への対応です。

Rails 2.0系から prototype.js 1.6が使われるようになった事と、 CSRF対策のために導入された仕組みのため、 バージョン 3.2.5 以前のバージョンでは 動作しなくなっていました。

今回のアップデートでとりあえず動く状態になりました。

よろしくお願いします。

posted by Png genki on Thu 27 Dec 2007 at 16:14

Railsアプリケーションなどで、lighttpdを使って開発していると、 tmp/sockets以下にソケットファイルが生成されます。

これがあると、 以前紹介したRak でエラーが発生して 上手く検索することが出来なくなる問題があったので、 対処方法を紹介します。

ソースコードを修正する必要があるので、 Rubyforgeから tar ball を持ってきます。

これを展開して、以下のようにファイルを書き換えます。

bin/rak

   1  --- rak_original        2007-12-26 20:48:26.440270979 +0900
   2  +++ bin/rak     2007-12-26 20:43:56.736258421 +0900
   3  @@ -464,6 +464,8 @@
   4         end
   5         return false
   6       end
   7  +  rescue Errno::ENXIO
   8  +    false
   9     end
  10  
  11     def self.search2(str, files)

あとは、rake install_gem すればOKです。

作者のDanには、メールでPatchを送っておきました。

posted by Png genki on Wed 26 Dec 2007 at 21:05

うーむ、この挙動の変更には驚いた。

今までなら、

   1  >>> a = $H()
   2  Object _object=Object
   3  >>> a.test = 'foo'
   4  "foo"
   5  >>> a.inspect()
   6  "#<Hash:{'test': 'foo'}>"

という挙動だったのだけれど、version 1.6以降、最後の結果が

   1  >>> a.test = 'foo'
   2  "foo"
   3  >>> a.inspect()
   4  "#<Hash:{}>"

と、空っぽのままになってしまう。 Hashへの要素の追加は、以下のようにgetsetを使わなくては ならないようだ。

   1  >>> a.set('test', 'foo')
   2  "foo"
   3  >>> a.inspect()
   4  "#<Hash:{'test': 'foo'}>"

これは結構影響が大きな変更なんじゃないかな・・・。

追記

Rails 2.0からprototype.js 1.6が使われるようになったから、 今頃気がついたわけですね。

JavaScriptライブラリ「Prototype.js 1.6.0」正式版リリース(ライブラリ)

Elementsは「new Element(...)」というシンタックスで生成できるようになり、Element#insert、Element#select、 Element#wrapといったAPIが提供された。また、Hashに関するAPIが変更され、Hash#get、Hash#setを使う必要がある。

posted by Png genki on Wed 26 Dec 2007 at 17:54

対応作業は完了いたしました。


現在のところ、 ShootingStar はRails 2.0への対応作業中です。

進展があり次第こちらでご報告いたします。

よろしくお願いいたします。

更新履歴

  • 2007/12/26 記事投稿
  • 2007/12/27 対応完了
posted by Png genki on Wed 26 Dec 2007 at 06:14

お疲れ様でした。

Railsが対応するのは 1.9.1 が出てからだろうか。

更新履歴

  • 2007/12/26 tar ballへのリンクを追加。
posted by Png genki on Wed 26 Dec 2007 at 06:06

RubyGemsを使い続けていると、古いバージョンのgemがたまっていきますが、 まとめて綺麗にする方法のメモ。

   1  # gem uninstall activesupport -v '<= 2.0.1'
   2  
   3  Select gem to uninstall:
   4   1. activesupport-1.4.2.6548
   5   2. activesupport-1.4.2.7357
   6   3. activesupport-1.4.4
   7   4. activesupport-2.0.1
   8   5. All versions
   9  > 5

このように、-vオプションで不等号によるバージョンの指定 を行い、All versionsを削除すると、まとめて 一度に削除できます。

posted by Png genki on Tue 25 Dec 2007 at 16:03

非常に参加しがいのある良いイベントでした。 運営者の皆様、お疲れ様でした。ありがとうございます。

イベント自体も面白かったのだけれど、二次会が面白かった。

koizukaさん、nyaxtさん、shinhさん、 末永さん、太田さん、ありがとうございました。 非常に刺激的な時間でした。 全員Twitterフォロー完了。

久々に積分方程式が解きたくなってきた。 並列計算勉強会やりたいですね。

posted by Png genki on Mon 24 Dec 2007 at 09:16

以前紹介した BenchmarkForRails は、Railsアプリケーションの詳細なベンチマークを 行うことが出来る便利なプラグインですが、 rake test:unitsの実行でエラーが発生する問題が 起こっていました。

調べてみたところ、init.rbファイルにrequire文が 足りていないのが原因のようだったので、対処法を紹介します。

vendor/plugins/benchmarkforrails/init.rb

   1  require 'dispatcher'
   2  require 'benchmark_for_rails'
   3  # The special :request benchmark. This tries to encompass everything that runs
   4  # to handle a request.
   5  BenchmarkForRails.watch(:request, ::Dispatcher, :dispatch)

上記の2行目を加えることで、エラーが出なくなります。

posted by Png genki on Sat 22 Dec 2007 at 22:27