« 2009年8月 | トップページ | 2009年10月 »

2009年9月24日 (木)

以前Snow Leopardの開発者版でNTFSの書き込みが

非公式にサポートされているということをこちらで読みましたが、今日久々に検索したらこんなスレッドを見つけました。試してみようかな。

同僚のノートブックが

ワームにやられました。知り合いのUSBメモリからブツをコピーしようとして間違ってクリックしてしまったのが運のつき。あっという間に感染です。わたしの仕事場ではどのPCにもF-Secure Anti-Virus Client Securityがインストールされているんですが、同僚のDellのノートブックは来たばかりでまだ入れてなかったみたいです。同僚は忙しい時に2時間ほど仕事を中断するハメになって落ち込んでいました。かわいそうだから今晩飲みに誘ってあげようかな。

2009年9月23日 (水)

Snow Leopardでは

ユーティリティに入っていたアプリなんかがシステム環境設定などに統合されたりして、普通のユーザがあまり必要としないようなものは目につかなくなりましたね。rootのパスワードを変更しようと思って思わずあちらこちら探しまわってしまいました。

WD Scorpio Blue WD6400BEVT (640GB, 5400RPM)の

予約がフィンランドでも始まりました。価格は送料別途で120ユーロ程度ですねえ。ちなみに1GBのWD10TEVTは200ユーロを切って、750GBのWD7500KEVTも130ユーロ近くまで値下がりしています。9ミリ厚の2.5インチディスクは2プラッタの500GBが出回り始めてから640GBまでほぼ10ヶ月くらいかかっていますね。ということは750GBは来年の夏頃かな。

2009年9月15日 (火)

Snow Leopardのシングル・ユーザー・モードでは

電力管理がしっかりされているのか、fsckを実行しても熱くなってファンがブンブン回るようなことがなくなりましたね。こういう面でもLeopardに比べて洗練されましたね。

Automatorでlame使用のMP3エンコーダのドロップレット その2(邪道編)

以前にAutomatorを使ってlameのMP3エンコーダのドロップレットを作ると、「シェルスクリプトを実行」ではlameが起動してすぐにこけるということを書きましたが、今でも状況は変わっていないみたいです。lameが何らかの形でAutomatorで使用できない部分を含んでいるのかもしれませんがド素人のわたしにはわかりません。実際他のコマンドは問題なく動きます。例えばmpg123を使ってMP3ファイルをWAVにエンコードするドロップレットを下の画像のコードみたいに書くとうまく動きます。

Mpg123

for f in "$@"
do
  cd $(dirname "$f")
  /usr/local/bin/mpg123 -w $(basename "$f" .mp3).wav "$f"
done



すっきりしないながらもしかたがないので「AppleScriptを実行」を導入してその中で「do shell script」を実行し問題を回避しています。lameのオプションは適当な例です。

Lame_automator


on run {input, parameters}
  repeat with obj in input
   set sound_file to POSIX path of obj
   do shell script "/usr/local/bin/lame -V0 --vbr-new " & sound_file & " " & "$(/usr/bin/dirname " & sound_file & ")/" & "$(/usr/bin/basename " & sound_file & " .wav).mp3"
  end repeat
 return input
end run



これはもちろんAppleScriptだけで下の画像みたく書くこともできますが、わたしはSnow LeopardのAutomator実行中に出てくる歯車が気に入っているので敢えてわざわざAutomatorで組んでいます。

Lame_as_2






on open dd_items
  repeat with object in dd_items
   set sound_file to POSIX path of object
   do shell script "/usr/local/bin/lame -V0 --vbr-new " & sound_file & " " & "$(/usr/bin/dirname " & sound_file & ")/" & "$(/usr/bin/basename " & sound_file & " .wav).mp3"
  end repeat
end open

2009年9月14日 (月)

簡単なAND検索の方法を

教えてほしいなんて、そんなこと自分で考えな!と普段だったら言うところですが、かわいい研修生にグリーンの瞳で見つめられながら言われては絶対に断れないですよね(しかしこの子は美人だ...)

ということで久々のスクリプトネタです。

喜んでしかたがないのでどのスクリプトでも通用しそうな方法をPerl様を使って教えました。これけっこう今までも訊かれることが多かったので、色々なやり方がある中で初心者の方にもわかりやすい方法だけを少しだけ書いておきます。まあ実際にはこのような形で使われることはめったにないでしょうが。

前置きとして検索する単語群と検索の対象になる文はどちらも配列に入っているものとすることにします。例では検索する単語群の配列を@tangogun、検索の対象になる文が行ごとに入った配列を@bunとし、全ての検索語にマッチした行だけをプリントすることにします。JavaScriptでも他のスクリプト言語でも似たようなことをすれば(番外編を除いて)動くはずです。

その1 検索する単語群の入った配列の要素数とマッチした回数をチェックし、二つの値が等しい場合にプリントする方法

foreach $gyou(@bun){
  $kazu = 0;
  foreach $tango(@tangogun){
    if ($gyou =~ /$tango/){
      $kazu++;
    }
  }
  if ($kazu == $#tangogun + 1){
    print "$gyou";
  }
}

コマンドラインでしたらcatで検索対象の文を読み込んで(別にcatを使う必要は全くないですがパイプライン処理だと想定して)Perlのオプションで-neを指定すれば下記の例のようにそのまま使えます。例では検索単語群は"Finland"、"restaurant"、"Kamome"ということにしておきます。

cat restaurantlist.txt | perl -ne '$kazu = 0;@tangogun=("Finland", "restaurant", "Kamome");foreach $tango(@tangogun){if(/$tango/){$kazu++;}}if($kazu == $#tangogun + 1){print;}'

その2 検索する単語がマッチすれば的(まと)という変数に当たりマーク与え次の検索語へ進み、そうでなければハズレマークを与えてlastでループから抜け出し、最終的に的(まと)が当たりマークだったらプリントする方法

foreach $gyou(@bun){
  $kazu = 0;
  foreach $tango(@tangogun){
    if ($gyou =~ /$tango/){
      $mato='atari';
    }else{
      $mato='hazure';
      last;
    }
  }
  if ($mato eq 'atari'){
    print "$gyou";
  }
}

こちらもコマンドラインでやるにはその1と同様にcatで検索対象の文を読み込んでPerlのオプションで-neを指定すれば簡単にできます。

cat restaurantlist.txt | perl -ne '$kazu = 0;@tangogun=("Finland", "restaurant", "Kamome");foreach $tango(@tangogun){if(/$tango/){$mato='atari';}else{$mato='hazure';last;}}if($mato eq 'atari'){print;}'


その3(番外編)検索単語群を「(?=.*Finland)(?=.*restaurant)(?=.*Kamome)」という感じに「(?=.*〜)」を使って連結して検索にかけるとあ〜ら不思議、上記2例と同じ結果が得られます。これは非常に有名ですがPerlでやると正直遅いです。ただSnow Leopardの入ったインテルマックだと速度差は気づきませんけどね。これを使うとPerl様でも全く歯が立たないくらい激速なのはSafariの(WebKitの)JavaScriptです。昔のFirefoxでは(1.Xの頃ね)動きませんでしたが今のバージョンではわかりません。例では検索単語群を連結したものを入れた変数$renketsuを使いました。

$renketsu = '(?=.*Finland)(?=.*restaurant)(?=.*Kamome)';
foreach $gyou(@bun){
  if ($gyou =~ /$renketsu/){
    print "$gyou";
  }
}

コマンドラインではクオート問題を回避するためにq//などを使ってやると下記のようにやると良いでしょう。

cat restaurantlist.txt | perl -ne '$renketsu=q/(?=.*Finland)(?=.*restaurant)(?=.*Kamome)/;if(/$renketsu/){print;}'

さっ、かわい子ちゃんと一緒にお茶してこよ

2009年9月13日 (日)

Snow LeopardにしたらCコンパイラーが

どこかへ行ってしまったようです。ネット検索で調べなくては...

追記 デベロッパーツールを入れなおしたら見つかりました。リンクが切れていたのかな。でもエラーが発生して色々なツールの新しいバージョンが入れられません。無理矢理入れたら動かなくなったやつも。とほほ...

2009年9月10日 (木)

外付けサウンドカードを

買おうと思っているんですが、FirewireとUSBでどちらにしようか迷っています。来年USB3.0ポートのが出るのだったらそれを待つのも良いかも。

Scorpio Blue 640 GBが

出ましたね。フィンランドに入ってきたら即買いです。

東芝とWDに続いてサムスンも出しましたね。こうなると出回るようになってから2ヶ月くらいで価格が20ユーロくらい落ちるかな。しばらく待つか...

2009年9月 9日 (水)

今後のOS Xのアップデートで切られるマシンは?

次のアップデートで64ビット環境に完全に移行するであろうことを思うと、Snow Leopardで64ビットカーネルモードにできないマシンは危ないのではないかと思います。CoreDuoマシンはもうダメでしょう。Mac Miniみたいに安いマシンもヤバそうですね。現在の状況で考えると64ビット環境で普通のユーザーが得することはないでしょうが、完全移行したかどうかで先進性でWindowsに差をつけられるし、2、3年経ったらノートブックのメモリだって8GBぐらいが普通になっているかもしれないですしね。この記事なんか読むとWindowsの64ビット環境への完全移行はあと10年くらいかかりそうな気がしますね。

今回PowerPCマシンが切られたことをいまだに苦々しく思っている人もたくさんいますが、 2005年のWWDCでIntel Macに移行することを発表してから既に4年経っているし、PowerPCマシンのサポートは充分したんじゃないですかね。プロセッサはもうしばらくは変わることはないでしょうが、来年のWWDC辺りでジョブスが「OS Xには、5年前インテルプロセッサに移行を発表した時に人には言えない秘密があった。実は全てのOS XのバージョンはGPGPUでも動くようにしてあった。われわれは来年からNVIDIAに移行する。」なんてね

Snow Leopardのパーミッションの修正ですが、

めっちゃんこ速くなっていてありがたいですねえ。Leopardではパーミッションの修正がクソ遅くなって正直苦痛でしたから。

2009年9月 7日 (月)

アプリのSnow Leopardサポートですが、

起きている問題の大半はCore 2 Duo以降の64ビットのプロセッサを搭載したMacで32ビットのアプリを起動した時のものですね。その証拠にCore DuoのMacBookではCore 2 DuoのMacBook Proで動かないソフトもしっかり動いています。こうなってくるとCore Duo搭載のMacを使っている人はアプリのアップデートをあわててする必要ないですね。まあ全てが動くわけではないでしょうが。

2009年9月 6日 (日)

Snow Leopardのドックは新しいエフェクトが

追加されていたんですねえ。ドックで開いているアプリの上にファイルを持っていって0.5秒くらいそのままの状態でいると背景が暗くなってアプリの部分だけがライトアップされるようになっていました。これでやっと起動中のアプリの下のランプのアイコンが意味を持ちましたね。わたしなんかどこかのニュースで知る前はあれがランプのアイコンだなんて気づきませんでしたもんね。

追記 これはアプリごとに起動するExposéなんですねえ。りこうになりました。

Snow Leopardの64ビットカーネル vs. 32ビットカーネル(スクリプト言語の置換速度での比較)

64ビットカーネルを使用した時とと32ビットカーネルを使用した時で速度に差があるのか知りたかったのでPerlとRubyに置換速度テストをやらせてみました。Perlは5.10.0でRubyは1.8.7、結果はいつも通り3回の平均です。

1.500MBのテキストファイル(置換回数6,397,603回)

Perl
32ビット 14秒
64ビット 12秒

Ruby
32ビット 25秒
64ビット 25秒


2.1GBのテキストファイル(置換回数12,839,701回)

Perl
32ビット 39秒
64ビット 26秒

Ruby
32ビット 52秒
64ビット 32秒


ということで、速度差は確実にありますが、ほんの10〜20秒ですね ファイルのサイズが大きくなるほど64ビットカーネルを使用した時の方が有利になるというのは書き出しの時に64ビットカーネルの方が速いのでしょうねえ。まあ当然の結果というところでしょうか。

Snow Leopardの十進法のディスク容量の表示ですが、その3

ファインダーで見ると1MBがかなりの幅をカバーしているように見えるのは四捨五入のせいなんですね。色々実験して利口になりましたが、頭のキレる人は実験しなくてもすぐにわかっていたものと思われます まぬけはまぬけなりの人生を歩むしかないですなあ...

2009年9月 5日 (土)

久々にDOSでファイル名を

いじるハメになったんですが、全然覚えてなくて苦戦しました 今後の為に自分の為の覚え書きとして書いておきます。

拡張子が二重に.wav.mp3になったファイルをただの.mp3に変換するという単純なものだったんですけど、UNIXなら簡単ですけどDOSでやったことなんてなかったのでいきなり頼まれて難渋しました。覚えていたのがファイル名変更にrenコマンドを使うことぐらい。で、やってみましたが、失敗例と成功例をば。

失敗例1)

ren *.wav.mp3 *.mp3

失敗例2)

ren *.*.mp3 *.mp3

成功例)

二度にわけてやったらうまくいきました。最初に

ren *.mp3 *.

とやります。後の*の後に.だけを書くのがミソです。これで最初の.mp3を消して.wavだけにすることができます。で、この後

ren *.wav *.mp3

とやってできあがり。もうDOSでこんなことをすることはないだろうなんて思っていましたけど、まだまだ使う機会があるもんですねえ。

2009年9月 3日 (木)

iStat Menus 2.0

が出ていました。β版はSnow Leopardですでに動いていたんですが、正式版になりました。

Snow Leopardの十進法のディスク容量の表示ですが、その2

先日リンクしたこのことに関するAppleの文書が消えています。何でだろう...

これってけっこう笑えますね

元麻布春男氏の週刊PCホットラインの記事「Windows 7に見るMicrosoft事業部間の“壁”」のことです。かなり前に一番優れたWindowsプログラムを作っているのはAppleだというようなことをどこかで読みましたが、元麻布氏の記事を読むと本当にそうかもしれないという気がしてきますねえ。

2009年9月 2日 (水)

9.5mm厚で640GBの2.5インチが

やっとでましたねえ。東芝さん、安くしてね。

Snow Leopardの十進法のディスク容量の表示ですが、

やはりなんかすっきりしないですねえ。現状ではメモリとディスクの容量の表示方法が違うのに同じ単位を使っているから紛らわしいです。昨日の日付でこちらが更新されていました。

フォーマット済みの500GBのWDのディスクはLeopardでは465GBと(ぐらいだったと思う)表示されていましたが、これがSnow Leopardでは499.76GB。これだけで約35ギガバイト儲けている。ただOSが小さくなったのは本当だし、その為にすごい努力をしたのは細かいところを見るとよくわかりますけどね。

追記 結局はメモリの場合はメモリメーカーの表示とOS側の表示が一致するので変更する必要はないが、ストレージドライブの場合はメーカー側の表示とOS側の表示が違うので、メーカー側の表示にOS側で合わせたということでしょう。でもやはりすっきりしないな。同じGBを使うのを止めてメモリの表示をGiBとかに変えてほしいですね。そうすれば違う計算方法だと言うことが一目瞭然なのに(まあ慣れればの話ですが)。

2009年9月 1日 (火)

コマンドラインでテキストからPDF作成 その2

これも前の記事がかなり古いんで更新です。

前は/System/Library/Printers/Libraries/./にあるconvertコマンドということを書いたんですが、これも実態は/usr/sbin/にあるcupsfilterというコマンドでした。このコマンドを適当な名称で/usr/local/binあたりにリンクしておくと、コマンドラインでPDFを大量生産する時に役に立ちます。リンクしなくても下記の要領で実行できますが。

/usr/sbin/cupsfilter /Users/misabazooka/Desktop/bijo.txt > Desktop/bijo.pdf


なんか疲れきっている時に書くととんでもないミスが多いですなあ。リンクなんか当然要りません。convertコマンドとcupsfilterがごっちゃになってしまったようです。例文だけ書き直しておきます。

cupsfilter Desktop/bijo.txt > Desktop/bijo.pdf

« 2009年8月 | トップページ | 2009年10月 »

2019年9月
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          

最近のトラックバック