もー、HTTP が突然止まる病がどうしてもなおらないので、 ルータをリストラしました。 今度は Corega にしてみた (安かった)。 これでしばらく運用してみよう。
(00:17)
どうもファイアウォールってか SPI (Stateful PacketInspection) が信用できない。 ZyWall のときも pipelining SMTP が SPI ファイアウォールに止められたし、 DNS スレーブ接続もブロックされたし、 MR504DV で HTTP が止まるのもどうも SPI がらみのような気がするんだよな。 SPI がパケットをブロックした直後から HTTP が全部止まってんだもん。
つーかさー、もうファイアウォールいらなくね? 邪魔するばっかりで全然役に立ってねえよ。 ちゃんとルーティングだけしてくれればそれでいいじゃん。
(00:32)
自分で ls を連打しなくて済ますためのシェルスクリプトを書いてみた。 return を連打するだけでランダムに ls, ls -l, ls -as を実行する。
#!/bin/sh
while read cmd
do
[ "$cmd" = "exit" ] && exit
case `expr "$RANDOM" % 3` in
0) ls ;;
1) ls -l ;;
2) ls -as ;;
*) echo "???" ;;
esac
done
手抜きしたので $RANDOM があるシェル専用。
(01:17)
ランダムで cd するようにしてみた。
#!/usr/bin/env ruby
unless Array.method_defined?(:choice)
class Array
def choice
at(rand(size()))
end
end
end
def main
Signal.trap(:INT, 'EXIT')
actions = [
lambda { cmd "ls" },
lambda { cmd "ls -l" },
lambda { cmd "ls -a" },
lambda { cmd "ls -s" },
lambda { random_chdir }
]
$stdin.each do |line|
exit if line.strip == 'exit'
actions.choice.call
end
rescue Interrupt
exit 1
end
def cmd(s)
$stderr.puts s
system s
end
def random_chdir
ent = (Dir.entries('.') - ['.']).select {|ent| File.directory?(ent) }.choice
$stderr.puts "cd #{ent}"
Dir.chdir ent
end
main
(02:23)