二重connect
Kamaitachi入門(その4) - ダウンロードたけし(寅年)の日記
なのでconnectについてはKamaitachi側ではon_connectとon_invoke_connectの2つをdispatchしていることになりますね。なんで2重に待ち構えるような構成にしてるんだろ?なにか意味があるような気がしますが、よくわかりません。
on_connect
はTCP接続確立時のハンドラ、on_invoke_connect
は他の関数呼び出しと同様 Flash Player から connect 関数がよばれたときに呼ばれるハンドラです。
RTMP は正直なんでこうなんだろーっていう理解不能な仕様が結構ありますのでサーバー実装だけみてると結構混乱すると思います。
クライアント側も参照すると多少マシになります。
いまは Flex SDK を使用すればフリーで as3 な swf をつくることができますので、RTMP 実装で学ぶ as3 入門というのはどうでしょうか。
あ、wonderfl もオススメですよ。
CarbonEmacs + CodingFontTobi
フォント設定もさらしておく。
`~/.emacs.d/conf/carbon-emacs-05font.el
;; i <3 bitmap font
(setq mac-allow-anti-aliasing nil)
(create-fontset-from-fontset-spec
(concat
"-*-fixed-medium-r-normal--10-*-*-*-*-*-fontset-tobi"
",ascii:-apple-codingfonttobi-medium-r-normal--16-120-72-72-m-120-*-*"
",japanese-jisx0208:-apple-osaka-*"
",katakana-jisx0201:-apple-osaka-*"))
(create-fontset-from-fontset-spec
(concat
"-*-fixed-medium-r-normal--10-*-*-*-*-*-fontset-proggy"
",ascii:-apple-proggycleanttsz-medium-r-normal--16-120-72-72-m-120-*-*"
",japanese-jisx0208:-apple-osaka-*"
",katakana-jisx0201:-apple-osaka-*"))
(set-default-font "fontset-tobi")
CodingFontTobi と Proggy のフォントセットを定義して気分で使い分けてる。
デフォルトの Monaco+ヒラギノ も捨てがたく、たまに使いたくなったりするのでアンチエイリアスは
;; アンチエイリアストグル
(defun my-mac-toggle-antialias ()
(interactive)
(if mac-allow-anti-aliasing
(setq mac-allow-anti-aliasing nil)
(setq mac-allow-anti-aliasing t)))
こんなんでトグルできるようにしてる。この関数よびだしたあと画面が更新されると反映される。
こういう環境依存のコードは今までは自前で環境見てロードしていたのだけど、id:IMAKADO さんが公開してくれた init-loader 使うと carbon-emacs-*
とか言うファイルは CarbonEmacs の時だけ読む、とかできて便利。
CarbonEmacsを使ってみる
先週 id:IMAKADO さんにあって、emacs
使いこなしててかっこよかったので影響されて僕も GUI な emacs が使いたくなったのでこの間書いた Cocoa Emacs を使い出そうとしたんだけど、なんかどうがんばってもバッファを縦分割したときのボーダーを表示させることが出来ないという理由であきらめた。(フリンジは消したかった)
なので CarbonEmacs を入れた。こっちはなんかボーダー出た。
Cocoa Emacs なら multitty で端末内でファイル開いちゃえばいいんだけど、CarbonEmacs にはそれがないので普通に emacsclient で開き、閉じたら端末にフォーカスが戻るという設定を書いた。
具体的には emacsclient で開いたときは勝手に CarbonEmacs がアクティブになるので、CarbonEmacs 側で閉じたときに端末に戻るように、
;; emacsclientで開いた端末をアクティブにする。とりあえずiTerm決めうち
(add-hook 'server-done-hook
(lambda ()
(do-applescript "tell application \"iTerm\"
activate
end")))
とするだけでOKだった。