2007年02月19日

CDの整理方法

友人のKeiさんへトラックバック。大量にたまったCDを上手く整理して探しやすくする方法は?というお題なのだけど。残念ながら、物理メディアで管理している限りは「迷子ディスク」をなくすのは無理だと思いますです。大量の情報の中から必要なものをピックアップするのは計算機の仕事かと。わざわざTBしておいて、こんな答えで申し訳ない^^;

このCD増殖の問題は僕も頭の痛いところなのだけど、最近は割り切って片っ端からiTunesに放り込んでます。CDで買ってきたら真っ先にiTunesにコピー、そこからさらにiPodに移してくって感じです。iPodはドック経由でオーディオアンプに繋ぎっぱなしにしてあるので、PCの電源が入ってない時でも音楽はiPodで鳴らせるというわけ。すでに持ってるCDについても、聴きたくなった時に探し出してきてiTunesに入れておく方針で。

あと、スペース確保のために、CDのケースを捨ててます。中のブックレットと円盤はソフトケースに入れて保管。これだと同じキャパシティの棚に3倍近く入る計算なので、かなり収納スペースに余裕が出る。もっとも、密度が高くなった分、重量も増すという罠が仕掛けてあったりするのだが(笑)

と言うか、これだけ割り切ってしまうと「物理メディア要る?」という疑問にぶつかるわけですよ。データだけ持ってりゃ良いじゃん、と。そんなわけで徐々にCD買わなくなってて、iTunesStoreで手に入るアルバムだったら、そっちで買おうか(安いし)ということが多くなってたりします。

posted by cesare at 22:19 | その他

2007年02月18日

4hero "Play With the Changes"

前作の「Creating Patterns」路線を引き継ぐような、色彩豊かでオーガニックな音作りが印象的。生音とプログラミングの音を絶妙なバランスで調和させてるのだと思う。機械っぽいという感じはあまりしない。ボーカルが引き立つように意識してアレンジしてあるのか、「うた」を聴かせる曲が多いようにも思う。

特に印象に残るのが、もはや4heroのアルバムには欠かせない存在になってしまった感のあるUrsula Ruckerの詩吟が炸裂する「The Awakening」。この人が出てくるだけで音世界が一変してしまうほどの存在感はさすが。前後の曲と、明らかに空気が違う。

ところで、今作はなぜかジャケットのアートワークが白と黒だけの単調なデザインになっているのが、個人的には惜しいように思う。中の音楽が色とりどりに鮮やかなのとは対照的。その落差を狙っているのだろうか?

posted by cesare at 01:59 | 音楽

2007年02月12日

グラミー賞雑感

グラミーの受賞者が確定したところで、雑感などを。

残念だったのがCorinne Bailey Rae。新人賞取ってほしかったな。やや地味な印象ではあるけど温かくて良い音を作ってると思うし、これからも頑張ってほしいところ。

Red Hot Chili Peppersが何気に4部門受賞。そう言えば、まだアルバム買ってなかった。今からでも聴いてみようかな。それにしても、「Best Boxed Or Special Limited Edition Package」なんて部門があるんですね。パッケージのデザインとかが評価されるのかな?

あと、Michael Breckerが2部門で受賞していた。追悼の意味もあるのかな。ご冥福をお祈りします。

ところで、Police再結成はどうだったのだろ? どこかに映像置いてないかな?

posted by cesare at 23:09 | 音楽

2007年02月07日

RubyGems>=0.9.1でエラーが起きる件について

RubyGemsを0.9.1にして以来、gem updateとかgem installとかしようとすると
ERROR:  While executing gem ... (NoMethodError)
    undefined method `source_index' for #<Hash:0x409db418>
こんなエラーが出るようになってしまった件の解決方法がRailsのblogに出てます。早い話がsource_cacheというファイルが悪さをしているので、これを消せばOKとのこと。
source_cacheの場所は、gem envで調べられます。
# gem env
RubyGems Environment:
  - VERSION: 0.9.2 (0.9.2)
  - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.8
  - GEM PATH:
     - /usr/local/lib/ruby/gems/1.8
  - REMOTE SOURCES:
     - http://gems.rubyforge.org
出力のGEM PATHのディレクトリへ移動して
rm source_cache
とでもしておけばOK。
posted by cesare at 11:47 | 技術関連

2007年02月05日

わくラボ再始動

趣味と実益を兼ねて(?)参加しているわくわくオープンラボが、再始動しましょ、ってことで招集がかかっております。去年の夏頃からミーティングしたり、伊東まで海の幸に舌鼓を打ちに・・・じゃなくて(笑)合宿に行ってみたりと活動してました。とは言え、なにぶんメンバーそれぞれが本業を持ちながらの参加なので、本業に忙殺されていると活動できなくなるという罠が。

そんなわけで、2/7に集会が予定されているわけですが。う〜ん、参加できるかどうか微妙。。間の悪いことに、翌2/8が締切の仕事を抱えてまして^^; 無事に片付いたら当日ドタ参ということになりそうな雰囲気です。

と、業務連絡だけというのも何なので、ついでに宣伝を。わくラボでは随時メンバー募集中です。特に資格とかが必要なわけでもないし、会社とかの組織でもないので「入社」だとか加入手続きみたいな儀式も一切なし。何か面白いWebサービスを作りたい人が有志で集まってるだけの、ゆる〜い繋がりです。集まってるのはやはりIT系でお勤めの人が多いですが、ベンチャーを起こしてる人とかもいるので、そういった人達と知り合ったりできるのも魅力かと。

て言うか、僕的には技術者さんを絶賛募集中。今現在で、開発やりますってコミットしてる人が数名しかいないんですよ、これが^^; 例えば、腕に覚えがあるのに本業の方で発揮できなくて不完全燃焼気味、なんて方がいたら、ぜひ。

活動内容とかの詳しい話は、以下のサイトも参照してくださいませ。

posted by cesare at 02:33 | その他

C拡張を持つRubyGemsを作る

Cライブラリ拡張を持つRubyGemで且つ、そのCライブラリ拡張をトップレベルじゃなくて特定の名前空間module配下にインストールされるように作る方法。早い話が、例えば
  • Foo::Barクラスを作る。但し、Barクラスの実装はCで書く。
  • Foo::Barを直接読み込む場合はrequire 'foo/bar'となるように。
という条件です。
まずはソースツリーを作るところから。手で作るのは面倒なので、newgemを使うのが便利。
newgem foo
とすると、fooディレクトリ配下に雛形となるファイルを自動生成してくれるので、これをベースにします。このあたりはsecondlifeさん@はてなのエントリーにも詳しいので、良かったらそちらも併せてどうぞ。以下、newgemでツリーを作ったのを前提の話になります。
次に、Cライブラリ拡張のソースを置く場所を作る。extディレクトリに入れるのが慣例らしいので、それに合わせます。名前空間fooを使いたいので、もう一段ディレクトリを掘る。Cのソースファイルbar.cはその下に。ext以下のツリーはこんな感じに。
  • ext
  • ext/foo
  • ext/foo/bar.c
Cソースの書き方については、長くなりそうなので割愛。
bar.cと同じ階層にextconf.rbを作る。
  • ext
  • ext/foo
  • ext/foo/bar.c
  • ext/foo/extconf.rb
拡張子を見ての通り、中身は普通のRubyスクリプトで、中身はこんな感じ。
require 'mkmf'
  (中略)
create_makefile 'foo/bar'
extconf.rbbar.cが同じディレクトリに置かれているにもかかわらず、敢えてcreate_makefileの引数に'foo/bar'と指定するところがポイント。ここをcreate_makefile('bar')だと、最終的なインストール先がlib/bar.soになってしまうので。
トップディレクトリに戻って、Rakefileを書き替える。newgemを使った場合は既にあるRakefileの一番下、
# Generate all the Rake tasks
# Run 'rake -T' to see list of generated tasks (from gem root directory)
hoe = Hoe.new(GEM_NAME, VERS) do |p|
  p.author = AUTHOR
  (中略)
end
とあるブロックの中に
  p.spec_extras = {
    :extensions => ['ext/foo/extconf.rb'],
  }
と書いておけばOK。
最後に、Manifest.txtを書き替える。このファイルはパッケージに含まれるべきファイルを列挙してあるだけなので、ext配下のファイルを追加してやれば良い。
ext/foo/extconf.rb
ext/foo/bar.c
ちなみに、Makefileはgem installするときに自動生成されるので、Gemパッケージには含めないようにご注意を。
rake package(またはrake repackage)でGemを作る。お疲れさまでした。
ちなみに、RubyGems-0.9.1から、require_gemと書くと警告が出るようになってます。代わりにgemメソッドを使えとのこと。
require 'rubygems'
gem 'activerecord'
例えばこんな感じに書いておけばOK。
続きを読む
posted by cesare at 00:06 | 技術関連

2007年02月04日

ひと味違うバグつぶし

Ruby作者のまつもとゆきひろさんの日記で紹介されていた、異色のデバッグ方法。

用意するものは「Programming Ruby」という本だけ。この本、基礎的な文法からちょっとしたレシピを押さえつつ、標準ライブラリの解説も含むという800ページを超える力作で、Ruby使いには必携。日本語訳は一冊に収まらず上下巻に分けて出版されていたりします。このボリュームから想像がつくように、下手な辞書より重量があるわけで。

で、どうやってバグつぶしをするかというと、実際に見ていただくのが早いかと。こんな感じで。

以上、お馬鹿ネタでお送りしました。いや、「Programming Perl」じゃダメなのか、とかKnuthの「The Art of Computer Programming」の方がハードカバーな分、威力倍増だとかいう突っ込みは却下の方向でよろしくお願いします。

まぁ、そんな冗談はともかくとして、コンピューター関連の本って高くて大きくて重い。値段が高いのは自己投資と割り切っているので良いとして(金銭感覚が麻痺しているという説もあるけど)、嵩張るのがちょっと困りもの。今住んでる部屋には本棚を置くスペースは残ってなくて、後先考えずに買ってきた本が平積み状態になってたりします。そろそろどうにかしないと。何かいい整理方法ないですかね?

posted by cesare at 20:45 | 技術関連

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。