«前の日記(2007年01月23日) 最新 次の日記(2007年01月25日)» 編集

Matzにっき


2007年01月24日 [長年日記]

_ ALSA、音出ない

今日まで気がつかなかったのだが、 いつの間にかLinux PCから音が出なくなっている。

別にリブートもしてないから、なにかの設定がおかしいのだろうか。

まず、問題を切り分けなくてはいけない。

最近updateされたのはesoundだが、esoundなしに直接ALSAを叩いても音が出ないので、 問題はALSAモジュールのほうにあるのだろう。

典型的なトラブルはミュートがかかっていることに気がつかなかったり、 /dev/dspなどのパーミッションが間違ってたりすることだが(過去に何度も引っかかっている)、alsamixerでちゃんと設定しても音は出ない。パーミッションにも問題はなさそうだ。

問題が発生したのはDebian sidのlinux-image-2.6.18-3-686だったので、 古いカーネル2.6.17-2-686でも起動してみたが、 やっぱり鳴らない。ということは、カーネルモジュールのせいではなく、 どこかの設定のせいなのか。

しかし、ALSAの設定できるところってほとんどないんだよなあ。 で、いまだに原因が分からず音が鳴らないままなのであった。 ビープは鳴るんだけど。

どうしたもんだか。

追記

という日記エントリを書いた1月27日早朝、改めて試してみたら鳴るようになっていた。 特に設定を変更していないのに...気持ち悪い。

追記(2)

だいぶ状況が分かってきた

  • esdが起動していない状態でfirefoxが動くと(たぶんflashが)/dev/dspを掴む
  • でもlsofやfuserでは表示されない
  • その状態でesd経由では音が出ない
  • かつ、alsa直叩きでも音が出なくなる(これが謎のまま)

ということらしい。さらに

  • 最近updateしたflashplugin-nonfree 9.0.31.0.1はesddsp経由では音が出ない

ということのようだ。すべての現象の説明がつかないのが気持ち悪いが、 とりあえず基本的な状況は理解できた。 まあ、sidを使ってる宿命みたいなものか。

とりあえずflashをdowngradeする。

追記(3)

FirefoxからIceweaselにアップグレードしたらまた音が出なくなった(2007-02-01)。

きっかけはプラグインの検索順序が変わって、 またflashplugin-nonfree 9.0.31.0.1が使われるようになったこと。 しかし、これで一度音が出なくなると

  • esd経由だろうが
  • esddsp経由だろうが
  • alsa経由だろうが
  • プロセスを全部終了させようが
  • リブートさせようが

なにをしても音が出ない(ビープは鳴る)。

だいぶ困ったあげく

  • /var/lib/alsa/asound.stateを削除
  • alsaconfの再実行

で音が出るようになった。いや、他にもいろいろやったから もしかしたら別の理由があるのかもしれないけど。

_ [言語] Lisp:S式の理由

LispとLispユーザがなぜS式を選択するか。 ハッカーのはしくれとして理解できないこともないが、 なんというか、見事に「普通の人」と立ち位置がずれている。 すがすがしいくらいだ。

ま、そういう態度もアリだろう。

でも、やっぱり一般受けはしないだろうなあ。 見かけはRuby(というか「普通の言語」)で、 セマンティックスはS式という「妥協」はできないものか。

できないんだろうなあ。

追記

えんどうやすゆきさんからトラックバックをいただいた

なぜ文法がRubyでなければいけないのか理解できないのですが。

というかそもそも「普通の人」って何さ。「Rubyは普通の人に優しい」と主張したいのだろうか?

いやもしかしてあの「普通のやつら」の「普通」なのか?

コメントをつけようと思ったが、反映されないみたいなので(スパムと見なされた?)、 ここにも書いておこう。

「普通の人」とは「プログラミングをする人のうち、かなりの割合」という程度の意味です。かなり多くの人々が「S式を受け入れがたい」と感じるのは観測された事実です。また、これらの人々はLisp(の外見?)よりもRuby(の外見?)の方が受け入れやすいと感じるようです。理由はまだ分かっていません。

私はS式を読み書きするのに抵抗はほとんどないので(それでもLisp Wayばりばりなプログラムは(おそらく別の理由で)読みにくいのですが)、この「普通の人」に私は含んでいません。

あのエントリの主張は、その前提を踏まえて「S式が『普通の人』にとって受け入れがたいなら、Rubyのような大衆ウケする文法を外部表現として使うのが良さそうだが、(その試みは成功したことがないので、なんらかの理由で)できないんだろうなあ」というようなものです。

けっして「文法がRubyでなければいけない」とは主張していないので、その理由を読み取ろうとしてもできないのは当然だと思います。

で、あの文章が「Rubyでなければいけない」と読まれてしまうようでは、私はまだまだ精進が足りませんね。

Lisp使いの人は、自分たちが愛する言語が

  • 人気がない
  • 知られていない
  • 誤解されている

ことを認識することからはじめた方が良いと思う。余計なお世話だけど。 「普通の人」は本当にLispを知らない。

_ [Ruby] Asoby: Aspect-Oriented Programming in Ruby - New Playground for Rubyists 2.0

Ruby本体をハックしてアスペクト指向を実現した、という話。

こういう話は大好きだ。 実際問題として本体に取り込むかどうかは別として。

私自身はアスペクト指向についてなんともいえないモヤモヤしたものを感じている。 どうも、言語そのものが扱うべき領域を逸脱しているような。 実は(アスペクト指向の大家である)千葉滋先生には個人的に「それってどういう意味よ」とツッコまれているのだが、 しばらく考えてみるに、いまだに言語化できない。現時点ではただの直感である。


«前の日記(2007年01月23日) 最新 次の日記(2007年01月25日)» 編集