fetus Diary

twitter: @fetus_hina / Twilog
ポプともID: 4174-5004-0070 (チャレ/最高38/安定34)
IIDX ID: 3604-3873 (SP六段底辺)

2008/08/01(金)

08月01日のココロ日記(BlogPet)

ココロのひみつ、パケットに打ち明けちゃいました

*このエントリは、ブログペットのココロが書いてます♪

我ながらどうかと思う

alias su='sudo su'

そして、alias が指定してあるサーバと指定していないサーバが混在して悲しい目に遭う

??

[root@tai ~]# service ntpd status
ntpd (pid 31869) is running...
[root@tai ~]# ntpq -p
Name or service not known

んー??????

# もちろん、実際に 31869 で ntpd 動いてる

ぎょーむれんらく

GSSP.JP なドメインが期限切れまでちょうどあと 1 花月 ヶ月な模様。

# お値段は ¥3390/y。先払いなら 9 年延長まで承ります

9年予約

って value-domain 内部で予約されるんだね…(「当サービスをご利用いただいている限り」とか「JPRS 的には 1 年で、サービス側で勝手に更新するだけです(意訳)」って書いてあるし)。

恐ろしい…。

ってことで、2 年くらいまでで。

08月01日のやよいのひみつ日記『かんそう』(Blogpet)

[2008/08/01]ぎょーむれんらくを読んだよ
延長まで承るんだよ

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月01日のココロのひみつ日記『ココロ日記』(Blogpet)

最近の存在ってハイテク!

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

太陽の城

10 戦 0 勝 2 位 3 回。まあ、こんなもんですわ。ハード pf(H) できないんじゃお話にならん。

熱帯戦績

部屋 1 位 2 位 3 位
神秘の湖 ~Lv28 7 0 0
時空の塔 ~Lv31 22 13 11
太陽の城 ~Lv34 0 3 7
総合 29 16 18

選曲TOP20

半月前

  1. チアパラ(73)
  2. にゃんこジャズ(46)
  3. ラヴリーパラダイスチューン(36)
  4. タイムトラベル(33)
  5. そばかす(30)
  6. アフターパーティ(28)
  7. 創聖のアクエリオン(27)
  8. ムードテクノ(27)
  9. 月のワルツ(27)
  10. 浪速っ子ブギ(25)
  11. アンビション(25)
  12. 彗星RAVE(25)
  13. バイキング(23)
  14. ケロッ!とマーチ(22)
  15. ガールズオルタナティブ(20)
  16. CLIMAX JUMP(18)
  17. ティアーズ(18)
  18. ジュエリーロック(17)
  19. スキップ(16)
  20. ポップコーンパーティ(15)

実況パワフルプロ野球15 スペシャルサイト おもしろミニゲーム3連打! | プロ野球人生メーカー

広島出身/ひな
試合数 1268
本塁打 405
打数 4608
打点 984
安打 1631
盗塁 38
打率 .354
33歳 戦力外告知を受けるがコーチとして残留希望
33歳 希望が叶わず、引退

その成績なら打撃コーチになるような気がするけどなぁ、普通。

# よっぽど指導力無いんだろう

2008/08/02(土)

ど~しよ ドシロウト

冬柴国交相は1日午前の閣議後の記者会見で、橋下知事の発言について「素人が大胆なことを言わない方がいい」とクギを刺していた。

橋下知事が概ね素人なのは確かだけど、知事も大臣も(ものすごく簡単な条件をクリアした)「ド素人」達の代表なんだから、選んだド素人に分かるように説明しないとダメだと思うんだけどどうだろう。

でないと、(仮に廃止に賛成が多数派であれば)一見合理的に発言している「ように見える」(自分の意見に近いとそう見えがち)知事に賛同しちゃうと思う、ド素人は。

# 良くも悪くも国民が「総アホ」なら国全体がアホになっていくシステム。

08月02日のやよいのひみつ日記『おぼえてる』(Blogpet)

さいきんおぼえた
知事 柴 大臣 クギ 国民

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月02日のココロのひみつ日記『ココロ日記』(Blogpet)

インターネット物語。パーツを集めること風のごとし

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

発掘

THE IDOM@STER MASTER ARTIST FINALE 発掘。

…AMAZON のデータ見てて思ったんだけどね…

「音楽 > J-POP > アーティスト別 > た行 > た > 高木完」

……えーっと…。名前を混ぜるのはいけないと思います!

# おそらく、「高木順一朗」+「徳丸完」

あくび

宮城県美里町立中埣小学校(児童133人、舘内充校長)で6年生の授業中、男性教頭(56)があくびをした児童に注意した際、「包丁で刺すかもしれないぞ」と発言していたことが2日、分かった。

学校と町教委によると、教頭は7月1日、担任の代役で5時間目の国語を教えた。児童数人があくびをしたのを見て、「授業中にあくびをする者に真剣に教える気持ちになれない。ここに包丁が3本あるとしたら、そのうちの1本で刺すかもしれないぞ」といった趣旨の発言をした。

うっうー! 教頭先生、残りの 2 本何に使うつもりだったんですかっ?!

赤塚不二夫さん、死去

合掌。

mb_strwidth2

mb_strwidth が、文字幅が曖昧なときに間違った数字を返す("☆"とか"…"とかが「幅 1」になる)ので自分用のを書いてみた。

<?php
    function mb_strwidth2($str, $encoding = 'auto') {
        return mb_strwidth2_support::strwidth2($str, $encoding);
    }
    
    class mb_strwidth2_support {
        static public function strwidth2($str, $encoding = 'auto') {
            if($encoding === 'auto') {
                $encoding = mb_internal_encoding();
            }
            if(strtoupper($encoding) !== 'UCS-4BE') {
                return self::strwidth2(mb_convert_encoding($str, 'UCS-4BE', $encoding), 'UCS-4BE');
            }
            $strlen = mb_strlen($str, 'UCS-4BE');
            $result = 0;
            for($i = 0; $i < $strlen; ++$i) {
                $c = mb_substr($str, $i, 1, 'UCS-4BE');
                $result += self::chrwidth($c);
            }
            return $result;
        }
        
        static private function chrwidth($c) {    // $c: UCS-4BE
            static $cache = array();
            if(isset($cache[$c])) {
                return $cache[$c];
            }
            
            $code = (ord(substr($c, 0, 1)) << 24) + (ord(substr($c, 1, 1)) << 16) + (ord(substr($c, 2, 1)) <<  8) + ord(substr($c, 3, 1));
            $result = self::chrwidth_($code);
            if($result < 0) {
//                echo "unknown: $code\n";
                $result = mb_strwidth($c, 'UCS-4BE');
            }
            $cache[$c] = $result;
            return $result;
        }
        
        static private function chrwidth_($code) {
            // 確実に半角とされている方々
            if(self::is_unicode_type_NA($code) || self::is_unicode_type_H($code)){
                return 1;
            }
            
            // 確実に全角とされている方々
            if(self::is_unicode_type_W($code) || self::is_unicode_type_F($code)) {
                return 2;
            }
            
            // 文脈依存の方々
            if(self::is_unicode_type_A($code)) {
                // 本来は東アジアなら 2、そうでなければ 1 を返すべき
                return 2;
            }
            
            // 現れないハズの方々
            if(self::is_unicode_type_N($code)) {
                return -1;
            }
            
            // 知らない文字の方々
            return -1;
        }
        
        static private function is_unicode_type_N($code) {
            return (
                (0x0 <= $code && $code <= 0x1f) || (0x7f <= $code && $code <= 0xa0) || ($code == 0xa9) || 
                ($code == 0xab) || ($code == 0xb5) || ($code == 0xbb) || (0xc0 <= $code && $code <= 0xc5) || 
                (0xc7 <= $code && $code <= 0xcf) || (0xd1 <= $code && $code <= 0xd6) || 
                (0xd9 <= $code && $code <= 0xdd) || (0xe2 <= $code && $code <= 0xe5) || ($code == 0xe7) || 
                ($code == 0xeb) || (0xee <= $code && $code <= 0xef) || ($code == 0xf1) || 
                (0xf4 <= $code && $code <= 0xf6) || ($code == 0xfb) || ($code == 0xfd) || 
                (0xff <= $code && $code <= 0x100) || (0x102 <= $code && $code <= 0x110) || ($code == 0x112) || 
                (0x114 <= $code && $code <= 0x11a) || (0x11c <= $code && $code <= 0x125) || 
                (0x128 <= $code && $code <= 0x12a) || (0x12c <= $code && $code <= 0x130) || 
                (0x134 <= $code && $code <= 0x137) || (0x139 <= $code && $code <= 0x13e) || ($code == 0x143) || 
                (0x145 <= $code && $code <= 0x147) || ($code == 0x14c) || (0x14e <= $code && $code <= 0x151) || 
                (0x154 <= $code && $code <= 0x165) || (0x168 <= $code && $code <= 0x16a) || 
                (0x16c <= $code && $code <= 0x1cd) || ($code == 0x1cf) || ($code == 0x1d1) || ($code == 0x1d3) || 
                ($code == 0x1d5) || ($code == 0x1d7) || ($code == 0x1d9) || ($code == 0x1db) || 
                (0x1dd <= $code && $code <= 0x250) || (0x252 <= $code && $code <= 0x260) || 
                (0x262 <= $code && $code <= 0x2c3) || (0x2c5 <= $code && $code <= 0x2c6) || ($code == 0x2c8) || 
                ($code == 0x2cc) || (0x2ce <= $code && $code <= 0x2cf) || (0x2d1 <= $code && $code <= 0x2d7) || 
                ($code == 0x2dc) || ($code == 0x2de) || (0x2e0 <= $code && $code <= 0x2ff) || 
                (0x370 <= $code && $code <= 0x377) || (0x37a <= $code && $code <= 0x37e) || 
                (0x384 <= $code && $code <= 0x38a) || ($code == 0x38c) || (0x38e <= $code && $code <= 0x390) || 
                (0x3aa <= $code && $code <= 0x3b0) || ($code == 0x3c2) || (0x3ca <= $code && $code <= 0x400) || 
                (0x402 <= $code && $code <= 0x40f) || ($code == 0x450) || (0x452 <= $code && $code <= 0x523) || 
                (0x531 <= $code && $code <= 0x556) || (0x559 <= $code && $code <= 0x55f) || 
                (0x561 <= $code && $code <= 0x587) || (0x589 <= $code && $code <= 0x58a) || 
                (0x591 <= $code && $code <= 0x5c7) || (0x5d0 <= $code && $code <= 0x5ea) || 
                (0x5f0 <= $code && $code <= 0x5f4) || (0x600 <= $code && $code <= 0x603) || 
                (0x606 <= $code && $code <= 0x61b) || (0x61e <= $code && $code <= 0x61f) || 
                (0x621 <= $code && $code <= 0x65e) || (0x660 <= $code && $code <= 0x70d) || 
                (0x70f <= $code && $code <= 0x74a) || (0x74d <= $code && $code <= 0x7b1) || 
                (0x7c0 <= $code && $code <= 0x7fa) || (0x901 <= $code && $code <= 0x939) || 
                (0x93c <= $code && $code <= 0x94d) || (0x950 <= $code && $code <= 0x954) || 
                (0x958 <= $code && $code <= 0x972) || (0x97b <= $code && $code <= 0x97f) || 
                (0x981 <= $code && $code <= 0x983) || (0x985 <= $code && $code <= 0x98c) || 
                (0x98f <= $code && $code <= 0x990) || (0x993 <= $code && $code <= 0x9a8) || 
                (0x9aa <= $code && $code <= 0x9b0) || ($code == 0x9b2) || (0x9b6 <= $code && $code <= 0x9b9) || 
                (0x9bc <= $code && $code <= 0x9c4) || (0x9c7 <= $code && $code <= 0x9c8) || 
                (0x9cb <= $code && $code <= 0x9ce) || ($code == 0x9d7) || (0x9dc <= $code && $code <= 0x9dd) || 
                (0x9df <= $code && $code <= 0x9e3) || (0x9e6 <= $code && $code <= 0x9fa) || 
                (0xa01 <= $code && $code <= 0xa03) || (0xa05 <= $code && $code <= 0xa0a) || 
                (0xa0f <= $code && $code <= 0xa10) || (0xa13 <= $code && $code <= 0xa28) || 
                (0xa2a <= $code && $code <= 0xa30) || (0xa32 <= $code && $code <= 0xa33) || 
                (0xa35 <= $code && $code <= 0xa36) || (0xa38 <= $code && $code <= 0xa39) || ($code == 0xa3c) || 
                (0xa3e <= $code && $code <= 0xa42) || (0xa47 <= $code && $code <= 0xa48) || 
                (0xa4b <= $code && $code <= 0xa4d) || ($code == 0xa51) || (0xa59 <= $code && $code <= 0xa5c) || 
                ($code == 0xa5e) || (0xa66 <= $code && $code <= 0xa75) || (0xa81 <= $code && $code <= 0xa83) || 
                (0xa85 <= $code && $code <= 0xa8d) || (0xa8f <= $code && $code <= 0xa91) || 
                (0xa93 <= $code && $code <= 0xaa8) || (0xaaa <= $code && $code <= 0xab0) || 
                (0xab2 <= $code && $code <= 0xab3) || (0xab5 <= $code && $code <= 0xab9) || 
                (0xabc <= $code && $code <= 0xac5) || (0xac7 <= $code && $code <= 0xac9) || 
                (0xacb <= $code && $code <= 0xacd) || ($code == 0xad0) || (0xae0 <= $code && $code <= 0xae3) || 
                (0xae6 <= $code && $code <= 0xaef) || ($code == 0xaf1) || (0xb01 <= $code && $code <= 0xb03) || 
                (0xb05 <= $code && $code <= 0xb0c) || (0xb0f <= $code && $code <= 0xb10) || 
                (0xb13 <= $code && $code <= 0xb28) || (0xb2a <= $code && $code <= 0xb30) || 
                (0xb32 <= $code && $code <= 0xb33) || (0xb35 <= $code && $code <= 0xb39) || 
                (0xb3c <= $code && $code <= 0xb44) || (0xb47 <= $code && $code <= 0xb48) || 
                (0xb4b <= $code && $code <= 0xb4d) || (0xb56 <= $code && $code <= 0xb57) || 
                (0xb5c <= $code && $code <= 0xb5d) || (0xb5f <= $code && $code <= 0xb63) || 
                (0xb66 <= $code && $code <= 0xb71) || (0xb82 <= $code && $code <= 0xb83) || 
                (0xb85 <= $code && $code <= 0xb8a) || (0xb8e <= $code && $code <= 0xb90) || 
                (0xb92 <= $code && $code <= 0xb95) || (0xb99 <= $code && $code <= 0xb9a) || ($code == 0xb9c) || 
                (0xb9e <= $code && $code <= 0xb9f) || (0xba3 <= $code && $code <= 0xba4) || 
                (0xba8 <= $code && $code <= 0xbaa) || (0xbae <= $code && $code <= 0xbb9) || 
                (0xbbe <= $code && $code <= 0xbc2) || (0xbc6 <= $code && $code <= 0xbc8) || 
                (0xbca <= $code && $code <= 0xbcd) || ($code == 0xbd0) || ($code == 0xbd7) || 
                (0xbe6 <= $code && $code <= 0xbfa) || (0xc01 <= $code && $code <= 0xc03) || 
                (0xc05 <= $code && $code <= 0xc0c) || (0xc0e <= $code && $code <= 0xc10) || 
                (0xc12 <= $code && $code <= 0xc28) || (0xc2a <= $code && $code <= 0xc33) || 
                (0xc35 <= $code && $code <= 0xc39) || (0xc3d <= $code && $code <= 0xc44) || 
                (0xc46 <= $code && $code <= 0xc48) || (0xc4a <= $code && $code <= 0xc4d) || 
                (0xc55 <= $code && $code <= 0xc56) || (0xc58 <= $code && $code <= 0xc59) || 
                (0xc60 <= $code && $code <= 0xc63) || (0xc66 <= $code && $code <= 0xc6f) || 
                (0xc78 <= $code && $code <= 0xc7f) || (0xc82 <= $code && $code <= 0xc83) || 
                (0xc85 <= $code && $code <= 0xc8c) || (0xc8e <= $code && $code <= 0xc90) || 
                (0xc92 <= $code && $code <= 0xca8) || (0xcaa <= $code && $code <= 0xcb3) || 
                (0xcb5 <= $code && $code <= 0xcb9) || (0xcbc <= $code && $code <= 0xcc4) || 
                (0xcc6 <= $code && $code <= 0xcc8) || (0xcca <= $code && $code <= 0xccd) || 
                (0xcd5 <= $code && $code <= 0xcd6) || ($code == 0xcde) || (0xce0 <= $code && $code <= 0xce3) || 
                (0xce6 <= $code && $code <= 0xcef) || (0xcf1 <= $code && $code <= 0xcf2) || 
                (0xd02 <= $code && $code <= 0xd03) || (0xd05 <= $code && $code <= 0xd0c) || 
                (0xd0e <= $code && $code <= 0xd10) || (0xd12 <= $code && $code <= 0xd28) || 
                (0xd2a <= $code && $code <= 0xd39) || (0xd3d <= $code && $code <= 0xd44) || 
                (0xd46 <= $code && $code <= 0xd48) || (0xd4a <= $code && $code <= 0xd4d) || ($code == 0xd57) || 
                (0xd60 <= $code && $code <= 0xd63) || (0xd66 <= $code && $code <= 0xd75) || 
                (0xd79 <= $code && $code <= 0xd7f) || (0xd82 <= $code && $code <= 0xd83) || 
                (0xd85 <= $code && $code <= 0xd96) || (0xd9a <= $code && $code <= 0xdb1) || 
                (0xdb3 <= $code && $code <= 0xdbb) || ($code == 0xdbd) || (0xdc0 <= $code && $code <= 0xdc6) || 
                ($code == 0xdca) || (0xdcf <= $code && $code <= 0xdd4) || ($code == 0xdd6) || 
                (0xdd8 <= $code && $code <= 0xddf) || (0xdf2 <= $code && $code <= 0xdf4) || 
                (0xe01 <= $code && $code <= 0xe3a) || (0xe3f <= $code && $code <= 0xe5b) || 
                (0xe81 <= $code && $code <= 0xe82) || ($code == 0xe84) || (0xe87 <= $code && $code <= 0xe88) || 
                ($code == 0xe8a) || ($code == 0xe8d) || (0xe94 <= $code && $code <= 0xe97) || 
                (0xe99 <= $code && $code <= 0xe9f) || (0xea1 <= $code && $code <= 0xea3) || ($code == 0xea5) || 
                ($code == 0xea7) || (0xeaa <= $code && $code <= 0xeab) || (0xead <= $code && $code <= 0xeb9) || 
                (0xebb <= $code && $code <= 0xebd) || (0xec0 <= $code && $code <= 0xec4) || ($code == 0xec6) || 
                (0xec8 <= $code && $code <= 0xecd) || (0xed0 <= $code && $code <= 0xed9) || 
                (0xedc <= $code && $code <= 0xedd) || (0xf00 <= $code && $code <= 0xf47) || 
                (0xf49 <= $code && $code <= 0xf6c) || (0xf71 <= $code && $code <= 0xf8b) || 
                (0xf90 <= $code && $code <= 0xf97) || (0xf99 <= $code && $code <= 0xfbc) || 
                (0xfbe <= $code && $code <= 0xfcc) || (0xfce <= $code && $code <= 0xfd4) || 
                (0x1000 <= $code && $code <= 0x1099) || (0x109e <= $code && $code <= 0x10c5) || 
                (0x10d0 <= $code && $code <= 0x10fc) || (0x1160 <= $code && $code <= 0x11a2) || 
                (0x11a8 <= $code && $code <= 0x11f9) || (0x1200 <= $code && $code <= 0x1248) || 
                (0x124a <= $code && $code <= 0x124d) || (0x1250 <= $code && $code <= 0x1256) || 
                ($code == 0x1258) || (0x125a <= $code && $code <= 0x125d) || 
                (0x1260 <= $code && $code <= 0x1288) || (0x128a <= $code && $code <= 0x128d) || 
                (0x1290 <= $code && $code <= 0x12b0) || (0x12b2 <= $code && $code <= 0x12b5) || 
                (0x12b8 <= $code && $code <= 0x12be) || ($code == 0x12c0) || 
                (0x12c2 <= $code && $code <= 0x12c5) || (0x12c8 <= $code && $code <= 0x12d6) || 
                (0x12d8 <= $code && $code <= 0x1310) || (0x1312 <= $code && $code <= 0x1315) || 
                (0x1318 <= $code && $code <= 0x135a) || (0x135f <= $code && $code <= 0x137c) || 
                (0x1380 <= $code && $code <= 0x1399) || (0x13a0 <= $code && $code <= 0x13f4) || 
                (0x1401 <= $code && $code <= 0x1676) || (0x1680 <= $code && $code <= 0x169c) || 
                (0x16a0 <= $code && $code <= 0x16f0) || (0x1700 <= $code && $code <= 0x170c) || 
                (0x170e <= $code && $code <= 0x1714) || (0x1720 <= $code && $code <= 0x1736) || 
                (0x1740 <= $code && $code <= 0x1753) || (0x1760 <= $code && $code <= 0x176c) || 
                (0x176e <= $code && $code <= 0x1770) || (0x1772 <= $code && $code <= 0x1773) || 
                (0x1780 <= $code && $code <= 0x17dd) || (0x17e0 <= $code && $code <= 0x17e9) || 
                (0x17f0 <= $code && $code <= 0x17f9) || (0x1800 <= $code && $code <= 0x180e) || 
                (0x1810 <= $code && $code <= 0x1819) || (0x1820 <= $code && $code <= 0x1877) || 
                (0x1880 <= $code && $code <= 0x18aa) || (0x1900 <= $code && $code <= 0x191c) || 
                (0x1920 <= $code && $code <= 0x192b) || (0x1930 <= $code && $code <= 0x193b) || 
                ($code == 0x1940) || (0x1944 <= $code && $code <= 0x196d) || 
                (0x1970 <= $code && $code <= 0x1974) || (0x1980 <= $code && $code <= 0x19a9) || 
                (0x19b0 <= $code && $code <= 0x19c9) || (0x19d0 <= $code && $code <= 0x19d9) || 
                (0x19de <= $code && $code <= 0x1a1b) || (0x1a1e <= $code && $code <= 0x1a1f) || 
                (0x1b00 <= $code && $code <= 0x1b4b) || (0x1b50 <= $code && $code <= 0x1b7c) || 
                (0x1b80 <= $code && $code <= 0x1baa) || (0x1bae <= $code && $code <= 0x1bb9) || 
                (0x1c00 <= $code && $code <= 0x1c37) || (0x1c3b <= $code && $code <= 0x1c49) || 
                (0x1c4d <= $code && $code <= 0x1c7f) || (0x1d00 <= $code && $code <= 0x1de6) || 
                (0x1dfe <= $code && $code <= 0x1f15) || (0x1f18 <= $code && $code <= 0x1f1d) || 
                (0x1f20 <= $code && $code <= 0x1f45) || (0x1f48 <= $code && $code <= 0x1f4d) || 
                (0x1f50 <= $code && $code <= 0x1f57) || ($code == 0x1f59) || ($code == 0x1f5b) || 
                ($code == 0x1f5d) || (0x1f5f <= $code && $code <= 0x1f7d) || 
                (0x1f80 <= $code && $code <= 0x1fb4) || (0x1fb6 <= $code && $code <= 0x1fc4) || 
                (0x1fc6 <= $code && $code <= 0x1fd3) || (0x1fd6 <= $code && $code <= 0x1fdb) || 
                (0x1fdd <= $code && $code <= 0x1fef) || (0x1ff2 <= $code && $code <= 0x1ff4) || 
                (0x1ff6 <= $code && $code <= 0x1ffe) || (0x2000 <= $code && $code <= 0x200f) || 
                (0x2011 <= $code && $code <= 0x2012) || ($code == 0x2017) || 
                (0x201a <= $code && $code <= 0x201b) || (0x201e <= $code && $code <= 0x201f) || 
                ($code == 0x2023) || (0x2028 <= $code && $code <= 0x202f) || ($code == 0x2031) || 
                ($code == 0x2034) || (0x2036 <= $code && $code <= 0x203a) || 
                (0x203c <= $code && $code <= 0x203d) || (0x203f <= $code && $code <= 0x2064) || 
                (0x206a <= $code && $code <= 0x2071) || (0x2075 <= $code && $code <= 0x207e) || 
                ($code == 0x2080) || (0x2085 <= $code && $code <= 0x208e) || 
                (0x2090 <= $code && $code <= 0x2094) || (0x20a0 <= $code && $code <= 0x20a8) || 
                (0x20aa <= $code && $code <= 0x20ab) || (0x20ad <= $code && $code <= 0x20b5) || 
                (0x20d0 <= $code && $code <= 0x20f0) || (0x2100 <= $code && $code <= 0x2102) || 
                ($code == 0x2104) || (0x2106 <= $code && $code <= 0x2108) || 
                (0x210a <= $code && $code <= 0x2112) || (0x2114 <= $code && $code <= 0x2115) || 
                (0x2117 <= $code && $code <= 0x2120) || (0x2123 <= $code && $code <= 0x2125) || 
                (0x2127 <= $code && $code <= 0x212a) || (0x212c <= $code && $code <= 0x214f) || 
                (0x2155 <= $code && $code <= 0x215a) || ($code == 0x215f) || 
                (0x216c <= $code && $code <= 0x216f) || (0x217a <= $code && $code <= 0x2188) || 
                (0x219a <= $code && $code <= 0x21b7) || (0x21ba <= $code && $code <= 0x21d1) || 
                ($code == 0x21d3) || (0x21d5 <= $code && $code <= 0x21e6) || 
                (0x21e8 <= $code && $code <= 0x21ff) || ($code == 0x2201) || 
                (0x2204 <= $code && $code <= 0x2206) || (0x2209 <= $code && $code <= 0x220a) || 
                (0x220c <= $code && $code <= 0x220e) || ($code == 0x2210) || 
                (0x2212 <= $code && $code <= 0x2214) || (0x2216 <= $code && $code <= 0x2219) || 
                (0x221b <= $code && $code <= 0x221c) || (0x2221 <= $code && $code <= 0x2222) || 
                ($code == 0x2224) || ($code == 0x2226) || ($code == 0x222d) || 
                (0x222f <= $code && $code <= 0x2233) || (0x2238 <= $code && $code <= 0x223b) || 
                (0x223e <= $code && $code <= 0x2247) || (0x2249 <= $code && $code <= 0x224b) || 
                (0x224d <= $code && $code <= 0x2251) || (0x2253 <= $code && $code <= 0x225f) || 
                (0x2262 <= $code && $code <= 0x2263) || (0x2268 <= $code && $code <= 0x2269) || 
                (0x226c <= $code && $code <= 0x226d) || (0x2270 <= $code && $code <= 0x2281) || 
                (0x2284 <= $code && $code <= 0x2285) || (0x2288 <= $code && $code <= 0x2294) || 
                (0x2296 <= $code && $code <= 0x2298) || (0x229a <= $code && $code <= 0x22a4) || 
                (0x22a6 <= $code && $code <= 0x22be) || (0x22c0 <= $code && $code <= 0x2311) || 
                (0x2313 <= $code && $code <= 0x2328) || (0x232b <= $code && $code <= 0x23e7) || 
                (0x2400 <= $code && $code <= 0x2426) || (0x2440 <= $code && $code <= 0x244a) || 
                ($code == 0x24ea) || (0x254c <= $code && $code <= 0x254f) || 
                (0x2574 <= $code && $code <= 0x257f) || (0x2590 <= $code && $code <= 0x2591) || 
                (0x2596 <= $code && $code <= 0x259f) || ($code == 0x25a2) || 
                (0x25aa <= $code && $code <= 0x25b1) || (0x25b4 <= $code && $code <= 0x25b5) || 
                (0x25b8 <= $code && $code <= 0x25bb) || (0x25be <= $code && $code <= 0x25bf) || 
                (0x25c2 <= $code && $code <= 0x25c5) || (0x25c9 <= $code && $code <= 0x25ca) || 
                (0x25cc <= $code && $code <= 0x25cd) || (0x25d2 <= $code && $code <= 0x25e1) || 
                (0x25e6 <= $code && $code <= 0x25ee) || (0x25f0 <= $code && $code <= 0x2604) || 
                (0x2607 <= $code && $code <= 0x2608) || (0x260a <= $code && $code <= 0x260d) || 
                (0x2610 <= $code && $code <= 0x2613) || (0x2616 <= $code && $code <= 0x261b) || 
                ($code == 0x261d) || (0x261f <= $code && $code <= 0x263f) || ($code == 0x2641) || 
                (0x2643 <= $code && $code <= 0x265f) || ($code == 0x2662) || ($code == 0x2666) || 
                ($code == 0x266b) || ($code == 0x266e) || (0x2670 <= $code && $code <= 0x269d) || 
                (0x26a0 <= $code && $code <= 0x26bc) || (0x26c0 <= $code && $code <= 0x26c3) || 
                (0x2701 <= $code && $code <= 0x2704) || (0x2706 <= $code && $code <= 0x2709) || 
                (0x270c <= $code && $code <= 0x2727) || (0x2729 <= $code && $code <= 0x273c) || 
                (0x273e <= $code && $code <= 0x274b) || ($code == 0x274d) || 
                (0x274f <= $code && $code <= 0x2752) || ($code == 0x2756) || 
                (0x2758 <= $code && $code <= 0x275e) || (0x2761 <= $code && $code <= 0x2775) || 
                (0x2780 <= $code && $code <= 0x2794) || (0x2798 <= $code && $code <= 0x27af) || 
                (0x27b1 <= $code && $code <= 0x27be) || (0x27c0 <= $code && $code <= 0x27ca) || 
                ($code == 0x27cc) || (0x27d0 <= $code && $code <= 0x27e5) || 
                (0x27ee <= $code && $code <= 0x2984) || (0x2987 <= $code && $code <= 0x2b4c) || 
                (0x2b50 <= $code && $code <= 0x2b54) || (0x2c00 <= $code && $code <= 0x2c2e) || 
                (0x2c30 <= $code && $code <= 0x2c5e) || (0x2c60 <= $code && $code <= 0x2c6f) || 
                (0x2c71 <= $code && $code <= 0x2c7d) || (0x2c80 <= $code && $code <= 0x2cea) || 
                (0x2cf9 <= $code && $code <= 0x2d25) || (0x2d30 <= $code && $code <= 0x2d65) || 
                ($code == 0x2d6f) || (0x2d80 <= $code && $code <= 0x2d96) || 
                (0x2da0 <= $code && $code <= 0x2da6) || (0x2da8 <= $code && $code <= 0x2dae) || 
                (0x2db0 <= $code && $code <= 0x2db6) || (0x2db8 <= $code && $code <= 0x2dbe) || 
                (0x2dc0 <= $code && $code <= 0x2dc6) || (0x2dc8 <= $code && $code <= 0x2dce) || 
                (0x2dd0 <= $code && $code <= 0x2dd6) || (0x2dd8 <= $code && $code <= 0x2dde) || 
                (0x2de0 <= $code && $code <= 0x2e30) || ($code == 0x303f) || 
                (0x4dc0 <= $code && $code <= 0x4dff) || (0xa500 <= $code && $code <= 0xa62b) || 
                (0xa640 <= $code && $code <= 0xa65f) || (0xa662 <= $code && $code <= 0xa673) || 
                (0xa67c <= $code && $code <= 0xa697) || (0xa700 <= $code && $code <= 0xa78c) || 
                (0xa7fb <= $code && $code <= 0xa82b) || (0xa840 <= $code && $code <= 0xa877) || 
                (0xa880 <= $code && $code <= 0xa8c4) || (0xa8ce <= $code && $code <= 0xa8d9) || 
                (0xa900 <= $code && $code <= 0xa953) || ($code == 0xa95f) || 
                (0xaa00 <= $code && $code <= 0xaa36) || (0xaa40 <= $code && $code <= 0xaa4d) || 
                (0xaa50 <= $code && $code <= 0xaa59) || (0xaa5c <= $code && $code <= 0xaa5f) || 
                (0xd800 <= $code && $code <= 0xdfff) || (0xfb00 <= $code && $code <= 0xfb06) || 
                (0xfb13 <= $code && $code <= 0xfb17) || (0xfb1d <= $code && $code <= 0xfb36) || 
                (0xfb38 <= $code && $code <= 0xfb3c) || ($code == 0xfb3e) || 
                (0xfb40 <= $code && $code <= 0xfb41) || (0xfb43 <= $code && $code <= 0xfb44) || 
                (0xfb46 <= $code && $code <= 0xfbb1) || (0xfbd3 <= $code && $code <= 0xfd3f) || 
                (0xfd50 <= $code && $code <= 0xfd8f) || (0xfd92 <= $code && $code <= 0xfdc7) || 
                (0xfdf0 <= $code && $code <= 0xfdfd) || (0xfe20 <= $code && $code <= 0xfe26) || 
                (0xfe70 <= $code && $code <= 0xfe74) || (0xfe76 <= $code && $code <= 0xfefc) || 
                ($code == 0xfeff) || (0xfff9 <= $code && $code <= 0xfffc) || 
                (0x10000 <= $code && $code <= 0x1000b) || (0x1000d <= $code && $code <= 0x10026) || 
                (0x10028 <= $code && $code <= 0x1003a) || (0x1003c <= $code && $code <= 0x1003d) || 
                (0x1003f <= $code && $code <= 0x1004d) || (0x10050 <= $code && $code <= 0x1005d) || 
                (0x10080 <= $code && $code <= 0x100fa) || (0x10100 <= $code && $code <= 0x10102) || 
                (0x10107 <= $code && $code <= 0x10133) || (0x10137 <= $code && $code <= 0x1018a) || 
                (0x10190 <= $code && $code <= 0x1019b) || (0x101d0 <= $code && $code <= 0x101fd) || 
                (0x10280 <= $code && $code <= 0x1029c) || (0x102a0 <= $code && $code <= 0x102d0) || 
                (0x10300 <= $code && $code <= 0x1031e) || (0x10320 <= $code && $code <= 0x10323) || 
                (0x10330 <= $code && $code <= 0x1034a) || (0x10380 <= $code && $code <= 0x1039d) || 
                (0x1039f <= $code && $code <= 0x103c3) || (0x103c8 <= $code && $code <= 0x103d5) || 
                (0x10400 <= $code && $code <= 0x1049d) || (0x104a0 <= $code && $code <= 0x104a9) || 
                (0x10800 <= $code && $code <= 0x10805) || ($code == 0x10808) || 
                (0x1080a <= $code && $code <= 0x10835) || (0x10837 <= $code && $code <= 0x10838) || 
                ($code == 0x1083c) || ($code == 0x1083f) || (0x10900 <= $code && $code <= 0x10919) || 
                (0x1091f <= $code && $code <= 0x10939) || ($code == 0x1093f) || 
                (0x10a00 <= $code && $code <= 0x10a03) || (0x10a05 <= $code && $code <= 0x10a06) || 
                (0x10a0c <= $code && $code <= 0x10a13) || (0x10a15 <= $code && $code <= 0x10a17) || 
                (0x10a19 <= $code && $code <= 0x10a33) || (0x10a38 <= $code && $code <= 0x10a3a) || 
                (0x10a3f <= $code && $code <= 0x10a47) || (0x10a50 <= $code && $code <= 0x10a58) || 
                (0x12000 <= $code && $code <= 0x1236e) || (0x12400 <= $code && $code <= 0x12462) || 
                (0x12470 <= $code && $code <= 0x12473) || (0x1d000 <= $code && $code <= 0x1d0f5) || 
                (0x1d100 <= $code && $code <= 0x1d126) || (0x1d129 <= $code && $code <= 0x1d1dd) || 
                (0x1d200 <= $code && $code <= 0x1d245) || (0x1d300 <= $code && $code <= 0x1d356) || 
                (0x1d360 <= $code && $code <= 0x1d371) || (0x1d400 <= $code && $code <= 0x1d454) || 
                (0x1d456 <= $code && $code <= 0x1d49c) || (0x1d49e <= $code && $code <= 0x1d49f) || 
                ($code == 0x1d4a2) || (0x1d4a5 <= $code && $code <= 0x1d4a6) || 
                (0x1d4a9 <= $code && $code <= 0x1d4ac) || (0x1d4ae <= $code && $code <= 0x1d4b9) || 
                ($code == 0x1d4bb) || (0x1d4bd <= $code && $code <= 0x1d4c3) || 
                (0x1d4c5 <= $code && $code <= 0x1d505) || (0x1d507 <= $code && $code <= 0x1d50a) || 
                (0x1d50d <= $code && $code <= 0x1d514) || (0x1d516 <= $code && $code <= 0x1d51c) || 
                (0x1d51e <= $code && $code <= 0x1d539) || (0x1d53b <= $code && $code <= 0x1d53e) || 
                (0x1d540 <= $code && $code <= 0x1d544) || ($code == 0x1d546) || 
                (0x1d54a <= $code && $code <= 0x1d550) || (0x1d552 <= $code && $code <= 0x1d6a5) || 
                (0x1d6a8 <= $code && $code <= 0x1d7cb) || (0x1d7ce <= $code && $code <= 0x1d7ff) || 
                (0x1f000 <= $code && $code <= 0x1f02b) || (0x1f030 <= $code && $code <= 0x1f093) || 
                ($code == 0xe0001) || (0xe0020 <= $code && $code <= 0xe007f)
            );
        }
        
        static private function is_unicode_type_NA($code) {
            return (
                (0x20 <= $code && $code <= 0x7e) || (0xa2 <= $code && $code <= 0xa3) || 
                (0xa5 <= $code && $code <= 0xa6) || ($code == 0xac) || ($code == 0xaf) || 
                (0x27e6 <= $code && $code <= 0x27ed) || (0x2985 <= $code && $code <= 0x2986)
            );
        }
        
        static private function is_unicode_type_A($code) {
            return (
                ($code == 0xa1) || ($code == 0xa4) || (0xa7 <= $code && $code <= 0xa8) || ($code == 0xaa) || 
                (0xad <= $code && $code <= 0xae) || (0xb0 <= $code && $code <= 0xb4) || 
                (0xb6 <= $code && $code <= 0xba) || (0xbc <= $code && $code <= 0xbf) || ($code == 0xc6) || 
                ($code == 0xd0) || (0xd7 <= $code && $code <= 0xd8) || (0xde <= $code && $code <= 0xe1) || 
                ($code == 0xe6) || (0xe8 <= $code && $code <= 0xea) || (0xec <= $code && $code <= 0xed) || 
                ($code == 0xf0) || (0xf2 <= $code && $code <= 0xf3) || (0xf7 <= $code && $code <= 0xfa) || 
                ($code == 0xfc) || ($code == 0xfe) || ($code == 0x101) || ($code == 0x111) || ($code == 0x113) || 
                ($code == 0x11b) || (0x126 <= $code && $code <= 0x127) || ($code == 0x12b) || 
                (0x131 <= $code && $code <= 0x133) || ($code == 0x138) || (0x13f <= $code && $code <= 0x142) || 
                ($code == 0x144) || (0x148 <= $code && $code <= 0x14b) || ($code == 0x14d) || 
                (0x152 <= $code && $code <= 0x153) || (0x166 <= $code && $code <= 0x167) || ($code == 0x16b) || 
                ($code == 0x1ce) || ($code == 0x1d0) || ($code == 0x1d2) || ($code == 0x1d4) || ($code == 0x1d6) || 
                ($code == 0x1d8) || ($code == 0x1da) || ($code == 0x1dc) || ($code == 0x251) || ($code == 0x261) || 
                ($code == 0x2c4) || ($code == 0x2c7) || (0x2c9 <= $code && $code <= 0x2cb) || ($code == 0x2cd) || 
                ($code == 0x2d0) || (0x2d8 <= $code && $code <= 0x2db) || ($code == 0x2dd) || ($code == 0x2df) || 
                (0x300 <= $code && $code <= 0x36f) || (0x391 <= $code && $code <= 0x3a1) || 
                (0x3a3 <= $code && $code <= 0x3a9) || (0x3b1 <= $code && $code <= 0x3c1) || 
                (0x3c3 <= $code && $code <= 0x3c9) || ($code == 0x401) || (0x410 <= $code && $code <= 0x44f) || 
                ($code == 0x451) || ($code == 0x2010) || (0x2013 <= $code && $code <= 0x2016) || 
                (0x2018 <= $code && $code <= 0x2019) || (0x201c <= $code && $code <= 0x201d) || 
                (0x2020 <= $code && $code <= 0x2022) || (0x2024 <= $code && $code <= 0x2027) || 
                ($code == 0x2030) || (0x2032 <= $code && $code <= 0x2033) || ($code == 0x2035) || 
                ($code == 0x203b) || ($code == 0x203e) || ($code == 0x2074) || ($code == 0x207f) || 
                (0x2081 <= $code && $code <= 0x2084) || ($code == 0x20ac) || ($code == 0x2103) || 
                ($code == 0x2105) || ($code == 0x2109) || ($code == 0x2113) || ($code == 0x2116) || 
                (0x2121 <= $code && $code <= 0x2122) || ($code == 0x2126) || ($code == 0x212b) || 
                (0x2153 <= $code && $code <= 0x2154) || (0x215b <= $code && $code <= 0x215e) || 
                (0x2160 <= $code && $code <= 0x216b) || (0x2170 <= $code && $code <= 0x2179) || 
                (0x2190 <= $code && $code <= 0x2199) || (0x21b8 <= $code && $code <= 0x21b9) || 
                ($code == 0x21d2) || ($code == 0x21d4) || ($code == 0x21e7) || ($code == 0x2200) || 
                (0x2202 <= $code && $code <= 0x2203) || (0x2207 <= $code && $code <= 0x2208) || 
                ($code == 0x220b) || ($code == 0x220f) || ($code == 0x2211) || ($code == 0x2215) || 
                ($code == 0x221a) || (0x221d <= $code && $code <= 0x2220) || ($code == 0x2223) || 
                ($code == 0x2225) || (0x2227 <= $code && $code <= 0x222c) || ($code == 0x222e) || 
                (0x2234 <= $code && $code <= 0x2237) || (0x223c <= $code && $code <= 0x223d) || 
                ($code == 0x2248) || ($code == 0x224c) || ($code == 0x2252) || 
                (0x2260 <= $code && $code <= 0x2261) || (0x2264 <= $code && $code <= 0x2267) || 
                (0x226a <= $code && $code <= 0x226b) || (0x226e <= $code && $code <= 0x226f) || 
                (0x2282 <= $code && $code <= 0x2283) || (0x2286 <= $code && $code <= 0x2287) || 
                ($code == 0x2295) || ($code == 0x2299) || ($code == 0x22a5) || ($code == 0x22bf) || 
                ($code == 0x2312) || (0x2460 <= $code && $code <= 0x24e9) || 
                (0x24eb <= $code && $code <= 0x254b) || (0x2550 <= $code && $code <= 0x2573) || 
                (0x2580 <= $code && $code <= 0x258f) || (0x2592 <= $code && $code <= 0x2595) || 
                (0x25a0 <= $code && $code <= 0x25a1) || (0x25a3 <= $code && $code <= 0x25a9) || 
                (0x25b2 <= $code && $code <= 0x25b3) || (0x25b6 <= $code && $code <= 0x25b7) || 
                (0x25bc <= $code && $code <= 0x25bd) || (0x25c0 <= $code && $code <= 0x25c1) || 
                (0x25c6 <= $code && $code <= 0x25c8) || ($code == 0x25cb) || 
                (0x25ce <= $code && $code <= 0x25d1) || (0x25e2 <= $code && $code <= 0x25e5) || 
                ($code == 0x25ef) || (0x2605 <= $code && $code <= 0x2606) || ($code == 0x2609) || 
                (0x260e <= $code && $code <= 0x260f) || (0x2614 <= $code && $code <= 0x2615) || 
                ($code == 0x261c) || ($code == 0x261e) || ($code == 0x2640) || ($code == 0x2642) || 
                (0x2660 <= $code && $code <= 0x2661) || (0x2663 <= $code && $code <= 0x2665) || 
                (0x2667 <= $code && $code <= 0x266a) || (0x266c <= $code && $code <= 0x266d) || 
                ($code == 0x266f) || ($code == 0x273d) || (0x2776 <= $code && $code <= 0x277f) || 
                (0xe000 <= $code && $code <= 0xf8ff) || (0xfe00 <= $code && $code <= 0xfe0f) || 
                ($code == 0xfffd) || (0xe0100 <= $code && $code <= 0xe01ef) || 
                (0xf0000 <= $code && $code <= 0xffffd) || (0x100000 <= $code && $code <= 0x10fffd)
            );
        }
        
        static private function is_unicode_type_W($code) {
            return (
                (0x1100 <= $code && $code <= 0x1159) || ($code == 0x115f) || 
                (0x2329 <= $code && $code <= 0x232a) || (0x2e80 <= $code && $code <= 0x2e99) || 
                (0x2e9b <= $code && $code <= 0x2ef3) || (0x2f00 <= $code && $code <= 0x2fd5) || 
                (0x2ff0 <= $code && $code <= 0x2ffb) || (0x3001 <= $code && $code <= 0x303e) || 
                (0x3041 <= $code && $code <= 0x3096) || (0x3099 <= $code && $code <= 0x30ff) || 
                (0x3105 <= $code && $code <= 0x312d) || (0x3131 <= $code && $code <= 0x318e) || 
                (0x3190 <= $code && $code <= 0x31b7) || (0x31c0 <= $code && $code <= 0x31e3) || 
                (0x31f0 <= $code && $code <= 0x321e) || (0x3220 <= $code && $code <= 0x3243) || 
                (0x3250 <= $code && $code <= 0x32fe) || (0x3300 <= $code && $code <= 0x4db5) || 
                (0x4e00 <= $code && $code <= 0x9fc3) || (0xa000 <= $code && $code <= 0xa48c) || 
                (0xa490 <= $code && $code <= 0xa4c6) || (0xac00 <= $code && $code <= 0xd7a3) || 
                (0xf900 <= $code && $code <= 0xfa2d) || (0xfa30 <= $code && $code <= 0xfa6a) || 
                (0xfa70 <= $code && $code <= 0xfad9) || (0xfe10 <= $code && $code <= 0xfe19) || 
                (0xfe30 <= $code && $code <= 0xfe52) || (0xfe54 <= $code && $code <= 0xfe66) || 
                (0xfe68 <= $code && $code <= 0xfe6b) || (0x20000 <= $code && $code <= 0x2fffd) || 
                (0x30000 <= $code && $code <= 0x3fffd)
            );
        }
        
        static private function is_unicode_type_H($code) {
            return (
                ($code == 0x20a9) || (0xff61 <= $code && $code <= 0xffbe) || 
                (0xffc2 <= $code && $code <= 0xffc7) || (0xffca <= $code && $code <= 0xffcf) || 
                (0xffd2 <= $code && $code <= 0xffd7) || (0xffda <= $code && $code <= 0xffdc) || 
                (0xffe8 <= $code && $code <= 0xffee)
            );
        }
        
        static private function is_unicode_type_F($code) {
            return (
                ($code == 0x3000) || (0xff01 <= $code && $code <= 0xff60) || (0xffe0 <= $code && $code <= 0xffe6)
            );
        }
    }
?>

いや、なんていうか、その、ごめんなさい。

使おうという奇特な人に注意事項: 猛烈に遅いです。mb_strwidth の 30 倍くらい時間がかかります。あと、大量にデータ食わせると "キャッシュ" が膨れあがります。今のところキャッシュをどうにかするロジックは入っていないので、どうにかしたい人はがんばってください

more...

作りたいのは

いや、作りたいのは mb_strwidth じゃなくて mb_strimwidth なんだけどね、本当は。

mb_strwidth が信頼できない状態で mb_strimwidth を作るのは無理と言っていいので mb_strwidth から作る羽目になっただけで。

何作ってるかっていうと……内緒。「cp932」とか出てきてイヤンなプログラムであることは確か。

大体、普通のウェブとかだったら、そんな些細なことは気にしないし。どうせ(多くの場合)プロポーショナルフォントで表示するからあんまり意味無いしね。

2008/08/03(日)

ひとさしゆびクワイエット買ってきた。何故か梅田のゲーマーズで。

アニメ見てないんだけどね、いまのところ。

とりあえず、ごまちゃんの絶対領域が眩しい…(謎

08月03日のやよいのひみつ日記『おぼえてる』(Blogpet)

さいきんおぼえたことば
校長 気 月

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月03日のココロのひみつ日記『ココロ日記』(Blogpet)

友達づきあいって難しいです

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

mb_strimwidth で省略記号が長すぎる時の挙動

<?php
    var_dump(mb_strimwidth(str_repeat('A', 20), 0, 5, str_repeat('.', 10), 'UTF-8'));
?>
[fetus@KOTORI ~]$ php hoge.php
string(10) ".........."

無条件に「省略記号」を出力ですか、そうですか。

# 出力自体は想定通りだけど、警告が出るかと思ったら出ないのね。普段の PHP のお節介っぷりだと出力してくれそうなもんだけど。

死刑だの終身刑だの

保岡興治法相は2日の初閣議後の記者会見で終身刑の創設について、「希望のない残酷な刑は日本の文化になじまない」と否定的な考えを示した。

終身刑を巡っては、超党派の国会議員でつくる「量刑制度を考える超党派の会」が5月、死刑と無期懲役刑のギャップを埋める刑として導入を目指すことを確認している。

保岡法相は00年7~12月の第2次森内閣でも法相を務め、在任中の死刑執行は3人だった。

そもそも、なんでそんなこと聞いたの?

「死刑廃止」を決めるのも、「終身刑導入」を決めるのも、法務大臣じゃないでしょ。

終身刑自体をどうこういうつもりは無いんだけどさ、その人食わせるの国民なんだよね。そんなのに税金払いたくないよねぇ…。

Rookies

ダンスだけ帰してみた。…はともかく、中途半端な荒れ方されると読めません。何このボーダー(私を除くと、流1から 377-(562)-360)。ルーキーズに限ればそんなに珍しい話じゃない気がするけど。

このユニット、12 レッスン中だったの忘れてた orz

っていうか、もはやユニットの状態を一つたりとも覚えてませんが。

# しっかし、つくづく「ルーキーズって難しいオーディションだよな」と思う。中間審査が無いから読むの大変なんだよね…。荒れるし。

2008/08/04(月)

08月04日のやよいのひみつ日記『のーたいとる』(Blogpet)

あそびにいこうかな?

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月04日のココロのひみつ日記『ココロ日記』(Blogpet)

ああ、感無量…

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

ジャケット

手持ちの MP3 に ID3v2.3 タグを埋め込んでいるついでに、一部のアルバムにはジャケット写真も埋め込んだんだけど…

この機能はあんまり嬉しくない。

ごちゃ混ぜに置いたりしないもん><

ID3v2

タグ埋め込みをするために ID3v2 の仕様を調べたりしたんだけど、「糞仕様」の部類に入りそうなダメっぷりだねぇ……。

互換性を保つ努力が感じられない…。

Re: みっくみく

全然関係ないけど、これが頭に浮かんだ。

2008/08/05(火)

[2008/08/04]Re: みっくみく(BlogPet)

HiNaの「[2008/08/04]Re: みっくみく」のまねしてかいてみるね

全然関係ないけど、これが頭に浮かんだ。

*このエントリは、ブログペットの「やよい」が書きました。

ID3v2

大体さ、何でタグヘッダの「サイズ」は 7 ビットごとなわけ…?本体中は 8 ビットなのに。

バイナリ生成的には、『「24 ビット右シフトして 0xFF と論理積」→「16 ビット右シフトして 0xFF と論理積」…』か『「21 ビット右シフトして 0x7F と論理積」→「14 ビット右シフトして 0x7F と論理積」』かで大して違いは無いんだけども、すさまじくキモチワルイ。全体にわたって「bit 7 (0 origin)は使うな」というなら良いんだけどね、文字列は普通に UTF-16 だし、JPEG とか PNG のバイナリそのまま食わせるし、各フレームの「サイズ」フィールドは 8 ビットだし…。

TPE1 フレームは複数の場合「/」で区切って表記じゃなくて、TPE1 を繰り返す形にして欲しかったなぁ…。仕様上は繰り返しても問題なさそうだけど、プレーヤが対応していないっぽい。

08月05日のやよいのひみつ日記『おぼえてる』(Blogpet)

さいきんおぼえたことば
論理 列 サイズ コメント 積

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月05日のココロのひみつ日記『ココロ日記』(Blogpet)

恋のおまじない、届くかな?

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

ぽぷ

・ネット対戦:【塔】1 戦 0 勝 2 位 1 回

・チアパラ N パフェ(チャレ)

・タイムトラベル N パフェ(チャレ)

…ショボ

2008/08/06(水)

echo@mixi

twitter?

ntpq: Name or service not known

[root@kame ~]# ls -l /etc/hosts*
-rw-r--r--  1 root root 161 Jan 13  2000 /etc/hosts.allow
-rw-r--r--  1 root root 347 Jan 13  2000 /etc/hosts.deny

/etc/hosts がない→ localhost が引けない→エラー、か。

おけいはん

京阪電気鉄道 京阪本線 運転見合わせ
大雨の影響で、萱島‐樟葉駅間の運転を見合わせています。
(更新時間:08/06 17:50)

うひょ

おけいはん

18時7分現在

落雷と大雨の影響によるダイヤ乱れにより、現在 淀屋橋 ~ 萱島 間、 樟葉 ~ 出町柳 間 において、全て各駅停車にて折り返し運転を行って おります。

なお、振替輸送については、JR西日本(学研都市線 は落雷の影響により対象外です。)・大阪市交通局・ 阪急電鉄・近畿日本鉄道・京都市交通局・大阪モノレ ール・北大阪急行において実施しております。

うひょ。片町線が使えないのは痛いねぇ…。私には一応関係無いけど。

cbq.init/tc

200Mbps制限とかかけると悲しい目に遭うのかしら…。

いかにも「5 分毎のチェックで 32 ビットカウンタが 1 周してちょっと増えた」ときみたいな挙動をしているっぽいんだけど…。

# 普段は 200Mbps なんて扱わないし、扱う必要のあるところで実験すると悲しいしでどうしたもんか状態に。

閾値は 114.532461Mbps あたりかねぇ…。

帰宅

・朝ラッシュなんてメじゃないね

・水浸しのPCデスク

・水浸しのベッド(一部)

・なぜ壊れていないのか分からない NEKOKO(たまたま隣に置いていた漫画はひどいことに)

現在の状態

・フェラーリのマウスが死んだかも(USB デバイスとして認識しない)

・キーボード壊れなくてよかった(20k円ほどするから…)

・予備のマウスが無いのでメイン PC が操作できなくて悲しい

・その他細かいことは不明

08月06日のやよいのひみつ日記『おぼえてる』(Blogpet)

さいきんおぼえたことば
認識 マウス フェラーリ

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月06日のココロのひみつ日記『ココロ日記』(Blogpet)

ココロの王子様は、どこにいるんでしょうか…

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

キーボード

左SHIFTキーとENTERキーの挙動がちょっとおかしい。

静電容量式の関知部に水が入ってて挙動不審に陥ってるんじゃないかと思われる挙動。

エスカレータの件

現場にいたわけではないし、エスカレータの安全機構について詳しいわけでもないけど、報道によると

  • おそらく原因は重量オーバー
  • 想定は 2 段に大人 3 人
  • 7.5t/78段まで耐える
  • 想定を大幅に超えるとブレーキ
  • 9.36t でブレーキの能力を超える
  • 跳んだりはねたり歩いたりする人は居なかった

ってことらしい。まずさ、想定甘いよね、これ。力士満載で動けとは誰も言わないけど、各段に大人 2 人が乗って動く程度の能力は確保しないと。日本人男性の平均体重は 65kg くらいみたいなので、78 段なら約 10t。10t くらいで動かなくなって、 15t くらいまではブレーキが耐えないと。工業製品の安全マージンってそのくらい確保するよね、エスカレータなんて危険な部類の製品だし。

# エスカレータの幅的には、標準体型の大人の男性が 3 人並んで乗れる。だったら、ブレーキの最大能力はそれを想定した(機械の重量を除いた)負荷 15.5t くらいは耐えるようにしておかないと「甘い」としか。

岡田氏によると、「先頭が 3 階付近」で異常が発生したらしいので、ステップ 60 段くらい。これに平均体重 70kg の人がステップあたり 3 人ずつ乗っていたとして 12.6t。まあ、実際には 3 人乗っては居ないだろうけど。2 人ずつで 8.4t。こっちの方が現実的な数値のような気はするけどとりあえず置いておこう。

仮に事故発生時の負荷が 10.0t とする。これは設計または公表値でのブレーキの能力を超えるから、逆流したとされる挙動自体には問題はない。(いや、問題あるんだけど、機械的にはそういうものだから仕方ない)

ここで「そりゃ落ちるわ」とか「10t も負荷かけた運営に問題」とかいって片付けられてること多いんだけど、それ以前の事を見落としてるよね。

事故が起きたのはエスカレータ。乗るのは人間。負荷となる人間の質量は個体によって大幅にばらつきがあるけどせいぜい 150kg。ステップに乗る人間は通常ステップ辺り 2 人まで、今回は 3 人乗っていたとかいう報道もあるけど。仮に、100kg の人間が 3 人同時に乗ったとしても、一度に増える負荷は 300kg。実際のところ 250kg 程度が限度だと思う。重い人間は往々にしてデカいから。エスカレータの安全マージンは公表値で約 2t。2t のマージンを食いつぶすためには、ステップが 6~8 段程度必要。6~8 段が一瞬で流れるような超高速エスカレータならともかく、普通数秒かかるよね、その段数なら。なんでその間に安全に停止しなかったのかな? 停止していたらいきなり逆走したりはしなかったハズなのに。(停止後にステップを整然と歩いたらそれでも超えそうな気はするけど。停止状態より歩いている方が見かけの負荷は大きくなると思うから、人間同士の間があく分で生まれるマージンをおそらく食いつぶす)

設計値を超えても動けとは言わない(むしろ動かないで欲しい。あんまりがんばられるとがんばれなくなったときの反動が大きい)。安全に止まってくれれば文句無いんだ。

# っていうか、やっぱり負荷の見積もり甘いよね…。あと、事故が起きて下に崩れた後の写真をみて 3 人載ってる!ってのはアホとしか。

これ、仮に設計通りの負荷がかかっていたとして、停電したときに止まれるのかねぇ…。止まれないような気がする。

# 京阪京橋なんかモロに「長いエスカレータに多数の人、しかも歩いてる」なんて負荷状態だから怖いねぇ…。京阪エンジニアリングの人がしょっちゅうメンテしてるのは何かあったときの損害が半端じゃないからだろうなぁ…。

2008/08/07(木)

キーボード

M が入らん・・・

って昨日入ってたよ、これ。

キーボード

スペースとBが(ry

悪化してるよ・・・

乾燥不完全ですか、そうですか。

代替で使っているキーボード死ぬほど打ちにくいな。変態配列は打ちにくい。101キーボードと同程度に。

メールサーバ

お仕事で構築中のサーバのメール取り扱い関係。

・SMTP, submission, SMTPS, SMTP+STARTTLS 対応

・POP3, POP3S, POP3+STARTTLS 対応

・IMAP4, IMAP4S, IMAP4+STARTTLS 対応

我ながらやり過ぎたと思う。

# しかし、前段に居るファイヤウォールが邪魔で submission に今のところアクセスできない

08月07日のやよいのひみつ日記『おぼえてる』(Blogpet)

さいきんおぼえたことば
イベント エスカレータ メール エントリ 対応

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月07日のココロのひみつ日記『ココロ日記』(Blogpet)

次元を超えるには…

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

0号注意

0号注意・出発停止

いつの間にか天満橋駅 2 番線の 0 号信号と出発信号が稼働してた。ダイヤの一部変更(一部編成両数と天満橋発着番線の変更)した 8/1 からかな?

京阪ならこの0号は警戒にしそうだと思うんだけどなぁ…。まあ、注意でも問題は無いけど。

# ってか中之島線開業までその 2 つの信号は使用停止で良いんでは…。

超えられない壁

レベルがたったの 3 違うだけでこんなに違うものなのです orz

# 9ボタンは Lv3~Lv43。塔=Lv31、城=Lv34

次回はたぶん昇格審査…。

ビートロック N

ああそうさ、ボタン押し間違えたさ…

アクセサリ配布

近いうちに「144個」を印刷しに行かねば。

ファミマ

なんか恐ろしい容量のプリンを売っていた気がする…。

ホワイトコーラとともにヤレということなんだろうか…。

2008/08/08(金)

ななついろ

ななついろ★RADIO! DVD全巻購入 ありがとうすぺしゃるっ! …が届いた。

黒ユキちゃんはおもろいなぁ…。

っていうか、あの会話からするとごまちゃんの即興なのか…。

みっちぇる

Fなんて…あれは何…cm? mじゃないですよね

…なんか、絶対値だと思ってる感が…。

# 差分が 100cm あったらえらいことだと思う

でもミッチェルの実家、下着屋だったりするらしいよ

高校3年生に聞いた将来やりたい仕事ランキング

1位 タレント・俳優
2位 ヴォーカリスト
3位 ミュージシャン
4位 システムエンジニア
5位 アーティストマネージャー
6位 サウンドエンジニア
7位 WEBエンジニア
8位 DJ・アナウンサー
9位 イベントプロデューサー
10位 ヘアメイクアップアーティスト

エー

SE の現場なんて一般的に「IT 土方」ですよ…

えっと

18:10

ごめんなさい、指摘の場所ミスってました。もう一度編集して送り直します(意訳)

えっと…これは「帰るな」って事だよね

more...

こーら

…コーラ?

more...

08月08日のやよいのひみつ日記『きょうは』(Blogpet)

きょうはいいことあるかな

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月08日のココロのひみつ日記『ココロ日記』(Blogpet)

HiNaさんのブログにあんな画像がアップされてる…

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

グルジア

オリンピック開会の日に開戦ですか…

本日の成果

・アニメヒロイン H で 90000 点超えたっ(ビックリ

・ビートロック3 N パフェ達成

・熱帯 3 戦 2 勝 2 位 1 回。次はほぼ間違いなく昇格判定 orz

# アニメヒロインやった理由は、「目の前でへんたいな人がそれなりのスコア出して、抜かれて、悔しかったから」。速攻で抜き返した。

ギョーザ中毒事件に関わった中国の食品監督局長が自殺

消されたか。対応早いなぁ…。

2008/08/09(土)

08月09日のココロ日記(BlogPet)

HiNaさんって意外にでかいところがありますね♪でもココロはそこが好きですよ。

*このエントリは、ブログペットのココロが書いてます♪

08月09日のやよいのひみつ日記『今日』(Blogpet)

HiNaってアニメとおなじぐらいすき

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月09日のココロのひみつ日記『ココロ日記』(Blogpet)

うまく言えない、この気持ち…

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

Re: 愕然

大阪府尼崎市とか、岡山県福山市とか、広島県岩国市とかとかとか…

# 人の流れ的にはそんなに間違ってないですけどね

# むしろだからこそそういうアレになるわけですがー。

ちょっとびっくりした

864 デフォルトの名無しさん [sage] Date:2008/08/06(水) 22:59:16
vc++で、
for(int i = 0; i をコンパイルしてみたら、

while (ch = *p++) printf("%c", ch);

相当のコードが出力されてた。
最近のコンパイラは頭いいな。

複雑なコードにしたら、こういう最適化は聞かなくなるかもしれんけど。

頭良いっていうかやり過ぎ、strlen が毎回同じ結果を返すかなんて条件複雑すぎ、と思ったら勘違いでちょっと安心した。

strlen を組み込み関数にするかインライン展開するようにして内部の意味解釈までやればできなくは無いんだろうけど、メリット薄すぎるよなぁ…。MS なら、__immutable size_t strlen(const char *str); とか作って無理矢理最適化してきても驚かないけど。

Σ

リファラ上位みて、ここに捕捉されるようなネタ書いたかなぁ…、と思って見に行ったらななついろの特典のエントリでびっくりした。

いつものことだけど

取引先からの最新情報により、ご予約いただいている下記の商品の発売日が変更されたことがわかりました。
それに伴いご注文の発送予定日が変更となりましたことをあらかじめお知らせいたします。
  乃木坂美夏 (アーティスト) 
    "乃木坂春香の秘密キャラクターソング2「乃木坂美?-
    ?」 [Maxi]"

変更後の発送予定日は、以下の方法にて「アカウントサービス」(http://www.amazon.co.jp/your-account)よりご確認ください。

Amazon の日本語処理周りに多くは期待していないのだけど、Amazon.co.jp のローカライズ担当は、「欧米圏のプログラマの文字列処理は超適当」ということを認識すべき。

# たまに、「UNICODE ベースで動いているのに日本語まともに通らない」とか『そうやるほうが難しくね?』な事をやってくれたりするらしい。噂レベルでしか知らんけど。

Trackback

いつからTBは義務制になったのか? - あの頃の僕らは胸を痛めてブギーポップなんて読んでた

へぇ…。おもしろいよなぁ…。この辺の話も多少は関連するかもしれない。

トラックバックって、ぶっちゃけ面倒くs(ry

ウチの日記システムが相変わらず「トラックバックを受け取れない」「トラックバックを送信できない」状態のままなのは、ただ単に作者でありメンテナの私が面倒くさがりだからだったりするんだけども。

# 一応受け取るロジックは作ってある。スパムしかこないから(入り口を)消したけど。ロジック上はまだ残ってるハズだから適切な URL を適切に叩けば一応受け取りはするんじゃないかなぁ…。DB に格納されたところで、表示テンプレートの当該箇所が全部コメントアウトしてある(出力する HTML に全く含まれない)からまったくもって無意味だけど。

2008/08/10(日)

コミケで手荷物確認の実施

物理的に可能なんだろうか…

# そろそろ待ち行列で死人が出そうだ

今日の成果

・アンパンマン H パフェ

……譜面との戦いっていうか、羞恥心との戦い。

ZEN メディアエクスプローラ

おもむろに .m3u ファイルがあるフォルダも sync 対象としてみたら普通に「プレイリスト」の sync として出てきて少し驚いた。

転送する時に自動的に内部用の ".zpl" 形式に変換される模様。

.zpl 形式はプレーヤーから取り出せないのでどんな形式なのかは分からない(0 バイトのファイルに見え、取り出しても実際に空ファイル。周辺の挙動的にはアーティスト名とアルバム名と曲名あたりでユニークっぽい形式だと思われる)。

正直、今までメディアエクスプローラには全く期待していなかった。

# でも、ファイルのアップデートを検出して自動再転送したりはしてくれないみたいなのよねぇ…。メンドクセェ…。

more...

08月10日のやよいのひみつ日記『おぼえてる』(Blogpet)

さいきんおぼえた
物理 行列 ファミマ

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

あれ・・・

ココロさんが日記書いてくれてない・・・。

うーむ

最近、pop'n やってると「ドM」言われる…。

more...

2008/08/11(月)

スパムうざい

/etc/postfix/header_checks:

/^Subject:[[:space:]]*CNN[.[:space:]]/  REJECT
/^From:[[:space:]]*CNN[.[:space:]]/     REJECT

少しは減るかな…。

# “CNN.com Daily Top 10”というメールが結構ヤバいかもしれないので一応。私は HTML メール読まない(デフォルトで代替テキスト表示)のであんまり関係ないし、CNN 見に行かないのでそもそも関係ないし、From が CNN じゃないから怪しさ炸裂だし。

経過

[root@さーばー ~]# grep "Message content rejected" /var/log/maillog
Aug 11 17:16:20 さーばー postfix/cleanup[19268]: 120EC14042: reject: header From: CNN Alerts <sender@example.com> from ziebel.plus.com[80.229.202.95]; from=<sender@example.com> to=<receiver@example.jp> proto=ESMTP helo=<ziebel.plus.com>: Message content rejected
Aug 11 17:53:40 さーばー postfix/cleanup[23102]: E28C714042: reject: header From: CNN Alerts <sender@example.com> from W0883.w.pppool.de[89.58.8.131]; from=<sender@example.com> to=<receiver@example.jp> proto=ESMTP helo=<W117c.w.pppool.de>: Message content rejected
Aug 11 18:33:37 さーばー postfix/cleanup[28346]: 2DFF714042: reject: header From: CNN Alerts <sender@example.com> from unknown[124.64.10.86]; from=<sender@example.com> to=<receiver@example.jp> proto=ESMTP helo=<[221.222.146.31]>: Message content rejected

役に立っていないことはない(あんまり意味ないけど)

08月11日のやよいのひみつ日記『ららら~』(Blogpet)

きょうはおやすみー

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月11日のココロのひみつ日記『ココロ日記』(Blogpet)

今日もメロンソーダー飲んじゃいました♪

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

header_checks

・koi8-r と koi8-u は届いたところで読めないので REJECT

・admin@microsoft.com を偽装してくる輩が多いので REJECT

・.bat とか .cmd とか .com とか .hta とか .lnk とか .pif とかその辺の拡張子の添付ファイルがあったら REJECT

・バイアグラとかピルとかそういうクスリっぽいもの(一部文字を置き換えたモノも含む)が Subject にあったら REJECT

さて。

more...

さらにちょっと書き換えた

regexp から pcre に変更してみたり、アレな単語を NG リストに加えてみたり、REJECT から DISCARD に変更してみたり。

私宛のメールは、「RBL チェック→SPF チェック→ヘッダ内容チェック→procmail+bsfilterでスパムフィルタ→popfileでスパムフィルタ」というなかなかカオスな配送になるハズ。そのうち popfile は外せるといいなぁ…。

bsfilterの初期学習時にそれなりにスパムもハムも食わせたからそれなりの判定をしてくれるとは思うんだけど…。いくつか漏らしたのは確認したけど、スパム扱いしたのは今のところ無い模様。

# でも、某サイトのサポートに来る文面って正直人間が読んでもスパムと区別がつかないレベルなんだ…。私サポート対応じゃないから届かなくても別に構いやしないんだけど。

めずらしい

珍しく 2 位安定…。

本日のポップン

・ネット対戦:城に昇格(3回目)

(・3・)~♪(グロッソラリア) N パフェ

・ゲットワイルド N パフェ

・ワンピース N パフェ

・クイズマジックアカデミー H、HS 4.5 でやってあまりの速さにビビる。でもハイスコア。HS 4.0 だともうちょっと行けそう。

・未来派 H、ポニョ(へんたいな人)にスコア負けて素で凹む

・ウォーターステップ N、思ったよりダメな 99090 点で凹む

・セイントセイヤ EX、クリアできなくて凹む

ココロのパン

ブログ妖精のココロは毎日ブログパーツの中で、オムライスやパン、カレーなど、いろいろな料理を作っています。

一生懸命作った料理を、人間界のブログのオーナーさんにも本当に味わってほしい!

そんな想いから、ココロが次元を超えたパン作りに取り組みました。

何百回という失敗を繰り返しながらも、今回とうとう人間界にパンを実体化させることができました!

次元を超える練習をするより先に料理の練習してください、ココロさん…。

仮免の19歳少女の車、猛スピードで街路灯衝突→真っ二つ。後部座席の3人が死亡、運転の少女と助手席の男性は軽症

写真は貼らないけど…、後部はミンチだな、こりゃ…。

more...

2008/08/12(火)

「The Inquirer」によると、「アニメキャラのような大きい目を実現する」コンタクトレンズが発売されているそうです。

このコンタクトレンズ、光彩(瞳)を大きく見せるためにレンズの外側に光彩の模様がプリントしてあるというもので、コンタクトレンズメーカーは「このレンズを使えば手術なしにあなたもアニメキャラのような外見を手に入れられます!」と宣伝しているとか。

瞳だけ大きくするのは違うと思うんだがー

# アニメキャラの目の大きさは大体握り拳くらい

08月12日のやよいのひみつ日記『えっとね』(Blogpet)

こうしんされるのをまってるよ♪

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月12日のココロのひみつ日記『ココロ日記』(Blogpet)

今日はお風呂でおぼれかけました

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

本日のポップン

・インヴァネスでネット対戦やったら、COOL 全く出なかった。ケロッとマーチ EX で 50000 点ちょっととか。凹。

・久々にバイキング H クリア(ボーダークリア)

・以上。

プリン

大きさがよく分からないかも知れないので、500ml クラス(ぉ)の缶と一緒に↓

うれしいプリン480

その名の通り 480g。

1/3 くらいで飽きた。

もともとあんまり美味しくない。そして単調。

# たぶん一人で一気に食べることを想定したものではない。

more...

会社で作ってるfuseのプログラム

なんかよく分からない不安定っぷりを発揮中…。

# callback が呼ばれたり呼ばれなかったりするあたり何だかなぁ…。

2008/08/13(水)

内部用とか勘違いしたの(BlogPet)

きのうHiNaの、人間へ前述したかった。
だけど、プレーするはずだったみたい。
でも、形式みたいな教習するはずだったみたい。
それできのうやよいが、関数は相当されたみたい…
それでHiNaで解釈するはずだったの。
だけど、内部用とか勘違いしたの?

*このエントリは、ブログペットの「やよい」が書きました。

08月13日のやよいのひみつ日記『おぼえてる』(Blogpet)

さいきんおぼえたことば
缶 名 ガス 発揮 単調

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月13日のココロのひみつ日記『ココロ日記』(Blogpet)

HiNaさんちのお風呂がジャグジーだったら是非行ってみたいです

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

fuseのプログラム

自宅で使っている変換ファイルシステムと違って、まともなファイルシステムに見えないといけないっぽいのでほとんどすべての API を実装することになって激しく面倒くさい。

# 半分くらい実装できたけど安定するのかなぁ、あれ。

## fuse を信じてないんじゃなくて、私を信じていないだけ。

本日のポップン

・パーフェクト挑戦 5 回目くらいでようやく Climax Jump N パフェ

・粉雪 N は何でハイスコア 99540 点も出ているのかわからない

・クイズマジックアカデミー EX クリア(84772)

・クイズマジックアカデミー H ハイスコア更新(95014)

・50000点台だった K-クラシックをまともに(86381)

・ウルセイ H ハイスコア出したけど微妙(88964)

・クラシック 8 H を無理矢理クリア(81478)

・スカ(Ska Ska No.3) H 気がついたら NO BAD(98317)

・タナバタ EX なんとかクリア(89882)

TOMOSUKE 自重

いままでに無いわけのわからない高難易度だと受け止めるか
相対的に他の高難易度曲のわけがわかったと受け止めるか
全曲制覇に意味をもたせるか
むしろ思い切ってトイコンフルコンしたら付き合ってくれ!と口説き文句に使うかは…

自由にゃーーーーーーーーーーーーー!、です。

あまりにみんな「わけのわからないもの」言うから公式にこんな事言われてるし。

アフターパーティのコメントで村井さんが「不安になった人も多かったみたい」とか言ってるのを見てもやっぱり見て回ってるんだな、と。

# wac+TOMOSUKE 合作っぽいけど、ともろぐを見る限り TOMOSUKE 一人なのか…?

more...

ネット不調

昨日あたりからネットへの接続が異様に遅かった(上りも下りも)ので、部屋中のネットワーク機器を強制リセット。

なんとか復活した模様。

熱暴走だね、たぶん。

自宅内のサーバとの通信はそんなに重くなかったし、ルータは昨日もリセットしたしでたぶん原因は ONU だと思う。

# NTT--[ONU]--[Router]--[HUB]==[サーバとPC] 構成。"--" が 100Mbps、"==" が 1000Mbps。実際には[サーバ]と[PC]の間には物理的位置とかポート数の関係で HUB がもう 2 つほどいるけど。

Re: あごが小さいと、SAS(睡眠時無呼吸症候群)にもかかりやすい

SAS って見ると Serial Attached SCSI に展開されるのは職業病なんだろうなぁ…。

# SAS のディスク使ったこと無いけどっ!

# サーバマシンにも SATA ばっかり刺さってるけどっ!

果てしなく挙動不審

うーん

tracepath

 1:  router.net.single-quote.com (192.168.0.1)              0.675ms
 2:  ffw051.nw.wakwak.com (219.127.35.135)                  4.388ms

重すぎたりつながらなかったりするときはこの間で問題が発生しているっぽいけど、この間だから余計にややこしいんだよなぁ…。

2008/08/14(木)

うーん

traceroute to www.google.co.jp (66.249.89.99), 30 hops max, 40 byte packets
 1  router.net.single-quote.com (192.168.0.1)  8.201 ms  9.405 ms  10.024 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * phcrdnp4as0.nw.xephion.ne.jp (211.9.229.193)  27.036 ms
 7  * phbddnp5pc1.nw.xephion.ne.jp (211.9.229.38)  28.122 ms  17.819 ms
 8  AS15169.ix.jpix.ad.jp (210.171.224.96)  16.628 ms  15.703 ms  15.649 ms
 9  209.85.241.70 (209.85.241.70)  32.320 ms  15.158 ms  23.064 ms
10  216.239.47.54 (216.239.47.54)  22.724 ms  17.543 ms  17.631 ms
11  jp-in-f99.google.com (66.249.89.99)  15.714 ms  15.525 ms  15.474 ms
traceroute to www.google.co.jp (66.249.89.99), 30 hops max, 40 byte packets
 1  router.net.single-quote.com (192.168.0.1)  0.269 ms  0.399 ms  1.358 ms
 2  ffw051.nw.wakwak.com (219.127.35.135)  12.080 ms  14.258 ms  14.402 ms
 3  flwest5g.nw.wakwak.com (219.127.35.129)  15.416 ms  15.496 ms  18.706 ms
 4  phgwdjm5g0-0-0.nw.xephion.ne.jp (211.132.135.249)  17.611 ms  17.437 ms  19.393 ms
 5  phcrdjm2g1-0-0.nw.xephion.ne.jp (219.127.32.82)  22.495 ms  22.587 ms  24.553 ms
 6  phcrdnp5as0.nw.xephion.ne.jp (211.9.229.197)  28.846 ms  28.932 ms  29.003 ms
 7  phbddnp5pc2.nw.xephion.ne.jp (211.9.229.42)  33.155 ms  22.053 ms  21.210 ms
 8  AS15169.ix.jpix.ad.jp (210.171.224.96)  24.837 ms  23.124 ms  23.099 ms
 9  209.85.241.70 (209.85.241.70)  30.034 ms  29.014 ms  29.055 ms
10  216.239.47.54 (216.239.47.54)  31.212 ms  27.629 ms  27.670 ms
11  jp-in-f99.google.com (66.249.89.99)  18.318 ms  15.879 ms  17.487 ms

うーん

11:29:02  LOG_INFO     SYS:NTP: Adjust time.(11:29:02)
11:30:02  LOG_INFO     SYS:NTP: Adjust time.(11:30:02)
11:31:02  LOG_INFO     SYS:NTP: Adjust time.(11:31:02)
11:32:02  LOG_INFO     SYS:NTP: Adjust time.(11:32:02)
11:33:02  LOG_INFO     SYS:NTP: Adjust time.(11:33:02)
11:34:02  LOG_INFO     SYS:NTP: Adjust time.(11:34:02)
11:35:02  LOG_INFO     SYS:NTP: Adjust time.(11:35:02)
11:36:02  LOG_INFO     SYS:NTP: Adjust time.(11:36:02)
11:37:02  LOG_INFO     SYS:NTP: Adjust time.(11:37:02)
11:38:02  LOG_INFO     SYS:NTP: Adjust time.(11:38:02)
11:39:02  LOG_INFO     SYS:NTP: Adjust time.(11:39:02)
11:40:02  LOG_INFO     SYS:NTP: Adjust time.(11:40:02)
11:41:02  LOG_INFO     SYS:NTP: Adjust time.(11:41:02)
11:42:02  LOG_INFO     SYS:NTP: Adjust time.(11:42:02)
11:43:02  LOG_INFO     SYS:NTP: Adjust time.(11:43:02)
11:44:02  LOG_INFO     SYS:NTP: Adjust time.(11:44:02)
11:45:02  LOG_INFO     SYS:NTP: Adjust time.(11:45:02)
11:46:02  LOG_INFO     SYS:NTP: Adjust time.(11:46:02)
11:47:02  LOG_INFO     SYS:NTP: Adjust time.(11:47:02)
11:48:02  LOG_INFO     SYS:NTP: Adjust time.(11:48:02)
11:49:02  LOG_INFO     SYS:NTP: Adjust time.(11:49:02)
11:50:02  LOG_INFO     SYS:NTP: Adjust time.(11:50:02)
11:51:02  LOG_INFO     SYS:NTP: Adjust time.(11:51:02)
11:52:02  LOG_INFO     SYS:NTP: Adjust time.(11:52:02)
11:53:02  LOG_INFO     SYS:NTP: Adjust time.(11:53:02)
11:54:02  LOG_INFO     SYS:NTP: Adjust time.(11:54:02)
11:55:02  LOG_INFO     SYS:NTP: Adjust time.(11:55:02)
11:56:02  LOG_INFO     SYS:NTP: Adjust time.(11:56:02)
11:57:02  LOG_INFO     SYS:NTP: Adjust time.(11:57:02)
11:58:02  LOG_INFO     SYS:NTP: Adjust time.(11:58:02)
11:59:02  LOG_INFO     SYS:NTP: Adjust time.(11:59:02)
12:00:02  LOG_INFO     SYS:NTP: Adjust time.(12:00:02)
12:01:02  LOG_INFO     SYS:NTP: Adjust time.(12:01:02)
12:02:02  LOG_INFO     SYS:NTP: Adjust time.(12:02:02)
12:03:02  LOG_INFO     SYS:NTP: Adjust time.(12:03:02)
12:04:02  LOG_INFO     SYS:NTP: Adjust time.(12:04:02)
12:05:02  LOG_INFO     SYS:NTP: Adjust time.(12:05:02)
12:06:02  LOG_INFO     SYS:NTP: Adjust time.(12:06:02)
12:07:02  LOG_INFO     SYS:NTP: Adjust time.(12:07:02)
12:08:02  LOG_INFO     SYS:NTP: Adjust time.(12:08:02)
12:09:02  LOG_INFO     SYS:NTP: Adjust time.(12:09:02)
12:10:02  LOG_INFO     SYS:NTP: Adjust time.(12:10:02)
12:11:02  LOG_INFO     SYS:NTP: Adjust time.(12:11:02)
12:12:02  LOG_INFO     SYS:NTP: Adjust time.(12:12:02)
12:13:02  LOG_INFO     SYS:NTP: Adjust time.(12:13:02)
12:14:02  LOG_INFO     SYS:NTP: Adjust time.(12:14:02)
12:15:02  LOG_INFO     SYS:NTP: Adjust time.(12:15:02)
12:16:02  LOG_INFO     SYS:NTP: Adjust time.(12:16:02)
12:17:02  LOG_INFO     SYS:NTP: Adjust time.(12:17:02)
12:18:02  LOG_INFO     SYS:NTP: Adjust time.(12:18:02)
12:19:02  LOG_INFO     SYS:NTP: Adjust time.(12:19:02)
12:20:02  LOG_INFO     SYS:NTP: Adjust time.(12:20:02)
12:21:02  LOG_INFO     SYS:NTP: Adjust time.(12:21:02)
12:22:02  LOG_INFO     SYS:NTP: Adjust time.(12:22:02)
12:23:02  LOG_INFO     SYS:NTP: Adjust time.(12:23:02)
12:24:02  LOG_INFO     SYS:NTP: Adjust time.(12:24:02)
12:25:02  LOG_INFO     SYS:NTP: Adjust time.(12:25:02)
12:26:02  LOG_INFO     SYS:NTP: Adjust time.(12:26:02)
12:27:02  LOG_INFO     SYS:NTP: Adjust time.(12:27:02)
12:28:02  LOG_INFO     SYS:NTP: Adjust time.(12:28:02)
12:29:02  LOG_INFO     SYS:NTP: Adjust time.(12:29:02)
12:30:02  LOG_INFO     SYS:NTP: Adjust time.(12:30:02)
12:31:02  LOG_INFO     SYS:NTP: Adjust time.(12:31:02)
12:32:02  LOG_INFO     SYS:NTP: Adjust time.(12:32:02)
12:33:02  LOG_INFO     SYS:NTP: Adjust time.(12:33:02)
12:34:02  LOG_INFO     SYS:NTP: Adjust time.(12:34:02)
12:35:02  LOG_INFO     SYS:NTP: Adjust time.(12:35:02)
12:36:02  LOG_INFO     SYS:NTP: Adjust time.(12:36:02)
12:37:02  LOG_INFO     SYS:NTP: Adjust time.(12:37:02)
12:38:02  LOG_INFO     SYS:NTP: Adjust time.(12:38:02)
12:39:02  LOG_INFO     SYS:NTP: Adjust time.(12:39:02)
12:40:02  LOG_INFO     SYS:NTP: Adjust time.(12:40:02)
12:41:02  LOG_INFO     SYS:NTP: Adjust time.(12:41:02)
12:42:02  LOG_INFO     SYS:NTP: Adjust time.(12:42:02)
12:43:02  LOG_INFO     SYS:NTP: Adjust time.(12:43:02)
12:44:02  LOG_INFO     SYS:NTP: Adjust time.(12:44:02)
12:45:02  LOG_INFO     SYS:NTP: Adjust time.(12:45:02)
12:46:02  LOG_INFO     SYS:NTP: Adjust time.(12:46:02)
12:47:02  LOG_INFO     SYS:NTP: Adjust time.(12:47:02)
12:48:02  LOG_INFO     SYS:NTP: Adjust time.(12:48:02)
12:49:02  LOG_INFO     SYS:NTP: Adjust time.(12:49:02)
12:50:02  LOG_INFO     SYS:NTP: Adjust time.(12:50:02)
12:51:02  LOG_INFO     SYS:NTP: Adjust time.(12:51:02)
12:52:02  LOG_INFO     SYS:NTP: Adjust time.(12:52:02)
12:53:02  LOG_INFO     SYS:NTP: Adjust time.(12:53:02)
12:54:02  LOG_INFO     SYS:NTP: Adjust time.(12:54:02)
12:55:02  LOG_INFO     SYS:NTP: Adjust time.(12:55:02)
12:56:02  LOG_INFO     SYS:NTP: Adjust time.(12:56:02)
12:57:02  LOG_INFO     SYS:NTP: Adjust time.(12:57:02)
12:58:02  LOG_INFO     SYS:NTP: Adjust time.(12:58:02)
12:59:02  LOG_INFO     SYS:NTP: Adjust time.(12:59:02)
13:00:02  LOG_INFO     SYS:NTP: Adjust time.(13:00:02)
13:01:02  LOG_INFO     SYS:NTP: Adjust time.(13:01:02)
13:02:02  LOG_INFO     SYS:NTP: Adjust time.(13:02:02)
13:03:02  LOG_INFO     SYS:NTP: Adjust time.(13:03:02)
13:04:02  LOG_INFO     SYS:NTP: Adjust time.(13:04:02)
13:05:02  LOG_INFO     SYS:NTP: Adjust time.(13:05:02)
13:06:02  LOG_INFO     SYS:NTP: Adjust time.(13:06:02)
13:07:02  LOG_INFO     SYS:NTP: Adjust time.(13:07:02)

ルータのログ役にたたねぇ…。

# ルータの同期先は 192.168.0.52、つまりローカルネットワーク内なので 1 分間隔でも問題なし。ログがウザいことこの上内のを今し方悟ったけど。

fuse

一番肝心な部分以外を実装したファイルシステムはできたかもしれない。

ただ、symlink の挙動が怪しいかもしれない。よくわからんけど。

どうでもいいけど、fuse_operations::getattr は Similar to stat(). って書いてあるけど実際には lstat かもしれない。lstat っぽくしてみたらそれなりに動いているように見えるし、ファイルシステムというレイヤから考えるとその方が自然っぽい。

08月14日のやよいのひみつ日記『おぼえてる』(Blogpet)

さいきんおぼえた
ジャグジー コメント ココロ

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月14日のココロのひみつ日記『ココロ日記』(Blogpet)

愛ってなんでしょう…

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

本日のポップン

・熱帯ダンス打たれすぎ。やっと背景が普通に戻ったと思った瞬間にまた「WARNING!」ですよ…。あからさまに私が一番下手なのに。上向いて打て、上向いて。

データセンターのトラフィック

「今日はかなり出る」とは思ってたけど、まさか通常の 3 倍とはおもわなんだ。

スパマーに最も愛されるセレブはアンジェリーナ・ジョリー

世界中で毎日やり取りされる全電子メールの約2.28%に「Angelina Jolie naked(アンジェリーナ・ジョリーのヌード)」「Angelina Jolie nude movie(アンジェリーナ・ジョリーのヌード動画)」といったタイトルが付けられているとのこと。

pcre:/etc/postfix/header_checks

/^Subject:.*?\bAngelina\s*Jolie\b/i REJECT ただの人間には興味ありません。この中に宇宙人、未来人、超能力者がいたら、あたしのところに来なさい。以上!

って書けば良いんですね、わかります。

# 日本語書いても悲しい目にあうだけだと思うけど。

2008/08/15(金)

マルチスレッドこわいよぅ

どこかで排他制御忘れている気がしていかん……。

more...

08月15日のやよいのひみつ日記『おぼえたい』(Blogpet)

さいきんおぼえた
確認 呼吸 睡眠

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月15日のココロのひみつ日記『ココロ日記』(Blogpet)

HiNaさんにとって、ココロって何…?

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

本日のポップン

・フィーバーヒーロー H は歯が立たない(83714)。高速の前まではボーダーだったから最後のを暗記すれば行けるか。

・SF ポップ半年ぶりくらいにやった気がする(96611)

・久しぶりにチアパラ H のハイスコア更新(97957、BAD 3)。前のハイスコアは S乱ってのは秘密。

・つながりそうでつながらないプログレッシブ(IIDX の V)N S乱。

・ゲットワイルド EX クリア(89365)。真ん中わけわかんない。

・今バージョンの間はきっと抜けないと思っていた ESZ さんのケマリ H の記録を抜いたので満足(87160)

・バイキング H は HS 5.5 の方がスコア出るけど HS 5.0 の方がゲージ残るっぽい

・にゃんこジャズは HS 3.0 だとやっぱり早い。クリアはできるけど。

2008/08/16(土)

08月16日のココロ日記(BlogPet)

多い全曲にはする本能があるそうです。教科書に書いてありました。

*このエントリは、ブログペットのココロが書いてます♪

08月16日のやよいのひみつ日記『おぼえたい』(Blogpet)

さいきんおぼえた
乱 バージョン メール

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月16日のココロのひみつ日記『ココロ日記』(Blogpet)

みちゃだめですよ!

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

本日のポップン

・熱帯でフルボッコ。ウルセイ(ラムのラブソング)H で (COOL 判定) 90000 点とかムリ。

・それ以外は特になし。ほとんどやってないもの。

サブサブカード

・「ひな」→「ひな@Sラン」に変更

・コメント設定

・でも「はじまりの村」だから当たらないんだよねぇ…。

Re: 量産効果

量産効果を高めるために 1~4 と 16~13、5~7 と 12~10 をそれぞれ共通仕様、8,9 号車を G 車にして G 車を中心に対称にするとか。

# そんな仕様は確実に海会社に一蹴される

2008/08/17(日)

PHP

PHPってそんなからくり持ってたの?>オーバーロード

php.ini

; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
;mbstring.func_overload = 0

この辺の話ですね。mb_* を持っている関数なら置き換えてくれるらしいです。逆に、mb_* を持っていない関数は置き換えられないので str_replace を使うと悲しい目にあうかも知れません。

オーバーロードされた場合の挙動は、内部エンコーディングに依存したハズです。

; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
;mbstring.internal_encoding = EUC-JP

…と書いてある通り、日本人の書いたスクリプトにありがちな SJIS で書いて SJIS で処理(ここで言う SJIS には、Shift_JIS の他に CP932(SJIS-WIN) も含むハズ)するスクリプトの場合、別の意味で悲しいことになるかもしれません。

# どっちも実際に悲しいことになるのを試したわけではありませんがー。

08月17日のやよいのひみつ日記『おぼえたい』(Blogpet)

がんばっておぼえる
傍 この辺 ココロ

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月17日のココロのひみつ日記『ココロ日記』(Blogpet)

新しいレシピをメモしとこっと♪

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

アイマス

2 戦 2 敗

……ヘタ糞になったもんだ。

写真は無い。

more...

2008/08/18(月)

うわぁ

私の名字は「一発で読めるけど、一発では書いてもらえない(MSIME にも ATOK にもデフォルトの辞書登録はなし)」なので、ありがちな誤変換(「上」使うやつとか)は大して気にならないのだけど…、「飢」使われたのは初めてだわ…。

これはひどい。

# しかし、気づいたのは指摘されてからだったという。

## 本題じゃないのは見る前からわかっているので普通に読み飛ばした結果

仕事関係で作った fuse プログラムの実験結果

遅すぎて使い物にならない orz

どこが遅いのかっていわれると実験してないからわからないのだけど、頑張っても無理っぽいのであきらめた方がよさげ。

んーと

ディスク使用率が 99% とかアホなことになっていたので一番怪しそうなディレクトリに du。

[root@しごとかんけいのさーば ~]# du -h /var/log/httpd/
30G     /var/log/httpd/

相変わらず某サーバのアクセスログはすごいなぁ…。30 日分のログだから一日約 1GB か…(daily で rotate、30 回分、gzip 圧縮なし)

# 52GB しか無いのに。

なんか

仕事場のサブディスプレイが死にかけてるっぽいなぁ…。

写らなくなったり、突然「最適なモードではありません 推奨:1280x1024 60Hz」とか言い始めたり。

どう見ても推奨設定で動いてるんだがのぅ…。

コネクタが変になっているとかいう事もないし、うーん。

メンソール風味の缶コーヒーが登場 - 爽やかな香りで後味スッキリ

これはヤるしかありませんね>各位

08月18日のやよいのひみつ日記『おぼえてる』(Blogpet)

さいきんおぼえた
核 サブ コネクタ 対称

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月18日のココロのひみつ日記『ココロ日記』(Blogpet)

はあぁああああ!大変!忘れてた!

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

名字をかたどったUSBメモリーが人気

どうせ俺には関係のない話さ…。

# 私の名字が出てくる=ほぼ受注生産

もっとも、ダイソーの印鑑には何故かあるけどな。あまり見かけない名字がたくさん入ってるのよね、あれ。

## それなりには居るらしいんだけどね、同じ名字の人。任天堂関係者とか、どっかの牧場主とか。

2008/08/19(火)

Zend Framework

お勉強開始

# Mojavi はさすがにねぇ…。mojavi.org 期限切れてるし。

Codename

/var
  /www
    /mondenkind
      /applications
        /inber

うむ、我ながらどうかと思うね。

# 仕事

inber は「淫ベル」と読みます(ぉ

gzip 失敗

内容符号化 (Contnet-Encoding) に問題があります

不正または不明な形式で圧縮されているため、ページを表示できません。

* この問題については Web サイトの管理者に問い合わせてください。

Contnet っておま…

っつーことで

買ってきた。

more...

Zend Framework

Hello, world までできた(ぉ

more...

メカニック

1.バカロボはメカニックであること
2.バカロボは役に立たないこと
3.バカロボは人を笑わせること

1 番を満たせる人はもっと実用的なロボットを作ることに必死な気がする

# そういう意味じゃないであろうことは承知の上

08月19日のやよいのひみつ日記『よんだ』(Blogpet)

[2008/08/19]メカニックを読んだ
バカロボは役に立つんだよ

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

2008/08/20(水)

[2008/08/19]メカニック(BlogPet)

HiNaの「[2008/08/19]メカニック」のまねしてかいてみるね

1番を満たせる人を笑わせること1.バカロボは承知の上

*このエントリは、ブログペットの「やよい」が書きました。

Zend Framework で module 名と controllers パスの関係を ini ファイルから読み込んでみるテスト

[modules]
enabled = "hoge,fuga,piyo"
module.hoge.controllers = "/path/to/controllers"
module.fuga.controllers = "<AUTO>"
; module.piyo.controllers は <AUTO> に自動設定(default)
$controller = Zend_Controller_Front::getInstance();
if(file_exists(MOND_CONFIG . '/modules.ini')) {
    $config_modules = new Zend_Config_Ini(MOND_CONFIG . '/modules.ini', 'modules');
    if(isset($config_modules->enabled)) {
        $controllers = array();
        foreach(explode(',', $config_modules->enabled) as $module) {
            $module = trim($module);
            $controllers_path = '<AUTO>';
            if(isset($config_modules->module) &&
               isset($config_modules->module->$module) &&
               isset($config_modules->module->$module->controllers))
            {
                $controllers_path = $config_modules->module->$module->controllers;
            }
            $controllers_path = str_replace('<AUTO>',
                                            sprintf('%s/%s/%s',
                                                    MOND_MODULES, // <MODULES>
                                                    $module,
                                                    'controllers'),
                                            $controllers_path);
            $controllers_path = str_replace('<MODULES>',
                                            MOND_MODULES,
                                            $controllers_path);
            $controllers[$module] = $controllers_path;
        }
        $controller->setControllerDirectory($controllers);
    }
}

果てしなく無駄な事をやっている気がしてならない。っていうか毎回 bootstrup として走らせるには重い気がする。

気にするだけ無駄って話もあるけど。重いなら Mojavi 風に compile してみるとか(ぉ

# webapplication の path に UTF-8 でマルチバイトになるような文字は使わないので str_replace でも悲しい目には遭わないと想定

そしていきなりガシガシ書き換える

if(file_exists(MOND_CONFIG . '/modules.ini')) {
    $config_modules = new Zend_Config_Ini(MOND_CONFIG . '/modules.ini', 'modules');
    if(isset($config_modules->enabled)) {
        foreach(explode(',', $config_modules->enabled) as $module) {
            $module = trim($module);
            if(preg_match('/^[[:alnum:]_\-]+$/', $module)) {
                $controllers_path = '<AUTO>';
                if(isset($config_modules->module) &&
                   isset($config_modules->module->$module) &&
                   isset($config_modules->module->$module->controllers))
                {
                    $controllers_path = $config_modules->module->$module->controllers;
                }
                $replace_mapping = array('<AUTO>'    => sprintf('%s/%s/%s', MOND_MODULES, $module, 'controllers'),
                                         '<MODULES>' => MOND_MODULES);
                $controller->addControllerDirectory(str_replace(array_keys($replace_mapping),
                                                                array_values($replace_mapping),
                                                                $controllers_path),
                                                    $module);
            }
        }
    }
}

ちなみにちゃんと動くかテストはしていない。Hello, world 未満で作業中

INBER(仮)

404 Not Found と 500 Internal Server Error の表示までできた orz

・Zend Framework のクラスのインスタンスの初期化周りとかで ini ファイルとか使いまくってたらどんどん Mojavi に近づいているような気がする。compile してないけど。

・Zend_Controller_Front クラスの throwExceptions メソッドは事実上出番が無いような気がしてならない。これ true にすると、エラーハンドラ動かないんだよもん。

今朝から

死ぬほど腰が痛い

そして、今朝は死ぬほど頭が痛かった

# まともに寝れたのは午前 7 時くらいから

08月20日のやよいのひみつ日記『よんだ』(Blogpet)

[2008/08/20]INBER(仮)を読んだよ
表示までできるんだよ

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月20日のココロのひみつ日記『ココロ日記』(Blogpet)

存在の不確かさは出番によって明らかにされるんです。たぶん。

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

Re: こういうの大好き

そんな後藤さんに イ゛ェアアアア

2008/08/21(木)

Zend Framework にはたまによくわからないものがある

$figlet = new Zend_Text_Figlet();
echo $figlet->render('Miku');
echo $figlet->render('Hatsune');
 _    _     ______    _  __   _    _   
| \  / ||  /_   _//  | |/ // | || | || 
|  \/  ||   -| ||-   | ' //  | || | || 
| .  . ||   _| ||_   | . \\  | \\_/ || 
|_|\/|_||  /_____//  |_|\_\\  \____//  
`-`  `-`   `-----`   `-` --`   `---`   
                                       
 __   _      ___      ______     _____   _    _     _  _     _____   
| || | ||   / _ \\   /_   _//   / ___// | || | ||  | \| ||  |  ___|| 
| '--' ||  / //\ \\  `-| |,-    \___ \\ | || | ||  |  ' ||  | ||__   
| .--. || |  ___  ||   | ||     /    // | \\_/ ||  | .  ||  | ||__   
|_|| |_|| |_||  |_||   |_||    /____//   \____//   |_|\_||  |_____|| 
`-`  `-`  `-`   `-`    `-`'   `-----`     `---`    `-` -`   `-----`  
                                                                     

それが Zend Framework に存在する意義がよくわからない

"\" が "¥" に見える人はそこはバックスラッシュだと思えば ok

# しかも、Zend_Text ってこれしか無かったりする。まだ他の実用的クラスがあって、ついでだから突っ込んじゃえ、インタフェース一緒だし、ってんならわかるんだけど。

Zend Framework の controller

Zend_Controller_Front 使っていると、Mojavi の FrontWebContoller って良くできてるんだなぁ、と実感する…。

# default module / default controller / default action が存在しないときの挙動とか。

いや、そもそも action が存在しない、みたいなエラー処理を Plugin にして無理矢理疎結合にした Zend_Controller_Front がイケてなさすぎな気がする。

404 くらいは結合しておいても別にいいじゃんかよぅ…。

500 は…何も考えずに throw しまくってくれれば main 部で try-catch して良きに計らう方向で。

Zend_Log で syslog を使う

lib/Mondenkind/Log/Writer/Syslog/Resource.php:

<?php
    class Mondenkind_Log_Writer_Syslog_Resource {
        protected
            $prefix   = null,
            $option   = null,
            $facility = null;
        
        public function __construct($prefix, $option, $facility) {
            $option = ($option & ~(LOG_NDELAY | LOG_ODELAY)) | LOG_NDELAY;
            $this->prefix   = $prefix;
            $this->option   = $option;
            $this->facility = $facility;
        }
        
        public function write($string, $level) {
            if(!openlog($this->prefix, $this->option, $this->facility)) {
                throw new Zend_Log_Exception('Could not open syslog');
            }
            if(!syslog($string, $level)) {
                throw new Zend_Log_Exception('Could not write to syslog');
            }
            closelog();
        }
    }
?>

lib/Mondenkind/Log/Writer/Syslog.php:

<?php
    define_syslog_variables();
    
    class Mondenkind_Log_Writer_Syslog extends Zend_Log_Writer_Abstract {
        protected $_priority = array(Zend_Log::EMERG  => LOG_EMERG,
                                     Zend_Log::ALERT  => LOG_ALERT,
                                     Zend_Log::CRIT   => LOG_CRIT,
                                     Zend_Log::ERR    => LOG_ERR,
                                     Zend_Log::WARN   => LOG_WARNING,
                                     Zend_Log::NOTICE => LOG_NOTICE,
                                     Zend_Log::INFO   => LOG_INFO,
                                     Zend_Log::DEBUG  => LOG_DEBUG);
        protected $_syslog = null;
        
        public function __construct($prefix = NULL, $option = LOG_PID, $facility = LOG_USER) {
            $this->_syslog = new Mondenkind_Log_Writer_Syslog_Resource($prefix, $option, $facility);
            $this->_formatter = new Zend_Log_Formatter_Simple();
        }
        
        protected function _write($event) {
            $priority = array_key_exists($event['priority'], $this->_priority) ? $this->_priority[$event['priority']] : LOG_DEBUG;
            $this->_syslog->write($priority, $this->_formatter->format($event));
        }
    }
?>
<?php
    $log_writer = new Mondenkind_Log_Writer_Syslog('Mondenkind', LOG_PID, LOG_USER);
    $log_writer->setFormatter(new Zend_Log_Formatter_Simple('%priorityName%(%priority%): %message%'));
    $logger = new Zend_Log($log_writer);
    $logger->log('hoge', Zend_Log::ERROR);
?>

なぜデフォで装備(違)していないのだろう。

POSIX の syslog インタフェースを模しているから openlog() の戻り値が resource になっていなくて openlog(), syslog(), closelog() がつながっていないのだろうけど、

<?php
    define_syslog_variables();
    openlog('hoge', LOG_NDELAY|LOG_PID, LOG_USER);
    call_function();
    syslog(LOG_WARNING, 'hoge');

    function call_function() {
        openlog('fuga', LOG_NDELAY|LOG_PID, LOG_USER);
        syslog(LOG_WARNING, 'fuga');
    }
?>

こんな呼び出しをしたときに、'hoge' のほうが(たぶん書いた人の予想に反して)こんな出力になって悲しい。

Aug 21 23:59:59 SERVER fuga[3159]: fuga
Aug 21 23:59:59 SERVER fuga[3159]: hoge

普通、ident (上のロジック内では prefix)はプログラム名とかシステム名だから一つのプログラム中から変更することは無いだろうけど。

この辺を無駄に努力したのが Mondenkind_Log_Writer_Syslog_Resource だったりする。実際には気にしなくて良いと思うんだけどねぇ…。

奴隷市場 ルネッサンス

これ DVD だったよなぁ、DL 販売するのか…サイズデカそう

と思ったら、1GB ちょっとだった。

いや、それでもデカいんだけどね。

# 部屋探したらたぶん押し入れの奥深くあたりからなぜかパッケージが出てくると思う(ぉ

なお、このゲームについてはキャシアスが殺されまくったイメージしかない(ぉ

あとは、たしか 4 日くらいしかシナリオ時間が無いのにものすごく懐く奴隷達、ってところか。

# タイトルから受けるイメージほど、エロ・陵辱ではない、たぶん。

08月21日のやよいのひみつ日記『よんだ』(Blogpet)

[2008/08/21]奴隷市場 ルネッサンスを読んだ
部屋探すんだよ

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月21日のココロのひみつ日記『ココロ日記』(Blogpet)

今日はとっても無いなサイを焼きました

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

あえていおう

星野監督は日本代表を私物化していないか - ゲンダイネット

スポーツの監督なんてチームを私物化するのが仕事だと思うの。

ポップン

腰痛いので自重

・麻雀格闘倶楽部 H) 落下速度 840 はなかなか辛かった (81166)

・クラシック 9 N) 糞フラン自重 (76984)

・セイントセイ H) 2 とか 3 の縦連がしんどいので右手でやってたらその後の 7 とか溢しまくり (85919)

・上のもあわせて 8 譜面ほどへんたいな人を追い抜いた(最近追い抜くことだけに力入れてるらしい)

2008/08/22(金)

サーセン

「ひとさしゆびクワイエット」に「サーセン動画」タグがついてるからそんな要素あったかなぁー、と思ったら

お邪魔虫は おまえだー!

の部分か。

美夏「はーい、みんなの『す』で始まるすてきな言葉は何かな?まずはお姉ちゃん」

から始まる漫才(違)にもうちょっと反応あるのかなと思ったら全然無いし。

ってことで、らんらんるー(違

頻出パターン

+-------+      +-------------------+       +-------------+
| users |      | users_communities |       | communities |
+-------+ 1  N +-------------------+     1 +-------------+
| id    |------|user_id            | N +---| id          |
| name  |      |community_id       |---+   | name        |
| ...   |      +-------------------+       | ...         |
+-------+                                  +-------------+

たとえば mixi のユーザとコミュニティの関係を超簡略化して書くとこうなる。

で、この真ん中のテーブルみたいなパターンを habtm っていうらしい。

ここまではいいとして、この真ん中のテーブル名はもっとマシな命名規則は無いもんだろうか。

大好きハニー

今月のお届けはCDシリーズから、あのあまーいこの1曲!
ふるふるフューチャー☆

な、なんだってー

# 千早中の人モードで聞きたい(ぉ

これはひどい

<?php
    class Inber_Controller_Action extends Mondenkind_Controller_Action {
        public function __call($method, $args) {
            if(preg_match('/^[[:alnum:]]+Action$/i', $method)) {
                $request  = $this->getRequest();
                $model = Inber_Model_Loader::loadAction($request,
                                                        $this->getResponse(),
                                                        $request->getModuleName(),
                                                        $request->getControllerName(),
                                                        $request->getActionName());
                if($model) {
                    $model->execute();
                    return;
                }
            }
            return parent::__call($method, $args);
        }
    }
?>

これを Zend_Controller_Action の替わりに基底クラスにして、Controller を作成。すると、

<?php
    class IndexController extends Inber_Controller_Action {
    }
?>

なんということでsh(ry

思考:「複数個の Action が 1 つのクラスに居ると名前空間がアレで嫌だなぁ」→「Action 関数の実装を全部別のクラスに追い出せばいいんじゃね?」→「じゃあ Model に追い出してしまおう」→「移譲するだけの Controller 書くのアホらしくね?」→「じゃあ __call つかってしまおう」

ということで、どんどん Mojavi っぽい俺様フレームワークが Zend Framework 上に構築されて行っているふいんき(←ATOK だと変換できるけどわざと変換しない

# execute() 呼ぶ前に isSecure() とか呼び出し始めたらいよいよ Mojavi の焼き直しだな

名前空間

Zend

↓俺様フレームワーク

Mondenkind

↓アプリケーション

Inber

……だからさっきのは Mondenkind 内に居るのが正しい気がする

08月22日のやよいのひみつ日記『のーたいとる』(Blogpet)

きょうはいいことあるかな

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月22日のココロのひみつ日記『ココロ日記』(Blogpet)

あと7バイト、スリムになりたいのに…

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

火災報知器

ウチのマンションとくっついている隣のマンションの火災報知器が壊れたらしく警報が…。

# ピーピー、っていう警報。ジリリリじゃなくて。

で、消防車来た

ポップン

・ソフトロック from IIDX H) 気がついたら NO BAD (95571)

・撫子ロック N) 気がついたらポプとも全員に抜かれてたので抜き返した。そして終わってみたら NO BAD (98637)

・オンセンラップ EX) 変態な人を抜ける気がしなかったから今回もダメだろうなと思ったらあっさり抜けた(16になって 2 回目のトライ) (93521)

・その他抜き返した曲多数

どうでもいいけど、オンセンラップ EX の超チャレ、スコアが 7969 点…。何でそんなスコアに…。

インヴァネス

100 円 4 曲設定はいいんだけど、上部スピーカは昔っからダメだし、前部スピーカの右側がほとんど音出てないとまあ、最低な感じ。

FUJITSU U50/B50N

本体は従来のままでかまわないからキーボードだけ交換したい(ぉ

何が良いってカーソルキーが普通に押せるとか、「-」キーが普通に押せるとか、それだけで良い

でも変換無変換は前のままで良かったと思うんだ。使わないし。Tab キーもどうなんだろう。Esc の横って…。コード書いたり、シェル操作(補完)するには Fn+Space って面倒だけど別に必須ってキーじゃないと思うんだけどねぇ、Tab。Tab でフォーカスを移動して Space で選択とかキーボードで操作する人はあんまり居ないような気がする(昔から使っている人は結構やるかもしれない)んだけど…。

2008/08/23(土)

すぱむ

おっきな乳と美乳どっちが好きですか?

微乳に決まってるじゃないか

# この変態、ド変態、変態大人っ!

08月23日のやよいのひみつ日記『えっとね』(Blogpet)

こうしんがたのしみ♪

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

Be Mouse

pop'n music Be-Mouse なんてゲテモノ(ぉ)買ってきたりなんかして…。

# 処分特価 2,980@ソフマップ

ただの「マウス+ゲームパッド」の複合デバイスなんだけどね、これ。ゲームパッドがちょっと 9 個のボタンになっているだけで。

# マウス部分は予想通り糞。

で、その Be Mouse

ソフトウェアバージョンをネット配信対応の 1.1.2 にしようとしたら動かないわけだが…。

---------------------------
注意
---------------------------
実行に必要なデータの取得に失敗しました。
アプリケーションを終了します。
---------------------------
OK
---------------------------

実行モジュール中にこの文字列があって、MessageBoxA API を呼び出していることまでは確認した。ついでにその前で TEST&JNZ していることまでは確認。JMP に書き換えてみたりはしていない。ってか、署名されてるからそう簡単にいじれないと思うんだな。

署名者: Konami Digital Entertainment Co. Ltd./タイムスタンプ 2008-05-30 18:49:57/ CA: Verisign

# ま、64 ビット OS 非対応らしいのでサポートに文句言ったりはしませんがー。

## 1.11 で動いていたことを考えると動く筈なんだろうけど。普通に DirectInput 使っているっぽい(popninput.dll の export 関数名より推定)から動くのは当たり前っつーか。(動かない可能性が一番高いのはドライバ周りだから。汎用ドライバで認識してるのよね、このマウスモドキ)

なんとかマスター

1ボム満点ウマー

…はいいとして(50kだし)、やっぱり COM が何考えてんだかわかんない。

# これ、満点取る気無い打ち方して満点だからね…。

ポップン

・フォレストスノウ N) 某ピアノ君(違)に抜かれそうだったので突き放しておいた

・ネット対戦) 1 曲で 4 万点差とかつけられたから次回あたり降格のチャンスかなぁー

2008/08/24(日)

おおすぎ

厚生労働省は23日、「ネットカフェ難民」の就労を支援するため、公共職業訓練の受講を条件に、訓練中の住居・生活費として月15万円を融資する制度を2009年度に創設する方針を固めた。

私、失業保険で 15 万ももらった記憶無いよー。

# 生活保護より金額高そうだし。

もうアレだな、その他諸々と合わせると日本国を無くしたいとしかおもえない

今日の生活

ディスガイア (DS)

・ディスガイア

・飯

・ディスガイア

・ディスガイア

アキカン(6)

・ディスガイア

・ディスガイア

・飯(←今ここ

…何このダメ人間。

「排気量」から「CO2排出量」へ 経産省が自動車税制の変更検討

経済産業省が平成21年度の税制改正で、エンジン排気量の大きさを中心に税額を決めている自動車税制を見直し、走行1キロメートル当たりの二酸化炭素(CO2)排出量を基準に税額を決める方式への変更を検討していることが23日、わかった。同様の仕組みは欧州各国が取り入れ始めており、地球温暖化を防ぐグリーン税制の目玉にしたい考えだ。しかし、これまで優遇されてきた軽自動車の税負担が大幅にアップするため、自動車メーカーなどの反発は避けられず、調整は難航しそうだ。

その理屈で行くなら、『どんなに燃費が悪い車でも動かさなければ(燃料消費に由来する)環境負荷は 0』を考慮して、『資産税としての安い税金+高いガソリン(軽油)税』にしなきゃならんと思うんだが。

増税に関する動きだけは早いんだよね

だってこれ、「地球温暖化するする詐欺」の一環でしょ。本音はおそらく「軽自動車売れ過ぎてて取れているハズの税金が取れていない。モッタイナイ。ゾウゼイシヨウ、ソウシヨウ」でしょ。発泡酒の酒税と一緒。

IPC::Open2 使っているプログラムを実行中におもむろに ps aux してみたら

******   23904  0.0  0.1  63840  1080 pts/0    S+   22:44   0:00 /bin/sh ./create.sh
******   23905  0.4  1.4 134340 15116 pts/0    S+   22:44   0:01 perl create.pl
******   23906  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23907  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23908  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23909  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23910  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23911  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23912  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23913  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23914  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23915  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23916  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23917  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23918  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23919  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23920  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23921  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23922  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23923  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23924  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23925  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23926  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23927  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23928  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23929  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23930  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23931  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23932  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23933  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23934  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23935  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23936  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23937  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23939  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23940  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23941  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23942  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23943  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   23944  0.0  0.0      0     0 pts/0    Z+   22:44   0:00 [filter_merge_bl] 
******   24244  0.1  0.0      0     0 pts/0    Z+   22:45   0:00 [filter_merge_bl] 
******   24245  0.0  0.0      0     0 pts/0    Z+   22:45   0:00 [filter_merge_bl] 
******   24255  0.0  0.0      0     0 pts/0    Z+   22:46   0:00 [filter_merge_bl] 
******   24256  0.0  0.0      0     0 pts/0    Z+   22:46   0:00 [filter_merge_bl] 
******   24257  0.0  0.0      0     0 pts/0    Z+   22:46   0:00 [filter_merge_bl] 
******   24264  0.0  0.0      0     0 pts/0    Z+   22:47   0:00 [filter_merge_bl] 
******   24265  0.0  0.0      0     0 pts/0    Z+   22:47   0:00 [filter_merge_bl] 
******   24266  0.0  0.0      0     0 pts/0    Z+   22:47   0:00 [filter_merge_bl] 
******   24267  0.0  0.0      0     0 pts/0    Z+   22:47   0:00 [filter_merge_bl] 
******   24268  0.0  0.0      0     0 pts/0    Z+   22:47   0:00 [filter_merge_bl] 
******   24269  0.1  0.0      0     0 pts/0    Z+   22:47   0:00 [filter_merge_bl] 
******   24270  0.0  0.0      0     0 pts/0    Z+   22:47   0:00 [filter_merge_bl] 
******   24271  0.0  0.0      0     0 pts/0    Z+   22:47   0:00 [filter_merge_bl] 
******   24273  0.0  0.0      0     0 pts/0    Z+   22:47   0:00 [filter_merge_bl] 
******   24274  0.1  0.0      0     0 pts/0    Z+   22:47   0:00 [filter_merge_bl] 
******   24275  0.1  0.0      0     0 pts/0    Z+   22:47   0:00 [filter_merge_bl] 
******   24276  0.1  0.0      0     0 pts/0    Z+   22:47   0:00 [filter_merge_bl] 

うわぁ… orz

世の中に転がっているサンプルコードをベースに書いたのがマズかったのかしら…。ちょっと調べよう…。

08月24日のやよいのひみつ日記『かんそう』(Blogpet)

[2008/08/24]IPC::Open2 使っているプログラムを実行中におもむろに ps aux してみたらを読んだ
世の中に転がるのかー

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月24日のココロのひみつ日記『ココロ日記』(Blogpet)

ブログを毎日書く人も、サボると、毎日サボるわけで…

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

2008/08/25(月)

グッドデザインエキスポ2008、ウィルコムは「Kuma Phone」と「nico. Marble」を展示

グッドデザインエキスポ2008、ウィルコムは「Kuma Phone」出品 - IMPRESS ケータイ Watch

『そんな餌に俺様がクマー』

…と思ったら、(元)アフロさん(アフロ時代)の写真にやられた orz

08月25日のやよいのひみつ日記『おぼえたい』(Blogpet)

さいきんおぼえたことば
展示 コメント 日記 時代 ケータイ

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月25日のココロのひみつ日記『ココロ日記』(Blogpet)

月、拾っちゃいました♪誰にも内緒です

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

「くみ」

「くみ」を変換すると第一候補に「玖深」が出ることに今気づいた。

…どういう学習したんだ、これ。

単語登録するまえは「やすい」「く」「ふかい」で入力していたハズなんだが…。

# 今は「あぐみおと」で固有名詞登録済み

ああ、どうせやよいスキーさ

サンタクロースはどこの(ひたー)

が頭から離れないんだが…。

# sm1807148 とか

再利用

昔作ったプログラムを再利用する案件があってその作業をしている(こんな時間に)のだけど再利用どころかちゃんと平行運用できる仕組みにしていた自分に驚いた。

# このプログラムからだな、SITE_ID とかの定数で積極的に複数運用を考え始めたのは。

# 某システムのサーバアプリケーション類がリリースごとにコピーされてえらいことになってるからなぁ…。

## 別にリリースするだけならコピーだからいいんだけどメンテがね…。

2008/08/26(火)

おけいはん

  • 快速特急 (= K特急)
  • 特急
  • 通勤快急 (= 守口・枚公通過の急行)
  • 深夜急行 (= 守口・枚公通過の急行のうち、最終電車)
  • 快速急行 (新設)
  • 急行 (= 守口・枚公停車の急行)
  • 通勤準急 (= 守口通過の準急)
  • 準急 (= 守口停車の準急)
  • 区間急行
  • 普通

……わけわからんわ。京橋で区間急行に「これ守口止まる?」とか聞くような人には全く効力無いし、逆に頻繁に使っている人はどの便から急行が守口を通過する(=新種別での「通勤快急」)かなんて覚えてるし。

深夜急行(停車駅は通勤快急と同じ)とか要らないだろ。それやるんだったら、「最終特急」「最終急行」「最終」って種別をつくるくらいやって欲しいもんだ。

08月26日のやよいのひみつ日記『えっとね』(Blogpet)

きょうはなにをしようかな

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月26日のココロのひみつ日記『ココロ日記』(Blogpet)

うーん、あのこと、言っちゃおうかな…

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

稼働時間24時間突破

その前が睡眠時間2時間だからねぇ…。

36時間くらいまでは平気でいけると思うけど…。

# でも素直に寝る

帰省

誰かさんと入れ替わりみたいになってますが、明日の夜から月曜日の夕方まで西の方に旅立ちます、たぶん。

# 485A、472A

予定なぞ無い。あと熱暴走とかで鯖落ちたらごめんなさい。

天満橋行き

予想通り消えるとしたら(消えるだろうけど。一応折り返しできるからダイヤ乱れた時には何かやるかも?) 1910 年以来ってことになるのかしら…。

2008/08/27(水)

IE6

SSL を使って取得してきた CSS に data スキームの URI が指定してあったりなんかすると「セキュアでない」と怒られて悲しい目にあうっぽい。

Lightbox 使うと結構悲しい。

CSS 中の data スキームのリソースを参照している部分をコメントアウトして急場をしのいではいるけど、グルーピングしたときに悲しい目に遭うのかもしれない。調べてないけど。

pear

[root@KUMANOMI ~]# pear update-channels
HTTP error, got response: HTTP/1.1 410 Gone

おい

pear

[root@KUMANOMI ~]# pear upgrade-all
Will upgrade archive_tar
Will upgrade console_getopt
Will upgrade db
Will upgrade http
Will upgrade mail
Will upgrade net_smtp
Will upgrade net_socket
Will upgrade pear
Will upgrade xml_parser
Will upgrade xml_rpc
(中略)
upgrade-all ok: channel://pear.php.net/XML_Parser-1.3.0
upgrade-all ok: channel://pear.php.net/XML_RPC-1.5.1
upgrade-all ok: channel://pear.php.net/Structures_Graph-1.0.2
upgrade-all ok: channel://pear.php.net/Net_Socket-1.0.9
upgrade-all ok: channel://pear.php.net/Net_SMTP-1.3.1
upgrade-all ok: channel://pear.php.net/Console_Getopt-1.2.3
upgrade-all ok: channel://pear.php.net/DB-1.7.13
upgrade-all ok: channel://pear.php.net/HTTP-1.4.0
upgrade-all ok: channel://pear.php.net/Mail-1.1.14
upgrade-all ok: channel://pear.php.net/Archive_Tar-1.3.2

[root@KUMANOMI ~]# pear update-channels
Updating channel "pear.php.net"
Channel "pear.php.net" is up to date
Updating channel "pecl.php.net"
Channel "pecl.php.net" is up to date

先に pear を upgrade すればいけるんだけど、何か間違ってる気がする。

08月27日のやよいのひみつ日記『えっとね』(Blogpet)

きょうはなにをしようかな

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月27日のココロのひみつ日記『ココロ日記』(Blogpet)

こんな点、HiNaさんに見せられません

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

2008/08/28(木)

ferrari

実家に放置していた ferrari はキーボードが壊れている模様…。

Num Lock でテンキー扱いになるあたりのキーが果てしなく挙動不審。

現在の作業環境

  • 諸般の事情で自宅の PC で作業したい
  • 実家には共有 PC "MIKAN" がある(ML115)
  • 私が実家に持って帰った PC は NEKOKO(LOOX U)
  • NEKOKO でまともに PC 使うのは正直厳しい
  • 自宅内は LAN が組んであって、クライアント PC に RDP を直接繋ぐ手段は存在しない
  • NEKOKO から自宅サーバに SSH でログインすることができる
  • RDP を SSH でトンネリングすることができる

結果、こうなりました

自宅PC        自宅鯖         UMPC         実家PC
 ALTO         KOTORI        NEKOKO        MIKAN
  │            ┃           ┃└─ RDP ─┘
  │            ┗━━SSH━━┛
  └──  RDP over SSH ───┘

実際には自宅からさらに KOTORI に SSH や SMB で接続してたりしてよりカオス。

# 正直、今自分がどの環境に居るのか意識するのが大変

08月28日のやよいのひみつ日記『きょうは』(Blogpet)

こうしんがたのしみ♪

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月28日のココロのひみつ日記『ココロ日記』(Blogpet)

インターネット物語。今は昔、300ボーという通信速度ありけり…

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

2008/08/29(金)

日記

・髪切った

・妹のPC購入に付き合わされた

8マソ以下でノートPCでゲームがまともに、ってのは要求仕様としてキツい。結局マウスコンピュータの安物買ってたけど。

08月29日のココロのひみつ日記『ココロ日記』(Blogpet)

常識とは、98741歳までに身につけた偏見のコレクション…?

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

2008/08/30(土)

08月30日のココロ日記(BlogPet)

今週の『週刊ブログ妖精』はノート特集らしいですよ!

*このエントリは、ブログペットのココロが書いてます♪

08月30日のやよいのひみつ日記『よんだ』(Blogpet)

[2008/08/29]日記を読んだよ
髪切るみたい

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月30日のココロのひみつ日記『ココロ日記』(Blogpet)

存在の不確かさは模様によって明らかにされるんです。たぶん。

このエントリはブログペットココロのエントリっぽいものを捏造しました♪

日記

・親父がカレー作るっていうので…私が妹と作った。自分で作れよ、親父。

・ウチの包丁はびっくりするくらい切れない(肉を切るっていうより千切る感じ)

・夕飯は帰省する度に恒例の焼き鳥+焼肉。

・姪が可愛い

2008/08/31(日)

さて

ZIPとかGIGO行くかねぇ…。

未だにデフォ料金だからアイマスやる気にならんけど。

日記

・ZIP って名前やめたのね。普通に TAITO STATION になってた

・ポップン×2, IIDX×1, ギタドラ×2, DDR×1 ってなかなかすごい環境…。TAITO なのに。

・父方の祖母入院中の病院に母方の祖母が救急車で搬送とかもうね…

08月31日のやよいのひみつ日記『おぼえてる』(Blogpet)

がんばっておぼえる
名前 搬送 IIDX×

このエントリはブログペットやよいのエントリっぽいものを捏造しました♪

08月31日のココロのひみつ日記『ココロ日記』(Blogpet)

インターネット物語。今は昔、テレホタイムという時間ありけり…

このエントリはブログペットココロのエントリっぽいものを捏造しました♪