Archives
Recent Entries
Search


Links
Powered by
Movable Type 2.64

2003年08月30日

温泉行ってきた(小浜)

何となく塩茹で系の温泉へ。小浜町の旅館「ゆのか」へ入浴のみ(1人525円税込み)
Sh530018.jpg屋上露天 Sh530019.jpg洗い場2個所 Sh530020.jpg下界から丸見え
何となく曇ってましたが、雨も降らずに良かったかと。入浴中は1人くらいしか他の客がこなかったのでほぼ貸しきり状態…。長崎市内からちょっと走る必要はありますけど、ココは安くて雰囲気も良くて湯温も高すぎず低すぎずいい感じです。1階のロビーで冷水飲めますし。
モス寄って軽く夕飯喰って帰り~。

Posted by minemaz at 20:28 | Comments (0) | TrackBack

2003年08月29日

電気を大切に

外出時もエアコン着けたままな部屋があるので電気代のチェック。というか、先日アキバ行ったときにエコワット買ったので試してみたかったのです。
Sh530021.jpg544円 Sh530022.jpg 277KW
ちなみに 40.4時間の累計です。エアコンのコンセントをエコワット通して放置。


Posted by minemaz at 23:46 | Comments (3) | TrackBack

2003年08月28日

PHPでimapで添付ファイル

ちょっとMSNメッセンジャー周辺で話題にでたので… PHPでというか、uw-imapdでimapの添付メール(attachment)取得を行った場合に、生JISで添付ファイル名がつけられているものを正しく取り扱えない場合があります。というか、取り扱えません。uw-imapd自身が添付ファイル名部分のパースに失敗するためです。
[PHP-jp 12088]
#ほかの imapdの実装それぞれでどうだかは不明 で、解決策としてはimap_fetchbodyで全体分捕ってきて自前で解析するしかないということになります。最近のPEARライブラリには入ってるかもしれませんが…
function mail_Q_decode($str) {
  $i = 0;
  $l = strlen($str);
  while ($i < $l) {
    while ($str[$i] != '=' && $i < $l) {
      $r .= $str[$i++];
    }
    if ($i == $l) break;
    while ($str[$i] == '=' && $i < $l) {
      $r .= chr($str[$i+1]*16+$str[$i+2]);
      $i += 3;
    }
    if ($i >= $l) break;
  }
  return $r;
}

function mail_decode_BQ($s, $tocharset) {
  while ($s) {
  if (!is_string($idx = strpos($s, "=?")) || $idx) {
    $sf = substr($s, 0, $idx);
    $sr = substr($s, $idx +2);
    if (!is_string($idy = strpos($sr, "?=")) || $idy) {
      $sri = substr($sr, 0, $idy);
      $srj = substr($sr, $idy +2);
//      echo "sri=".$sri."\n";
//      echo "srj=".$srj."\n";
      $funcname = "stripslashes";
      if (eregi('^Shift_jis(.*)\?([BQ])\?(.*)$', $sri, $bs)) {
        $fromcode = "SJIS";
      }else if (eregi('^iso-2022-jp(.*)\?([BQ])\?(.*)$', $sri, $bs)) {
        $fromcode = "JIS";
      }else if (eregi('^iso-8859-(.*)\?([BQ])\?(.*)$', $sri, $bs)) {
        $fromcode = "pass";
      }
      if ($bs[2] == 'B') $funcname = "base64_decode";
      if ($bs[2] == 'Q') $funcname = "mail_Q_decode";

      $ts = i18n_convert($funcname($bs[3]), $tocharset, $fromcode);
    }else{
// krudge;
      $ts = $sri;
    }
    $r .= ($sf.$ts);
    $s = $srj;
  }else{
    $r .= $s;
    break;
  }
  }
  return $r;
}

function mail_contenttype(&$p, &$types) {
  while ((list($k, $v) = each($p)) && isset($v[0]) && $v[0]) {
//    echo "d[".$k."]".$v."\n";
    if ($v[0] == 'c' || $v[0] == 'C') {
      if (eregi("^CONTENT-TYPE:(.*)", $v, $r)) {
        $rf = ltrim($r[1]);
        while((list($k, $v) = each($p)) && isset($v[0]) && (ereg("[ \011]", $v[0
]))){
//         echo "C[".$k."]".$v."\n";
          $rf .= ("\015\012".$v);
        }
        if (ereg("(^[-a-z/A-Z0-9]+)", $rf, $tp)) {
          $types = $tp[1];
        }
        $rf = substr($rf, strpos($rf, ';', strlen($types)) + 1);
        if (!isset($v[0]) || !$v[0]) {
//          echo "f[".$k."]".$v."\n";
          return $rf;
        }
      }
    }
  }
//  echo "e[".$k."]".$v."\n";
  return $rf;
}

function mail_parse_attr($rf) {
  $ATTR = array();
  if (!$rf) {
    return;
  }
  $i = 0;
  while( $i < strlen($rf)) {
    while (ereg("[ \011\015\012]", $rf[$i])) $i++;
    if ($i >= strlen($rf)) break;
    $pa = "";
    while (ereg("[-a-zA-Z0-9+]", $rf[$i])) {
      $pa .= $rf[$i++];
      if ($i >= strlen($rf)) break 2;
    }
    $pa = strtoupper($pa);
    $ATTR[$pa] = "";
    while (ereg("[ \011\015\012]", $rf[$i])) $i++;
    if ($i >= strlen($rf)) break;
    if ($rf[$i] == '=')     $i++;
    else if ($rf[$i] == ';') { $i++; continue;}
    else {
      break;
    }
    $va = "";
    while (ereg("[ \011\015\012]", $rf[$i])) $i++;
    if ($rf[$i] == chr(042)) {
      $i++;
      while ($rf[$i] != chr(042)) {
        while ($rf[$i] == chr(033) && $rf[$i+1] == '$') {
          $va .= "\033$";
          $i += 2;
          if ($i >= strlen($rf)) break 2;
          while (("" != $rf[$i]) && $rf[$i] != chr(033)) {
            $va .= $rf[$i];
            $i++;
          }
          if ($i >= strlen($rf)) break 2;
          if ($rf[$i] == chr(033) && $rf[$i+1] == chr(050)) {
            $va .= "\033\050";
            $i += 2;
          }
          if ($i >= strlen($rf)) break 2;
        }
        if ($rf[$i] == '\\') {
          $i++;
          $va .= $rf[$i];
          $i++;
        }
        if ($i >= strlen($rf)) break;
        if ($rf[$i] == chr(015)) {
          while (ereg("[ \011\015\012]", $rf[$i])) $i++;
        }
        if ($i >= strlen($rf)) break;
        if ($rf[$i] != chr(042)) {
          $va .= $rf[$i];
          $i++;
        }
        if ($i >= strlen($rf)) break;
      }
      $ATTR[$pa] = $va;
//      echo "[".$va."]\n";
      $i++;
    }
  }
  return $ATTR;
}

function mail_parse_mime(&$p, $boundary, &$at, $lv) {
  $lc = 0;
  while (list($k, $v) = each($p)) {
//    echo "[".$k."]".$v."\n";
    if ("--".$boundary == $v) {
      $lc++;
//      echo "FIND=[".$k."]".$v."\n";
      $rf = mail_contenttype($p, $type);
//      echo "NEWRF=".$rf."\n";
      $boundary2 = "";
      if ($rf[0]) {
        $attrs = mail_parse_attr($rf);
        reset($attrs);
        $at[substr($lv.".".$lc,1)] = $attrs;
        if (isset($attrs['BOUNDARY'])) {
          $boundary2 = $attrs['BOUNDARY'];
        }
      }
//      echo "TYPE2=".$type."\n";
      if ($boundary2) {
//        echo "BOUNDARY2=".$boundary2."\n";
        mail_parse_mime($p, $boundary2, $at, $lv.".".$lc );
      }else{
        if (!strcasecmp("message/rfc822", $type)) {
//          echo "---\n";
          $rf = mail_contenttype($p, $type);
          $boundary3 = "";
          if ($rf[0]) {
            $attrs = mail_parse_attr($rf);
            reset($attrs);
            $at[substr($lv.".".$lc.".1",1)] = $attrs;
            if (isset($attrs['BOUNDARY'])) {
              $boundary3 = $attrs['BOUNDARY'];
            }
          }
          if ($boundary3) {
//            echo "RFC822BD=".$boundary3."\n";
            mail_parse_mime($p, $boundary3, $at, $lv.".".$lc);
          }
//        }else{
//          $at[substr($lv.".".$lc."1",1)] = array();
        }
      }

    }
    if ("--".$boundary."--" == $v) {
//      echo "EXIT=[".$k."]\n";
      return;
    }
  }
}

function mail_fullstructurefetch($mbox, $num, $flags = FT_UID) {
  $attr = array();
  $p = explode("\015\012", imap_fetchbody($mbox, $num, 0, $flags));
  $rf = mail_contenttype($p, $type);
  $attrs = mail_parse_attr($rf);
  $boundary = $attrs['BOUNDARY'];
  $p = explode("\015\012", imap_body($mbox, $num, $flags));
  mail_parse_mime($p, $boundary, $attr, "");
  $attr[0] = "";
  return $attr;
}

Posted by minemaz at 23:57 | Comments (0) | TrackBack

2003年08月27日

Java講座とか(1)

いろいろ縁あって水曜の夕方からJava開発コースの講座を毎週受け持つことに…
で、前の講師の方の教え方とか結果としての理解度とか計るためにアンケート実施。目立つところなど…
1.Java言語の予約語について知っているものに○をつけてください
結果)interfaceに ○がついていないのは少しツライかも。ifに○がついていないのはかなり悲しいかも…extendsに ○付いてる人が全体の1/5しかないのはどういうこと?…ぬぬ
2.プログラミング言語/開発環境/OSについて、次の中から知っている(聞いたことはある)キーワードについて何でも良いので知るところを書いてください。
結果)eclipseとIISが無回答というのはあまあ、何となくそうかな…とか。JBuilderには反応アリ…ぬぬ
事前に渡されていた講義用テキストと受講生に渡されていたものが違っていたり、前もって準備していたネタが使えなかったりといろいろ混乱はありましたが、とりあえず責任持ってJava使いに仕上げる予定…ぬぬ

おまけ)今日のBGM
Sh530014.jpgAN EVENING WITH KIMIKO ITOH

Posted by minemaz at 09:14 | Comments (0) | TrackBack

2003年08月25日

WIGGLER(動作したよ)

先日から何度もハマリ負けが続いてたWIGGLERですが、405GP用ではなくMotorora MPC8245用も注文しておりました。で、本日ソレが届いたので早速開封~
Sh530012.jpg輸入品~ Sh530013.jpg中身はシンプルな14pin
念のためPINoutは確認しましたが問題ない様子。某社のMPC8245ボードに接続し、早速動作試してみました。
RESET!GO!HALT! STATUS!CPU!REGS! 自由自在ですよ。CPUが停止します動作しますレジスタ見れますメモリも、値も弄ってI/Oも直に叩けます。こりゃ良いです快適(ワライ)
ところで、PINout的には同一の設計の某社のIBM PPC405GPボードに接続を試してみました。
20030826JTAG.png405GP停止中~☆
バッチリです。停まる、走る、全く問題ありません。ためしに一旦HALTして GPIOのアドレスに
LONG $EF600700=0
LONG $EF600700=$ffffffff
してみましたが、LEDが消灯/点灯してます。バッチリです。
コレで自宅に JTAGデバッガが2個になりました。もう少し落ち着いたら gdbからの使用方法など入れていきます~♪

Posted by minemaz at 23:41 | Comments (0) | TrackBack

2003年08月23日

監視カメラ、映画

久々に市街地方面へでて映画(踊る2)など観てきたり。
で、その帰りに少年犯罪摘発に多大な功績を残したと思われる監視カメラ群を監視
Sh530008.jpg監視1 Sh530009.jpg監視2 Sh530010.jpg監視3
監視3などは無線?出力かついているようで、アンテナっぽいユニットも見えますね。そもそもアーケード内のシャッターに深夜に落書きする不埒な行為を観察するのが目的だそうです(なので、カメラは店舗入り口の方向を基本的に向いてはいます)

結局帰りは、餃子と肉まんとシュウマイ買って、猫みてかえりました
Sh530011.jpgにゃうり
4猫。等


Posted by minemaz at 22:38 | Comments (0) | TrackBack

2003年08月21日

カスピ海ヨーグルト放置徹底2week

明日こそは明日こそは明日こそは食べようと思っていた カスピ海ヨーグルトの確認。というかコレ食べられませんね。熟成2週間と数日(マネしたらだめ)
Sh530004.jpgキャラメル味(嘘) Sh530005.jpgふたの裏がカビてました

フツウは仕込んで翌日くらいに食べるのが旬です。出来が良いときは表面はうっすらと黄色かかった感じで、ヨーグルト部分は白。あと粘りがかなりあって酸っぱさは少ないです。
ところが上記のは表面がキャラメル色、ヨーグルト部分がちょっと薄いピンク色粘りが少なく、味が酸っぱくてちょっとチーズっぽい感じ。ちなみに味見したら悲しかったです。

Posted by minemaz at 17:35 | Comments (0) | TrackBack

2003年08月20日

長崎は暑いです暑すぎ

先日佐賀に行ったときに購入した日よけを車に装着
Sh530003.jpg井上氏
先週とうってかわって、今週は物凄い快晴がつづく。朝起きるとシーツが紫外線を反射して蛍光を発しているような様子。というか、寝てると朝日が差し込んで コゲる感じでおきる毎日。

Posted by minemaz at 14:26 | Comments (0) | TrackBack

2003年08月19日

WIGGLER再び(敗北)

先日から弄ってる WIGGLERについて HW_Supportとやり取りをしてチェック方法など伺ったので調査…しかしまたも敗北したわけです。
ocdcommander_1.png起動と設定 ocdcommander_2.png起動後にRESETボタン押下

さっぱり target板を検出できていない感じです。パラレルポートを EPPからBi-directional(Standard)に変更しても変わらず… HW_supportの方から RAVEN用のcheckerを使ってみることを薦められたので、実行してみると
rav_tstr.pngRAVEN TESTER
WIGGLER自体は検出されている感じです。…謎
結局 Flash programmerも上手く動作していないため、この件についてはまたHW_supportの方へオアズケ… PPC4xx、MPC8245他の開発環境構築の苦難は続く…
ただ、WIGGLER接続時と非接続時でボードの動作が異なる(haltがかかったりかからなかったり)なので、何らかのミスコンフィグされたハードウェアが届いたのではないかとか…予想

Posted by minemaz at 05:10 | Comments (0) | TrackBack

2003年08月17日

佐賀を探そう

お師匠およびA氏と佐賀市内探索。パーツショップP-BRAIN様にて無線LAN関連機器購入
SH530001.JPG外箱 SH530002.JPG中身
2つあわせて6K円切る低価格で良し。
帰りは祐徳温泉入ってメシ喰ってお土産まで貰って帰宅。ありがとうございました。


Posted by minemaz at 23:57 | Comments (2) | TrackBack

WIGGLERについて問合せ

Macraigor Systems LLCの WIGGLER (IBM PowerPC 4xx用)を Windows 2000から試用しているがイマイチ動作が異常。ということでHW_Supportへ問合せを行ってはみたが、cable disconnect等の targetがおかしい?とも思えるエラー続出で切り分け出来ず。Windows95・98で再挑戦予定。
SH530020.JPG謎な中身
GALが1本にbus bufferが1本と非常にシンプルな構成な上に、target板の回路図とも見比べて別にレベル的な問題もなさそうなので、やはりOSの問題かなWindows2000 とか。
少なくとも OCD commanderと FlashWriterが使えるだけでも 非常に有用なんだけど。

Posted by minemaz at 03:58 | Comments (0) | TrackBack

2003年08月16日

強い鬱?

夕方から武雄温泉行こうかと出かけて長崎-長崎多良見-諫早まででて家に引き返し。運転しながら話し込んでいるうちに何もかも放り出したくなったり。どうも鬱系の状態かも最近多い。原因と思われるのはアレとかアレのコトなんだけれども口外しにくいので放置。
Sh530040.jpgたまたま111111.1km
おそらく思ったように仕事に集中できないことが原因?まず部屋の掃除をしなければ。

おまけ:ココ最近の携帯(J-SH53)の壁紙
Sh530037.jpg幼児誘拐殺害容疑12歳少年が居るらしいトコの近くにて

Posted by minemaz at 23:11 | Comments (0) | TrackBack

マザーボードとコンデンサの件再び

ひと月ほど前にマザーボードの修理など。具体的には破裂した/破裂しかけている電界コンデンサの交換。
SH530017.JPG修理前 SH530019.JPG修理後
ひと月も前のことを日記に書くのもどうかとは思うが、昨日偶々電話で話題に上がったので書いてみたり。 CPU周辺の電源ノイズ対策用の電解コンデンサがCPUからの熱やその他の原因で性能劣化して用を成していないため、ボードの動作がすこぶる不安定になっていたのでした。
で、部品取り用にgenpin.comからメルコのルータジャンク(このジャンクボードの写真を見たとき、自分の故障MBと同系統と思われるコンデンサの雰囲気が…:TEAPO社の SMシリーズ 3900μF 105℃耐圧 低ESR)を合計10枚ほど購入したり。購入当初は1枚290円だったのに、今では1枚190円。部品取り用としては非常にオトクです。
で、交換後すっかり安定して動作しております狙いどおり。と、師匠も同様にMBの修理されてこれも良く動作するようになったとのこと。目出度い。
など(8/16)
※誤字誤表現が多くて多数の指摘アリ(直しました)
※元々ついていたのは Lelon社の電解コンデンサ RXAシリーズ (アルミ電解コンデンサ一覧)でした、だいたい同等品のようです

Posted by minemaz at 17:38 | Comments (0) | TrackBack

とりあえずMovableType設置

以前に某所ではWeb日記を書いてはいたんだけれども、中身がドンドン会社についての愚痴で占められていったので書くのを辞めていたのでした。
まあ、いまは会社勤めでもないし愚痴といっても金が無いコトと時間泥棒と部屋が散らかっていることくらいなので日常的。
など(8/15)

Posted by minemaz at 03:06 | Comments (0)