Just another Ruby porter,

〜2009年8月中旬〜


<Prev(,) | Next(.)> | Recent(/)>> | RDF

2009-08-11 (Tue)

[Tips] tail -c 80

mencoderの表示をログに残して別の端末からtailで見ようとしても、
LFじゃなくてCRで延々表示してるのでなかなか最後が出てこない。
そこで-cオプションが役に立つ。tail -c 80ぐらいで。
最近はmencoderをbatchで動かしてるのでこんな工夫が必要になったり。


2009-08-12 (Wed)

[ニコ動] 『麻生内閣総理大臣と鳩山民主党代表による党首討論』再放送

ノーカット版。来場者数は4万を越えていた。
全然討論になってないんだけど面白かった。
ぽぽ山の意味不明さは相変らずではあるが、
ノーカットを拒否するテレビ局のほうも終わってるな。


2009-08-13 (Thu)

[Emacs] Emacs 23

F11での昨日の更新でEmacs 23になっちゃって日記書きづらいよ。
どうしたもんかな。まずはSKKをなんとかしないと。


2009-08-14 (Fri)

[TV] BOSS, 救命病棟24時

夏休みなのでのんびりと録っといたBOSSと救命(地震のやつ)の再放送をまとめて観た。
やっぱ救命は2が一番面白いな。


2009-08-15 (Sat)

[Emacs] Emacs 23の設定がよくわからない

なぜかデフォルトがイタリックになってしまいうっとうしい。

結局skkは特に問題なくて日記モードがうまいこと動かせなくなったというか、
中途半端というか。どうしたもんかいな。

もはやEmacsは日記でしか使ってないので、vimにしちゃうかな。


2009-08-16 (Sun)

[Emacs] Emacs 23の設定

よくわからないので、~/.emacs*を全部移動して真っ新な状態で立ち上げてみたら、
メニューが出てきて驚いた。メニューバーとかツールバーは使わないので、ずーっと (menu-bar-mode nil) (tool-bar-mode nil) としていたからなあ。なかなか新鮮ではある。
OptionsのSet Default Font...で適当にVLゴシックを選んでSave Optionsしたら雛型ができた。
これを元に以前の~/.emacsと統合したら、まあだいたい満足できる感じになった。
フォントはTrueTypeじゃなくてビットマップで十分なんだけどなあ。
これも慣れると逆にビットマップじゃいやだとか思うんだろうか。

UTF-8も問題ないな。これもEmacs 23からだったっけ?
って内部コードがUTF-8になったんか。問題ないわけだよ。

それはそれとして日記も以前と同じように書けるようになった。


2009-08-17 (Mon)

[Tips] Stream YouTube URL directly to mplayer

なんかどっちもうまくいかないので調べてみる。
watch_fullscreenなる文字列はすでにないのでオリジナルが動かないのはこれが原因だな。

で08-13のほうは出たり出なかったりとなんだかよくわからない。
と思ったらハッシュの部分が不定なので順番が変わってしまうのが原因のようだ。

s/.*", "video_id"

のように"video_id"の前の"まで含めてしまっているため

"vq": null, "video_id": 

nullが来たときにマッチしなくなってしまう。これは"t"のほうにも言える。
sedの部分は"を除いた形にしたほうが柔軟だな。

sed -n 's/.*, "video_id": "\([^"]*\)", ".*, "t": "\([^"]*\)", ".*/video_id=\1\&t=\2/p'

ここで作られるURLの最後にfmt=18だの35だの22だのを指定して、
その画質の動画が存在すれば高画質の動画が見られる。
存在の有無はなんかぐりもんがあった気がするので後で調べよう。


2009-08-18 (Tue)

[MinGW] Fedora11でmingw32のクロス環境

F11からyumでmingw32のクロス環境が使えるので試した。
yum install mingw32-{gcc,w32api}でrubyをmakeできる最低限の環境ができる。
依存関係でその他mingw32-{binutils,cpp,filesystem,runtime}, python-magic, rpmlint
がインストールされる。後ろの2つは関係ないようだが、
mingw32-filesystemがrpmlintを必要とし、rpmlintがpyhon-magicを必要とする。
あと、ライブラリ関係も充実してるのでクロスの環境としては最適なのかもしれない。

mingw32-SDL.noarch                    1.2.13-6.fc11               fedora        
mingw32-atk.noarch                    1.25.2-8.fc11               fedora        
mingw32-atk-static.noarch             1.25.2-8.fc11               fedora        
mingw32-binutils.i586                 2.19.1-4.fc11               fedora        
mingw32-boost.noarch                  1.37.0-4.fc11               updates       
mingw32-boost-static.noarch           1.37.0-4.fc11               updates       
mingw32-bzip2.noarch                  1.0.5-7.fc11                fedora        
mingw32-cairo.noarch                  1.8.6-1.fc11                fedora        
mingw32-cairomm.noarch                1.8.0-1.fc11                fedora        
mingw32-cpp.i586                      4.4.0-0.7.fc11              fedora        
mingw32-crossreport.noarch            6-2.fc11                    fedora        
mingw32-dlfcn.noarch                  0-0.5.r11.fc11              fedora        
mingw32-enchant.noarch                1.5.0-2.fc11                updates       
mingw32-enchant-static.noarch         1.5.0-2.fc11                updates       
mingw32-expat.noarch                  2.0.1-4.fc11                fedora        
mingw32-filesystem.noarch             50-3.fc11.1                 updates       
mingw32-fontconfig.noarch             2.6.0-9.fc11                fedora        
mingw32-freetype.noarch               2.3.8-3.fc11                fedora        
mingw32-gcc.i586                      4.4.0-0.7.fc11              fedora        
mingw32-gcc-c++.i586                  4.4.0-0.7.fc11              fedora        
mingw32-gcc-gfortran.i586             4.4.0-0.7.fc11              fedora        
mingw32-gcc-objc.i586                 4.4.0-0.7.fc11              fedora        
mingw32-gcc-objc++.i586               4.4.0-0.7.fc11              fedora        
mingw32-gdbm.noarch                   1.8.0-4.fc11                fedora        
mingw32-gettext.noarch                0.17-10.fc11                fedora        
mingw32-glib2.noarch                  2.20.1-1.fc11               updates       
mingw32-glib2-static.noarch           2.20.1-1.fc11               updates       
mingw32-glibmm24.noarch               2.20.0-3.fc11               updates       
mingw32-gnutls.noarch                 2.6.4-1.fc11                fedora        
mingw32-gtk-vnc.noarch                0.3.8-5.fc11                fedora        
mingw32-gtk2.noarch                   2.16.1-2.fc11               updates       
mingw32-gtk2-static.noarch            2.16.1-2.fc11               updates       
mingw32-gtkmm24.noarch                2.16.0-1.fc11               updates       
mingw32-hunspell.noarch               1.2.8-6.fc11                updates       
mingw32-hunspell-static.noarch        1.2.8-6.fc11                updates       
mingw32-iconv.noarch                  1.12-9.fc11                 fedora        
mingw32-jasper.noarch                 1.900.1-8.fc11              fedora        
mingw32-libgcrypt.noarch              1.4.4-3.fc11                fedora        
mingw32-libglade2.noarch              2.6.4-2.fc11                updates       
mingw32-libglade2-static.noarch       2.6.4-2.fc11                updates       
mingw32-libglademm24.noarch           2.6.7-6.fc11                updates       
mingw32-libgnurx.noarch               2.5.1-3.fc11                updates       
mingw32-libgnurx-static.noarch        2.5.1-3.fc11                updates       
mingw32-libgpg-error.noarch           1.6-11.fc11                 fedora        
mingw32-libidn.noarch                 1.14-2.fc11                 updates       
mingw32-libidn-static.noarch          1.14-2.fc11                 updates       
mingw32-libjpeg.noarch                6b-10.fc11                  fedora        
mingw32-libltdl.noarch                1.5.26-13.fc11              fedora        
mingw32-liboil.noarch                 0.3.16-1.fc11               fedora        
mingw32-libp11.noarch                 0.2.4-1.fc11                updates       
mingw32-libpng.noarch                 1.2.37-1.fc11               updates       
mingw32-libsigc++20.noarch            2.2.2-6.fc11                fedora        
mingw32-libsoup.noarch                2.26.1-2.fc11               updates       
mingw32-libsoup-static.noarch         2.26.1-2.fc11               updates       
mingw32-libsq3.noarch                 20071018-7.fc11             updates       
mingw32-libsqlite3x.noarch            20071018-7.fc11             updates       
mingw32-libssh2.noarch                1.1-2.fc11                  updates       
mingw32-libssh2-static.noarch         1.1-2.fc11                  updates       
mingw32-libtiff.noarch                3.8.2-17.fc11               updates       
mingw32-libxml++.noarch               2.26.0-1.fc11               updates       
mingw32-libxml2.noarch                2.7.3-2.fc11                updates       
mingw32-libxml2-static.noarch         2.7.3-2.fc11                updates       
mingw32-libxslt.noarch                1.1.24-7.fc11               updates       
mingw32-libxslt-static.noarch         1.1.24-7.fc11               updates       
mingw32-minizip.noarch                1.2.3-16.fc11               updates       
mingw32-nsis.i586                     2.45-1.fc11                 updates       
mingw32-nsiswrapper.noarch            3-4.fc11.2                  updates       
mingw32-opensc.noarch                 0.11.8-1.fc11               updates       
mingw32-openssl.noarch                0.9.8j-6.fc11               updates       
mingw32-openssl-static.noarch         0.9.8j-6.fc11               updates       
mingw32-pango.noarch                  1.23.0-1.fc11               fedora        
mingw32-pango-static.noarch           1.23.0-1.fc11               fedora        
mingw32-pangomm.noarch                2.24.0-1.fc11               fedora        
mingw32-pdcurses.noarch               3.4-5.fc11                  fedora        
mingw32-physfs.noarch                 1.0.1-12.fc11               fedora        
mingw32-pixman.noarch                 0.13.2-4.fc11               fedora        
mingw32-plotmm.noarch                 0.1.2-2.fc11                updates       
mingw32-pthreads.noarch               2.8.0-8.fc11                updates       
mingw32-qt.noarch                     4.5.2-1.fc11                updates       
mingw32-qt-qmake.i586                 4.5.2-1.fc11                updates       
mingw32-qwt.noarch                    5.1.1-6.fc11                fedora        
mingw32-readline.noarch               5.2-6.fc11                  fedora        
mingw32-runtime.noarch                3.15.2-3.fc11               fedora        
mingw32-sqlite.noarch                 3.6.6.2-3.fc11              fedora        
mingw32-tcl.noarch                    8.5.7-5.fc11.1              updates       
mingw32-termcap.noarch                1.3.1-7.fc11                fedora        
mingw32-w32api.noarch                 3.13-3.fc11                 fedora        
mingw32-wpcap.noarch                  4.1.beta5-2.fc11            fedora        
mingw32-wpcap-docs.noarch             4.1.beta5-2.fc11            fedora        
mingw32-wpcap-examples.noarch         4.1.beta5-2.fc11            fedora        
mingw32-zfstream.noarch               20041202-5.fc11             updates       
mingw32-zlib.noarch                   1.2.3-16.fc11               updates       
mingw32-zlib-static.noarch            1.2.3-16.fc11               updates       

2009-08-19 (Wed)

[Ruby] Fedora 11でmingw32版rubyを作る

とりあえずwineとかbinfmt_miscとかは使わない環境での話。
.exeは直接実行はできない。

最近のautoconfはintとかのサイズが取れなくなってるようで、
外から指定する必要がある。

ac_cv_sizeof_short=2 \
ac_cv_sizeof_int=4 \
ac_cv_sizeof_long=4 \
ac_cv_sizeof_long_long=8 \
ac_cv_sizeof_size_t=4 \
ac_cv_sizeof_ssize_t=4 \
ac_cv_sizeof_voidp=4 \
ac_cv_sizeof_float=4 \
ac_cv_sizeof_double=8 \
ac_cv_sizeof_time_t=4 \
ac_cv_sizeof_int8_t=1 \
ac_cv_sizeof_uint8_t=1 \
ac_cv_sizeof_int16_t=2 \
ac_cv_sizeof_uint16_t=2 \
ac_cv_sizeof_int32_t=4 \
ac_cv_sizeof_uint32_t=4 \
ac_cv_sizeof_int64_t=8 \
ac_cv_sizeof_uint64_t=8 \
ac_cv_sizeof_intptr_t=4 \
ac_cv_sizeof_uintptr_t=4 \
ac_cv_sizeof_ptrdiff_t=4 \
../ruby/trunk/configure \
CFLAGS='-Os -mms-bitfields' \
--disable-option-checking \
--host=i686-pc-mingw32 \
--target=i386-mingw32 \
--build=i386-linux \
--with-baseruby=ruby \
--enable-wide-getaddrinfo \
-C \
--prefix=

型のsizeだらけなので、これはconfigure.inにクロスのときはという条件で
入れちゃったほうがよさげ。
クロスコンパイラはi686-pc-mingw32-というprefixがつくので--hostでそれを指定。
trunkはビルド前にもろもろrubyでファイルを作るので
ホスト側で動くrubyを指定する必要がある。このrubyは1.8。
trunk指定ではなぜかエラーになった。あとで調べる。
configureの在処は適当に指定して、あ、それと重要なのは-mms-bitfieldsで、
これをつけないと構造体の空きをパッキングしてくれないとかなんとかで、
バイナリ互換の問題が出るという話。

このくらいでmakeは可能。
mingw32-{readline,zlib}をインストールすれば、これらの拡張ライブラリも使える。
ただopensslはmingw32-openssl-staticを試してみたが、残念ながら

ossl_engine.o:ossl_engine.c:(.text+0xc1c): undefined reference to `ENGINE_load_cswift'
ossl_engine.o:ossl_engine.c:(.text+0xc41): undefined reference to `ENGINE_load_chil'
ossl_engine.o:ossl_engine.c:(.text+0xc66): undefined reference to `ENGINE_load_atalla'
ossl_engine.o:ossl_engine.c:(.text+0xc8b): undefined reference to `ENGINE_load_nuron'
ossl_engine.o:ossl_engine.c:(.text+0xcb3): undefined reference to `ENGINE_load_ubsec'
ossl_engine.o:ossl_engine.c:(.text+0xcdb): undefined reference to `ENGINE_load_aep'
ossl_engine.o:ossl_engine.c:(.text+0xd03): undefined reference to `ENGINE_load_sureware'
ossl_engine.o:ossl_engine.c:(.text+0xd2b): undefined reference to `ENGINE_load_4758cca'

とifdefが足りないようだ。


2009-08-20 (Thu)

[Ruby] Rubyクロス環境

いろいろ試した結果、ターゲットがtrunkならBASERUBYもMINIRUBYも、
trunkのrubyじゃないとだめという結論に。
そのあたりは週末にでもまとめて久し振りにこみる。

fake.rbやらrbconfig.rbのバージョンチェックのとこで、
どうすべきか考えないとだめとなかださんからの指摘。
RUBY VERSIONのMAJOR/MINOR/TEENYは、APIのバージョンという位置づけ なので、RUBY_VERSIONと食い違いが出てしまう。
ちょっと悩ましい。


<Prev(,) | Next(.)> | Recent(/)>> | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!