頑張れ、おパンツ仮面!

in Uncategorized
応援しているぞ!www (このエントリーは謎の公開励ましの言葉です^^)

2 Responses to “頑張れ、おパンツ仮面!”

  1. おパンツ仮面

    自分の名前が乗っててびっくりしましたwww
    ほんとladiocastなかったらラジオできなかった。nicecast買おうかact2に電話までしてたその日にladiocastのことを知ったんです。
    お世話になります。

  2. かわうそ

    わっもう見つかってた^^;。
    LadioCast、使用説明ドキュメントがちゃんと無くてもうしわけない。
    昨日のVSD放送、BGMやスカイプ音声はOKな感じでした。マイクについて、おそらく2重の経路でLadioCastに入っていたと思います。どちらかの経路を閉じればよりクリアになります(残した方のボリュームはUP)。
    少し高度な設定になりますが、veadarさんのブログ「Macの手書き説明書」にあるLadioCast「Skype相手にも音楽やSEが聞こえるようにするセッティング」がVSD的^^?設定例です。また余裕があれば試してみて下さい。


バージョン0.6.2リリース – LadioCast開発記その27

in LadioCast

LadioCastバージョン0.6.2をリリースします。

0.6.1から0.6.2への変更点は以下のとおりです。

  • ネットワークの通信異常に対する回復処理を追加し、関連するメッセージ表示を変更
リリースの間隔が短いですが正常系の動作は前リリースと同じです。ネットワークがらみの異常系の処理を見直しました。
これでLadioCastの落ちを回避しつつ接続の持ちも良くなればと思います。

【追記 2007-11-27】
同バージョンの外部ライブラリを、CPU subtypeの修正をしてビルドしたもので差し替えました。

【追記 2007-12-09】
2007-11-27に差し替えた外部ライブラリを、Intel版のリンクミスを修正してビルドしたもので再度差し替えました。

4 Responses to “バージョン0.6.2リリース – LadioCast開発記その27”

  1. ミーム

    先日の放送で通信回復処理がG4PPCでも走ったのでご報告します。
    ラジオ配信中にヘッドライン取得ツールから自分のタイトルが消え、再取得後同じタイトルでリスナー数・開始時間共に0の新番組として表示されました。
    LadioCast 0.6.2 の方は、経過時間・転送量も接続開始から継続したままで動作に異常はありません。
    配信終了後に録音フォルダを見ると、開始時間の違う2つの録音ファイルができてました。
    CPU過負荷落ちを回避できる様になってきたので、この通信回復処理は非常にありがたいです。

  2. かわうそ

    ミームさんこんにちは!
    動作報告ありがとうございます。回復処理走ったと思います。(なおコンソールログに通信エラーメッセージが出てたらその時ですね。)
    処理はCPU過負荷とあとスカイプ影響などでMacの通信がgdgdになったときに走りやすいと思います。
    LadioCastコンテンツの方も期待していますよ〜^^。

  3. かわうそさん
    こんばんわ。
    期待に胸を膨らませて早速利用させていただきたかったのですが、
    初代MacBook CoreDuo 1.83GHzではLadioCast 0.6.2が起動しませんでした。
    大変恐縮ですが、以下当該時間帯のコンソールログを転載いたします。

    07/12/08 19:52:43 [0x0-0x87087].com.kawauso.LadioCast[985] dyld: Library not loaded: /opt/local/lib/libtheora.0.dylib
    07/12/08 19:52:43 [0x0-0x87087].com.kawauso.LadioCast[985] Referenced from: /Applications/LadioCast.app/Contents/MacOS/../Frameworks/libshout.3.dylib
    07/12/08 19:52:43 [0x0-0x87087].com.kawauso.LadioCast[985] Reason: image not found

  4. かわうそ

    gamさんこんにちは!
    ごめんなさい2007-11-27のライブラリ差し替えで、あるライブラリファイルのIntelバイナリの方にリンクミスがありました。
    再々度差し替えましたので、試してみて下さい。


金貨問題の2問目をRubyで解く

in Uncategorized

エントリービルゲイツの面接試験ネタに便乗に便乗の金貨問題で出した問題の2問目は、エントリー金貨問題の解答編で可能であることだけ書いて力技での検証をしませんでした。問題を要約すると

正規品10グラムの金貨が24枚入った6袋中、何袋あるかわからない全て偽造品11グラムの金貨の袋を、1回だけの計量で選別する方法があるか
です。

ちょうど今ものにしようとしているプログラミング言語Rubyの題材として適当そうですので、プログラムを作って本当にそんなことが可能かどうか検証してみます。 (なお組み合わせを生成する部分は書籍Rubyプログラミング入門の「第8章 Rubyスクリプト実例集」のコードを参照しました。yieldの再帰が巧みですね。)

まず以下の2つの関数を作ります。 [code language="ruby"] # 各n枚の金貨が入ったm袋からの金貨の取り出しかた全てについて、与えられたブロックを実行する def combi(n, m) if m == 0 yield([]) else combi(n, m - 1) do |x| s = (x.length == 0 ? 1 : x[0] + 1) (s..n).each do |i| yield([i] + x) end end end end # 与えられた金貨の取り出しかたについて、正規品および偽造品の組み合わせ全てで # 重量が区別できるかどうか調べる def weight(coins) if coins.length == 0 return [0] end weight_list = weight(coins[1..-1]) if !weight_list return nil end new_list = [] weight_list.each do |x| # 正規金貨の場合 w = coins[0] * 10 + x if new_list.index(w) # 重量が重複するので不可 return nil end new_list.push(w) # 偽造金貨の場合 w = coins[0] * 11 + x if new_list.index(w) # 重量が重複するので不可 return nil end new_list.push(w) end return new_list end [/code] この2つの関数を以下のように使って、24枚入り6袋の場合で実行して結果を表示させてみましょう。 [code language="ruby"] combi(24, 6) do |x| if weight(x) p x end end [/code] [24, 23, 22, 20, 17, 11]
結果はこの組み合わせ1つ。24枚入り6袋でも24, 23, 22, 20, 17, 11枚と取り出せば偽造金貨の袋を1回の計量で選別できるということです(プログラムが正しければ^^)。

う〜ん興味深いですね〜。


北京 – 第二天

in Uncategorized
本日の北京は終日曇天で、過ごしやすい気温でした。 立つ日の朝に荷造りしたので、いろいろなものを日本に忘れてきてしまいました。 本日、天安門や故宮のパノラマ写真ややばい写真を撮りまくったのですが、カードリーダーを持ってこなかったのでブログにアップできません。いや本当に忘れたんです! そのかわりというわけではありませんが、日本から風邪を持ち込みました。それでずっと喉がいがらっぽいです。いや本当に日本の風邪なんです! 不運もあれば運もあります。中国の地下鉄が(ごく最近?)ICカードでの改札(日本でいうSUICAやPASMO)を導入したようです。切符の自動販売機すらないのに大胆ですね^^。しかしそのおかげで中国語を使うことなく地下鉄に乗れます。これは旅行者には助かります。個人的に交通 ICカードのコレクションも増えるし。 いやしかしとにかく街に人が多い。人大杉。

バージョン0.2.0リリース – MacLadioCast開発記その5

in LadioCast
mlc-ss-20070413.png MacLadioCast バージョン 0.2.0 をリリースします。 0.1.2 から 0.2.0 への変更点は以下のとおりです。
  • エンコーディングフォーマットにOgg Vorbisを追加
  • エンコーディングサンプルレートを選択可能に変更(Auto,44100,22050,11025)
  • 内部lame mp3エンコーディング失敗時でも放送を継続できるよう修正(エラーログ出力)
  • クローズされたメインウィンドウを Dock のアイコンをクリックすることで表示
  • ポート番号、ビットレートに改めて入力文字バリデーションを追加
  • アプリケーション終了時に最終変更フィールドが反映されない場合があるのを修正
0.1 をお使いの方は起動後のエンコーディング設定値にご注意ください。 ということで。

3 Responses to “バージョン0.2.0リリース – MacLadioCast開発記その5”

  1. Scatman

    Scatmanです。
    早速ですが報告致します。
    MacLadioCast Ver 0.2.0でクラッシュしてしまいました。
    0.2.0を立ち上げた後に、今まで何事もなかったVer 0.1.3を立ち上げると
    Ver 0.1.3もクラッシュしてしまいます。
    コンソールでの表示は以下の通りです。
    2007-04-14 12:25:30.164 MacLadioCast[2850] *** Uncaught exception: EXCEPTION[/Users/kawauso/Desktop/MacLadioCast/LCMixer.m 159] AUGraphUpdate() = -10863
    Apr 14 12:25:31 starbug crashdump[2854]: MacLadioCast crashed
    アクセス権の修復や、初期設定ファイルを捨てて、再起動するもやはり
    クラッシュします。
    当方の構成はiBook G4 1.33GHz 12″ Memory 1GB OSは10.4.9(PPC)です。
    よろしくお願い致します。

  2. Scatman

    Scatmanです。
    過去のバージョンを間違えてました。Ver 0.1.3ではなくVer 0.1.2でした。
    すみません。

  3. かわうそ

    いつもレポートありがとうございます!
    AUGraphUpdate()ですか、これはちょっと難しい、何だろう。
    もしOS再起動されて、再現条件等ありましたらまたお教え下さい。