cookies.txt      .scr

ただのテキストファイルのようだ

mplayerの-loop option

mplayerいいっすよねー。
何でも再生出来ますよねー。

唐突ですが、ループについて

mplayerで動画・音声を繰り返し再生するときは-loopが使えます。
-loopの後は繰り返す回数で、0ならforever.

mplayer -loop 0 hoge.mpg  # hoge.mpgを永久再生

とまあ調べるとこう出てきます。間違ってないというか正しいです。
ですが、同じhoge.mpgをループしてるのにいちいちウィンドウが消えたり表示されたりするし、
再生途中に操作したSpeedとかが保存されないのでつらいですよね。

こうするとうまく行きます。

mplayer hoge.mpg -loop 0  # hoge.mpgを永久再生

man mplayerを見るとわかるとおり、

mplayer [options] file1 [specific options] [file2] [specific options]....

です。
optionsに-loopすると全体に適用されますが、
specific optionsに-loopすると一つのファイルに適用されます。
多分そんな感じの解釈のために、先のような違いが起こるんだろうなと。


ちなみに

mplayer { hoge.mpg -loop 3 fuga.mpg } -loop 2

とすると、hoge hoge hoge fuga hoge hoge hoge fugaとなるわけですが、

mplayer -loop 0 hoge.mpg
mplayer { hoge.mpg } -loop 0

だと似たような感じになるのを確認しました。





1ファイルをループ再生するんなら、specific optionsのほうがうまいんじゃないかなぁと思っただけです。

誰かmencoderffmpegの使い方教えてください。

syscalls

    • Linux前提で話を進めます --
    • 完全に自分の環境の話ですLinux3.9.7 --

まあ、自分で全部書いたことなんて実はないんだけど、
いろんなところからshellcodeをダウンロードしてきます。//今なら書ける気がする
そうすると必ずint $0x80ってのがあるわけです。x86だと。
これがsyscallなわけですが、eaxにその番号をいれますよね。気になったので。

man syscallより

arch/ABI instruction syscall # retval Notes
arm/OABI swi NR - a1 NR is syscall #
arm/EABI swi 0x0 r7 r1 -
blackfin excpt 0x0 P0 R0 -
i386 int $0x80 eax eax -
ia64 break 0x100000 r15 r10/r8 -
parisc ble 0x100(%sr2, %r0) r20 r28 -
sparc/32 t 0x10 g1 o0 -
sparc/64 t 0x6d g1 o0 -
x86_64 syscall rax rax -
続きを読む

覚えるべきgdbコマンドの続き

http://cookies.hatenablog.jp/entry/2012/09/29/203439 の続き。

disasはまあよいんだけど、そのアドレスを含む関数全部出力されちゃうし、いろいろあったりするので。

x/i 値を機械語として扱い、逆アセンブル
d breakpointとか削除
dis breakpointを一時的にdisable
en brekpointをenable

あと、
・rとだけすると、前回の引数がまた使われる。
・rはシェルにそのまま渡すような感じなので、バッククォートによるシェル実行とか、リダイレクトとか普通に使える。


なかなか使えますねgdb。すごい。

WordPressのリダイレクト

サイトを巡回しつつ、URLいじくってたら、どこもかしこも
http://example.com/aにアクセスしたら/aboutに飛ばしてくれて、
/bにアクセスしてもbで始まるURLに飛ばしてくれるので、何かと思ったら、
たぶんみんなWordPressを使ってたっぽい。

初めて知った。
そうだよね、パーマリンクの形を変更したら以前のがみんなリンク切れとかになりかねないもんね。

ArchLinux、/usr/binにまとめちゃうってよ。

こないだArchLinuxのinitscriptsが続々削除された旨の記事を書いたが、
こんどは(/bin, /sbin, /usr/bin, /usr/sbin), (/lib, /usr/lib)を統合しようとかいう大変革が。
https://www.archlinux.org/news/binaries-move-to-usrbin-requiring-update-intervention/

filesystemとかいうcoreにいるやつなんだが、(/bin, /sbin, /usr/sbin)の中身を/usr/binに移しやがる。
それで互換のためだと言いながら、/bin, /sbin, /usr/sbinから/usr/binへ飛ばすためのsymlinkを張ろうとする。
が、普通、/binとかってのは元からあるものなので、上書きできずにsymlink張りは失敗する。


意図された動作なのか違うのか、yaourt -Syuuaしたときに、(/bin,/sbin,/usr/sbin)の中身を/usr/binに移動こそすれ、symlinkが張られなかった。
すると何が起こるか。
もともと/usr/binにあるものはともかく、ほとんどのものが動かなくなる。
/bin/shすらないんだもの。
ここで焦ってrebootすると痛い目にあう。なぜってinitすら移動されている。

一番正しい安全な対処は、上に張ったリンクの通りだが、
最低限rm -rf /bin /sbin /usr/sbinしろということだったのだと今更ながら思う。

        • 5日 0:17追記

書いてからもいろいろしたけど、なんとかなった。
全然責任は持てないけど、うまくいく場合もあるっぽいよ、ということで。

mv /bin/* /sbin/* /usr/sbin/* /usr/bin
export PATH=/usr/bin:$PATH
rm -r /bin /sbin /usr/sbin
pacman -S filesystem


libのほうはどうやったか忘れた。操作したかどうかも覚えてない。
最後にはsymlinkが張られているのが確認できたし、たぶん成功したっぽ