ぼくちん: 2007年7月アーカイブ
MacとWindowsで使える外付けディスクを用意したい。
DVからの動画を入れるので、そこそこ速度が必要で、1ファイルも大きくなる。
市販のFAT32のファイルシステムのドライブだと、FAT32の制限「1ファイル4Gまで」がある。
FAT32は上記制限でだめ。newfs_msdosのオプションをあたってみたけど、無理そう。
Macのファイルシステム、HFS+はWindowsでは読めない。
Windowsのファイルシステム、NTFSはMacFUSEとNTFS-3Gというソフトを使えばMacでも読み書きできるらしい。
やってみた。MacFUSE-Core-0.4.0.dmg、ntfs-3g 1.710。
結論。
遅くて実用にならなさそう。
Macbookにある1GのファイルをUSB外付けディスクに転送してみたけど
17分かかる。
sshfsも自宅にあるiTunesライブラリを漁ってると落ちたりする。
まだsmb over sshから乗り換えるには早そう。
今のところSambaかNASか。
昨日Moxyを使えるようにしてみたので、メモ。
Mac環境だとdbm_class: DB_Fileしないとエラーが出ました。
取得
http://code.mfac.jp/trac/
インスト
perl Makefile.PL
make
make install
設定ファイル
~/.moxy_config.yaml
---
global:
assets_path: /Users/bokutin/compile/mfac/Moxy/assets
server:
module: HTTPProxy
port: 9999
host: localhost
max_clients: 80
storage:
dbm_class: DB_File
plugins:
- module: Pictogram
- module: HTMLWidth
- module: HTTPEnv
- module: StickyUA
- module: ControlPanel
- module: GPS
- module: UserAgentSwitcher
- module: XMLisHTML
- module: RefererCutter
SHELL
% alias moxy_server
moxy_server='perl /opt/local/lib/perl5/site_perl/5.8.8/moxy.pl --config=/Users/bokutin/.moxy_config.yaml'
おしまい。
テーブルがそのままレンダリングされちゃうよー。
いいのかな・・・
Catalyst-Runtime-5.7007。
catalyst.pl project直後のproject::Controller::Rootの
sub default : Private {
my ( $self, $c ) = @_;
# Hello World
$c->response->body( $c->welcome_message );
}
を以下のように変えて
sub default : Private {
my ( $self, $c ) = @_;
system("ls");
if ($? == -1) {
warn "failed to execute: $!\n";
}
elsif ($? & 127) {
warn "child died with signal %d, %s coredump\n",
($? & 127), ($? & 128) ? 'with' : 'without';
}
else {
warn "child exited with value %d\n", $? >> 8;
}
# Hello World
$c->response->body( $c->welcome_message );
}
のようにsystem()を使うと
failed to execute: No child processes
と言われる。
sendmailを呼びだすようなMIME::Lite::TT::HTML::Japaneseなどを
使っても刺さる。
どうやらこの症状は起動しているサーバーによって挙動が違い
付属のテストサーバーでは、上の通り「No child processes」。
付属のテストサーバーに-rオプションを付けると、system()でロックする。
lighttpdだと、問題なし。
臭ったところのCatalyst::Engine以下ですが、
Catalyst::Engine::HTTPにlocal $SIG{CHLD} = 'IGNORE';を発見。
これが原因になってたよう。
なので、テストサーバ、リスタート付きテストサーバ、lighttpdの三種で
互換性のあるコードを書くには
{
$SIG{CHLD} = 'DEFAULT';
system("/bin/ls");
....
}
などとしなくては、ならないのかにゃ。
なんか心地好くない気がするけど、とりあえず解決。
MacBook Pro EFI Firmware Update 1.3。
操作手順の通りに操作して、電源ON後ビープ音も鳴るものの、肝心のアップデートが実行されず、失敗する。プログレスバーも現われない。
上手くいかなかったから、ほったらかしてたけど、ソフトウェアアップデートの度にアップデートを促される・・・
という状態でしたがMaxFixItに解決法が載ってました。
ようは、Application -> Utilityにある過去のファームウェア・アップデートを消して、1.3をダウンロードしなおしたら上手く行きました。
HDDを換装したからこういうことが起きちゃったんですね。すみません。
落としたくらいじゃ全然壊れないよ! とふんでいたiPod (MA448J/A)ですが
先日、落として壊れてしまいました。
電源をオンにすると、SadMacアイコンが表示されて、カラカラ音がします。
SadMac
iPodに付いていたHDDは東芝MK8010GAHでした。
仕様としては
- 1.8インチ
- ZIFSoket
が重要でしょうか。
MK8010GAHはアップルロゴ入りのHDDで、小売はしていないようです。
換装するHDDは表面上のスペックが同等なMK8009GAHにしました。
換装の仕方はifixipodsfast.comにムービーがありますので、これを参考にしました。
以下、写真とメモです。
ビデオではグリーンの専用リムーバー?を使っていますが
ぼくはガチャ玉で代用。
iPodに載っていたHDD、MK8010GAH。ZIFSoket。
換装するために調達したHDD、MK8009GAH。
同じくZIFSoketですが、ケーブルが付いていません。
外してこちらに付けます。
HDDに両面テープで付いているクッションを移植します。
スポンジと両面テープを一緒に剥すのがコツでしょう。
以下、換装するまで見たことなかったiPodとiTunesの写真。
おしまい。
DBICというか DBIx::Class ですが、0.8から新しく入ったDBIx::Class::ResultClass::HashRefInflator でも使うかなと思ってたところ ちょこっと弄ったら、全然不要でした。
# # 0.2 sec
# $result_rs->search({id => \@ids})->update({folder_id=>$folder_id});
# # 6 sec
# for my $id (@ids) {
# my $result = $result_rs->find({id=>$id}) || die;
# $result->set_from_related('folder', $folder);
# $result->update;
# }
# # 6 sec
# for my $id (@ids) {
# my $result = $result_rs->find({id=>$id}) || die;
# $result->set_column( folder_id => $folder_id );
# $result->update;
# }
@idsは200個ぐらい。 resultはfolderに属している(belongs_to)です。
計測はiTunes再生しながら Benchmark::Stopwatch しましたので不正確ですケド・・・
発行されるSQL文の低減とinflate_resultが無くなったのが要因かにゃ。














