• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

MacOS 10.6 カーネルパニックとの戦いのメモ。

Macbook Proを使っていますが、カーネルパニックでグレーアウトする現象が頻繁に起きるようになったため、OSのインストールディスクに同梱されているApple Hardware Test(AHT)を試そうと思ったのですが、SnowLeopardのアップグレード版のインストールディスクにはAHTが同梱されていない事がわかりました。

各所で解説されている「F2を押しながら起動」、「インストールDVDを入れてDキーを押しながら起動」してもユーティリティを起動する画面にならず、最終的にoptキーを押しながら起動し、起動ドライブとしてDVDを選択するということでユーティリティの選択ができるようになりました。

しかし、メニューバーに表示された"ユーティリティ"メニューの中にAHTを示すものはなく、アップグレード版のSnowLeopardではどうすることもできないようです。
幸いそれほど遠くない場所にGenius Barがあったので、明日いってみようと思いますが、近くになかったとしたら悲しいですね。

posted by genki genki on Wed 13 Jan 2010 at 13:53 with 6 comments

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

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

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

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

bin/rak

diff>>
--- rak_original 2007-12-26 20:48:26.440270979 +0900
+++ bin/rak 2007-12-26 20:43:56.736258421 +0900
@@ -464,6 +464,8 @@
end
return false
end

  • rescue Errno::ENXIO
  • false

end

def self.search2(str, files)
<<--

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

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

posted by genki genki on Wed 26 Dec 2007 at 21:05 with 0 comments

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

今までなら、

js>>

a = $H()
Object _object=Object

a.test = 'foo'
"foo"

a.inspect()
"#<Hash:{'test': 'foo'}>"
<<--

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

js>>

a.test = 'foo'
"foo"

a.inspect()
"#Hash:{}"
<<--

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

js>>

a.set('test', 'foo')
"foo"

a.inspect()
"#<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 genki genki on Wed 26 Dec 2007 at 17:49 with 0 comments

昨日RubyGemsを1.0.0にアップデートしたところ、
require_gemが使えなくなってしまったため、
内部でrequire_gemを使っているGemが使えなくなりました。

かなり前から移行措置が取られていたため、
使えなくなったGemはほとんど無かったのですが、
一個だけ、ruby-openidの1.x.x系列が使えなくなっていました。

その結果、愛用していた
restful_open_id_authenticationプラグインが
動かなくなってしまいました。
結構いろんなプロダクトで使っていたので影響大です。

ruby-openidの2.x.x系列は、require_gemを使わないようなコードに
なっているのですが、インターフェイスが大分変わっているため、
すんなりとアップグレードが出来ない感じですね。

しかし、アップグレードしないわけにもいかないので、
restful_open_id_authenticationプラグインの
ruby-openid 2.x.x系対応に着手します。

すでに同じ問題に取り組んでいる方がいらっしゃいましたら、
喜んでご協力いたしますのでご連絡いただけるとありがたいです。

連絡先

posted by genki genki on Fri 21 Dec 2007 at 06:23 with 0 comments