裸族の集合住宅のHDDマウントがいきなり切断する

【症状】
Mac起動時には、問題なくHDDを認識かつマウントし、データの読み込み/書き込みも可能であるが、使用中に突如、裸族の集合住宅のHDDが全て認識しなくなり、「正常に切断できませんでした。」という旨のエラーメッセージが表示される。
その直後にHDDは全て再認識され、マウントされることが多い。すぐに再認識されなくても、Macを再起動すれば通常通り認識されることが多い。

【環境】
iMac - Mac OS X 10.6.8
裸族の集合住宅(CRSJ35EU3)
接続 USB3.0ケーブル(Mac側は2.0対応)
HDD1 - 320GB Hitachi HDT725032VLA360
HDD2 - 1TB ST1000DM 003-9YN162
HDD3 - 1TB WDC WD10 EADS-00M2B0
HDD4 - 1TB WDC WD10 EADS-00M2B0 (HHD3 とのRAID1)

                  • -

全HDDが一度に認識しないので、HDDの問題ではなかろうと。いろいろ考えた結果、やはり接触不良にあると思ったので、試しにMacに直で挿しているUSBの接続部分をぐらぐらさせてみたら、瞬時に上述の症状が発現。

                  • -


【原因】
おそらくMacと裸族の集合住宅を接続しているUSBの接触不良


【対処策】
USBハブに繋げる

                  • -

MacのUSBポートと、裸族の集合住宅に付属のUSBケーブルの物理的な相性の問題だったようだ。
USBに付けかえ、USBハブとMacとの接続部分、USBハブと裸族の集合住宅の接続部分をそれぞれぐらつかせてみたが、上述の問題はおきていない。
今後使用を続けて状況を観察したい。

裸族の集合住宅に格納しているHDDでRAIDを組んで、Time Machine用のディスクとして使用しているのだが、HDDが突然認識しなくなるなど、恐ろしくてバックアップには使えないのである。

    • -

05/13 追記

iMacがスリープ復帰したときに、HDDがマウントが切れるというトラブル発生。その後、Macを再起動してもディスクを認識せず・・・USBハブから直挿しに戻すと、どうやらディスク損傷なしで復帰した。
うーむ、これでは恐ろしくて使えない。

    • -

06/11 追記

そもそも裸族の一戸建ては、スリープからの復帰はサポートしていないらしい。
というわけで、システム環境設定の省エネルギーから自動スリープをしない設定にして使用中。
最近は快調に使えているけど、USB接続部分の安定度がイマイチな点はきっとまだ未解決だと思うが、めんどうで対策を講じられていない。

iTunesで音楽再生中、曲の途中で次の曲へ変わる

現象としては、特定の曲にのみ毎回発生していて、曲によって次の曲へ飛ばされる位置(秒数)は固定されているようでした。およそ3分43秒付近で強制的に次の曲へ飛ばされますが、この位置は曲によって違うようでした。シークバーで曲の終わり頃に飛ばすとやはり次の曲へ飛ばされる・・・つまり、曲の後半部分が再生不能の状態になっていました。といってもすべての曲で発現するわけではなく、CDから取り込んだものではなく、どうもiTunes Storeで購入したものに発症している問題のようでした。でもiTunesで購入したもの全部ではない。
ちなみにマシンを換えたりした際に、音楽ファイルをコピーして新たにiTunesをインストールした後ライブラリに追加し直すという作業を何回か繰り返しているので、その時にファイルが破損したのかと思いました。そこで、元ファイルをQuick Timeで直接再生させましたが、きちんと最後まで再生できるので、ファイル破損ではなさそう・・・ということは原因はiTunesにあるのだろうということで、最新アップデートをかけて再起動するも問題は変わらず。
で、結論としては、解決しました。当該の曲をライブラリから削除(右クリックのコンテキストメニューから)して、「ファイル>ライブラリに追加」で再度ライブラリに追加し直す。(決して元のファイルを削除しないように注意)

cakePHPでsmartyを使う方法

動作環境は以下の通り。

Apache 2.2.21
PHP 5.3.8
CakePHP 1.3.14
Smarty 3.1.7

テンプレート部分の制作には、やはり使い慣れたSmartyを使いたいので、CakePHPSmartyを使えるようにしたのでメモ。
検索しても割と古い記事しか出てこなかったので、cakePHPでわざわざSmartyを使っている人はそんなにいないのだろうか・・・

cakePHP 1.3でSmartyが使えうようにするためのプラグインはこれ。

CakePHP用のSmartyプラグイン - basukeの日記

インストール方法はいたって簡単なのだけれど、英語でしか書かれてない。読み間違えてはまりましたので注意。
ダウンロードすると、以下のようなファイル構成です。

    • -

vendors/
views/
README.md

    • -

これらをまとめて、cakePHPの以下の場所に置く。

/app/plugins/
ここに'smarty'とでも名付けたディレクトリを作成して、先ほどのファイルを全部(READMEはなくてもいい)を設置する。

私はここにviewsの中身だけを置いて、venders/ディレクトリの中身はapp/venders/smarty/の中に置いたりして、動かないとうなってしまった。

Google Earthで隠した建物を再表示するには

Google Earth では建物を右クリックすると、「建物を隠す」というコマンドが現れ、立体表示される建物を隠すことができます。

で、肝心の隠した建物を元に戻す方法は、再起動してください

Facebookページのウォールにリンクをうまく投稿できない件

「ページ」とか「リンク」とか、単語があまりにも一般的すぎてうまく検索できない。なかなか該当する記事がなかったので書き残しておきます。

現象としては、Facebookページ(個人ページではなく)のウォールに、「リンク」を投稿しようとすると、下記のような「ウォールに投稿できませんでした」というエラーが出る。

それも、どのリンクを投稿してもなるのではなく、どうもURLにアンカーを付けたものをリンク投稿しようとするとNGらしい。(たとえばhttp://sample.com/#ancher)あまり多くを検証した訳ではないので確かではない。

何でエラーなのかも表示されないので、対処のしようがない。これはバグかな。

同じような症状で悩まされている人、解決策を知っている人などいらっしゃったらコメントください。

jQueryでclickイベントにbindしたら、クリックしてないのに勝手に動き出した件

表題の件、検索しても出てこなかったので。
まずはコードを。

[ HTML ]

<p class='sample'>ここをクリック</p>
<p class='display'></p>


[ javaScript ]

$("p.sample").bind('click',hello('ja'));
function hello(lan){
if(lan=='ja'){
var greet = 'こんにちは';
}else if(lan=='en'){
var greet = 'Hello!'
}else if(lan=='cn'){
var greet = '你好';
}else{
var greet = '○△■×';
}
$("p.display").text(greet);
}

ここをクリックっていうテキストをクリックすると「こんにちは」って表示されるのを意図していたんだが、なんかもう既に表示されている。bindのコールバックに引数を付ける必要があったのだが、引数をつけてやるとclickされる前に発動してしまうらしい。

で、正解はこっち。

$("p.sample").bind('click','ja',hello);

function hello(lan){
if(lan.data=='ja'){
var greet = 'こんにちは';
}else if(lan.data=='en'){
var greet = 'Hello!'
}else if(lan.data=='cn'){
var greet = '你好';
}else{
var greet = '○△■×';
}
$("p.display").text(greet);
}

コールバックする関数名は第三引数に、その関数に渡す引数はbindの第二引数に渡す。u呼び出した関数内では、渡した引数はオブジェクトとして渡っているので注意。

Dreamweaverで自動で入るインデントの設定方法

コードを書くとき、私はたいていインデントとしてタブを一文字入れるのが習慣なのだが、(PC乗り換えにあたって)Dreamweaverの自動インデント機能で入れてくれるインデントが半角スペースになってしまっていたので変更した。
自動インデントは、改行した際に行の開始位置を自動的に直前の行の開始位置に合わせてくれる機能。その分、行の先頭に空白を入れる訳だが、タブで入れるか半角スペースで入れるか、コーダーによってあるいは仕様書によって異なる。
変更方法は以下の通り。なお、Dreamweaver CS5における操作である。

編集>環境設定>コードフォーマット
最上部の「インデント」で使用する文字(タブか半角スペースか)と文字数を指定できる。チェックを外すと自動でインデントをつけなくなる。