「グリーン・ホーネット」(3D版)

3回目。もうね。アホだ。アホです。(私が。)
や、だってパンフ買い忘れてたんですよ、欲しかったんだもの。平日だと行けるかどうか分かんなかったんだもの。
観たかったんだもの。
はー。悔いなし。楽しかったー。
カーチェイスも新聞社ビルでの乱闘も車ごと生き埋めからの脱出も自宅での大喧嘩も、全部全部楽しかった。
愛すべきアホ映画です。
パンフ読んだら、2作目の製作を想定してと書いてあった!やったー!

カトー役のジェイ・チョウが、ラップしながらヌンチャク振り回すステージの映像をY○uTubeで観て、心の底からいい人だと思いました!

「グリーン・ホーネット」(2D版)

2回目。2D版で見直してきました。やっぱり映画は2Dで観る方が好みです、私は。
気持ちの入り方が全然違いますねー。3Dは気が散ります。
いやーよかった。楽しかった。面白かった。
またしても箇条書きで。

  • タイツ?マント?
  • お前が歌うんかい!
  • 新聞社の人達にカトーを紹介するシーンが好きだ。あんたらあれだ、アホだろ。
  • カプチーノだけでなく朝食まで!
  • ガスガンを持たせようとする説得シーンが可愛い。
  • ガスガンで倒れたブリットに「成功だ」がよかった。
  • コーヒー淹れろと言われて怒るシーンも可愛い。
  • 大喧嘩のシーン、どう見てもカトー完璧に手加減してる。可愛い。
  • 履歴書のデータを入力しては消し入力しては消しもぐーです。
  • 僕は口説かないんだな!てあれですよね、口説いてほしいという解釈でよろしいんですよね?
  • チャーミングって言った!それに対してありがとうって応えてる!
  • 肩を撃たれたブリットの側でおろおろするカトーが!可愛すぎる!!「ションディーー」とか!!!

とまあ、私の辞書には「可愛い」しかないんじゃないかというくらい、可愛いしか言えない感じでした。だってー。カトー可愛いよ、カトー。
どうか続編を作ってくださいお願いします。(キャストは変えないでね!よしなに!)

雪でした

昨日の夜から降った雪は、朝にはやんでいましたが、道も屋根も真っ白でしたよー。会社の近くの坂道下るとき、つるつる滑って怖かったです。
夜にはもう消えてました、雪。残念。

「ゴールデンスランバー」(伊坂幸太郎)

久々に、伊坂幸太郎!とびっくりマーク付きで作家名を書きたくなるような、すごい面白さでした。
面白い?うーん?読み応えがある、かな?
青柳さんは一体どうなってしまうのか、ハラハラどきどき、ページをめくる手を止められない気持ちをたっぷりと味わわされました。
私にはこんな風に信じてくれる誰かがいるだろうか?こんな風に信じることができる誰かがいるだろうか?と、ちょっと考えてみたり。
いろんな小ネタが積み重なって積み重なって、あとがきでは風呂敷畳んでないとか書かれてましたが、とんでもない、これが畳んでないなら、あれとかあれとか風呂敷投げっぱなしじゃん!と言いたいですよ。
青柳さんのお父さんも素敵なんですよねー。刑事さんと同じタイミングで泣きそうになりました。「痴漢は死ね」もよかった。ちょっと泣いた。
いったん最後まで読んでから、20年後と事件の視聴者の章をもっかい読み返す仕組みの本ですね。そうしないと分からなかったことがたくさん埋もれてます。20年後の章をまとめている、森の声を聞きたい筆者は地味な顔をしてるんですよね。(で、ですよね?)
これ、確か堺雅人主演で映画化されてたと思うんですけど、堺雅人を想定して書いたとしか思えないですね。DVD、確か買ってたはずだから観なくては!(本読んでからにしようと思って積んだ記憶が…。)
観なくては!

「夜の科学extra~巣巣のバレンタイン食堂【DAY2】」@巣巣(山田稔明(GOMES THE HITMAN))

出掛けに実家に寄ったら「え?昨日と同じ人のライブ行くの?何で?」とか言われたので、昨日と今日では演奏曲が違うんだよママン、と流してきました。
巣巣にちょっと早めに行ってお茶してたのですが、同じくお茶してた女子の人に声を掛けたら、あちこちで見かけますよ、と言われ赤面。わーん。行きすぎですか!
いやでもあちこちで見かけるということはあなたもあちこちにお出かけですよね!ということに気付き、事なきを得ました。仲間発見。
自分に優しくが信条なので、いいのよこれくらいで。
山田さんMCで無縁社会の話が出たので、なんかちょっと考えてしまったのですけど、あんまり自分が誰かの支えになってるのかとか考えたことがないなあーと思ったりしました。たくさんの人に支えてもらってるとは思いますけどね。
まいいか。

いやー、今日もギター祭りは健在でした。「新しい季節」のギターがすんごくよかった。すんごくよかった!「三日月のフープ」もかっちょよかった。「光と水の新しい関係」もよかった。
「秋桜」がしみました。名曲ー。

今日のチョコレートはチョコムース。しっとり系!チョコムースが想像のはるか上を行く美味しさ加減でした。何これ!ラムレーズンとチョコが合う!何これ!!!何これ!!!!!
とまあ、楽しい2日間でした。この勢いで4月はおっかけツアーという名の旅に出ますよ。みなさんもご一緒に!

「夜の科学extra~巣巣のバレンタイン食堂【DAY1】」@巣巣(山田稔明(GOMES THE HITMAN))

到着が開演ギリギリになってしまいましたが、なんとか間に合いました。よかったー。
今年はいつもとは違うことをしたいと、普段はラストに演奏する「humming bird」から始まりました。わー。なんか不思議な感じ。
最近は、山田さんソロの場合はギター一本の演奏が好みな感じなので、すんごくにまにましてしまいました。ギターの音と山田さんの歌声が素敵すぎるー。
今日は若者モードだそうです。んで明日は初老モード。(違うか。)
「ひそやかな魔法」は、何だかあんまり周りが見えない感じがするなあと思ってたのですが、高校生の歌だからなのかもしれませんね。今の私は眼鏡をかけたら見えることを知っているけど、眼鏡をかけるまでは周りが見えないのが普通だと思ってた、そんな気持ちになる歌です。(どんな。)
「ナナとカオル」という映画のエンディングテーマだそうです。
「ready for love」もよかったなー。
いやー、しかしとにかくチョコレートケーキが美味しかった。チョコレートがたくさん練りこまれたケーキに、ベリー系のソースが添えられてました。ああー。幸せー。多糖感。(違う。)(違わない。)
CD-Rは、マフィンカフェ用の書き下ろしだそうです。かわいいインストが何曲かと、歌が1曲。「my valentine」なんかいいですね。ほー、とため息をつく感じがします。
あ、小冊子がすんごく力入ってました。気合を感じるなあ。月刊・山田稔明、的な冊子です。(というか、私の中ではそう呼ばれてます。勝手に。)「げっかん・やまだとしあき」て語呂もいいですよね。なんか。

4月の予定!

4月は、静岡・札幌・福岡、と盛り沢山らしいですよ!
詳細はもうすぐ山田さんブログかどっかに載るらしいですけど、もう旅に出る心の準備はできてます。
行くぜ。

「赤朽葉家の伝説」(桜庭一樹)

おばあちゃんの話が面白かったです。孫の話はほんとに山場が無いなー。
みんな味噌汁とかコーヒーとか吹きすぎ。
ハイライトは、おばあちゃんが出目金とイマジン歌いながら山を登って帰るところだと思います。(これ、本読んでないとすごいカオスな文章だなー。)

「ちょっと江戸まで(4)」(津田雅美)

ソウビとぼっちゃま押しなのですね!
どうやってラストまで持っていくのかが気になります。

PHP開発で使ったライブラリ

  • Excelファイル読み込み

Excel_Peruser
http://chazuke.com/forum/
Excel_Reviserを作った方が作った、Excelファイルのデータを読み込むライブラリです。
割とシンプルなファイル向けのようです。(画像を山ほど貼ったりしたらメモリオーバーになりました。)
こんな感じで。

<input type="file" name="importfile111" />
require_once('../tools/Excel_Peruser/peruser.php');
(中略)
$file = $_FILES['importfile111'];
$tmpfile =  $file['tmp_name'];
$peruser = new Excel_Peruser();
$peruser->setInternalCharset($charset='utf-8');
$peruser->setErrorHandling(1);
$result = $peruser->fileread($tmpfile);
if ($peruser->isError($result)) $errmes=$result->getMessage();
for ($row = 1; $row < $rowcnt; $row++) {
$col = $this->GetExcelColNo('A');
$wk = $peruser->dispcell($sn, $row, $col, $mode=0);
}

ファイルの形式だとかサイズだとかのチェックは適当にお願いします。
Excel_Reviserと一緒に使う場合は「ErrMess」というクラス名が重複してエラーになりますので、とりあえず、Excel_PeruserのErrMessをErrMess_peruser のように、重複しない名称に変更します。peruser.php内で「ErrMess」を使ってるところも全部併せて変更します。
(今回はExcel_Reviserをメインに使ってるので、Excel_Peruserの方の名称を変えましたが、どちらを変えてもよいようです。)
エクセルの列から列番号を取得する関数を作りました。(GetExcelColNo())
かっこよさとか美しさよりも、後で忘れてもなんとかなる!をテーマに作ってます。(すぐ忘れます。)
どっかに適当に記述します。

const _ALPHABET_CNT = 26;
const _ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
public function GetExcelColNo($colstr) {
$rtn = '';
if ($colstr != '') {
$len = strlen($colstr);
for ($i = 1; $i <= $len; $i++){
$wk = substr($colstr, -1 * $i, 1);
$wk = strtoupper($wk);
$pos = strpos(self::_ALPHABET, $wk);
if ($pos >= 0 and $pos < self::_ALPHABET_CNT) {
$rtn = $rtn + (($pos + 1) * pow(self::_ALPHABET_CNT, ($i-1)));
}
}
}
return $rtn;
}

アップロードしたExcelファイルの中身を取得してDBに登録、とかが簡単にできていい感じです。
csv形式で保存してもらってもいいんだけど、csv形式に保存する説明をするのが結構めんどいので、こっちで用意したExcelファイルにデータだけ入れてもらって、そのファイルを直接アップロードしてもらう方が手順も説明も簡単なのでいいと思います。
Excel_Peruserは、Excel2003形式用のライブラリなので2007形式のファイルは読み込めないようですが、まだまだOffice2003ユーザは残ってるからしばらくはこれでいいんじゃないかなーと思います。2007形式(.xlsx)で保存されると、Excel2003で読めないですもんね。(読めると思うけど、互換パックの説明とかめんどい。)(ひどい。)

  • メール送信

Qdmail
http://hal456.net/qdmail/
Qdsmtp
http://hal456.net/qdsmtp/
あっさりと送れました。添付ファイルとかあるとまた違うのかもしれないですけど。

require_once('../tools/qdmail/qdmail.php');
require_once('../tools/qdmail/qdsmtp.php');
(中略)
$qdmail = & new Qdmail();
$qdmail->smtp(true);
$param = array(
'host'=>'smtp.example.com',    // メールサーバー
'port'=> 587,                  // これはSMTPAuthの例。認証が必要ないなら25でOK。
'from'=>'from@example.com',    // Return-path: になります。
'protocol'=>'SMTP_AUTH',       // 認証が必要ないなら、'SMTP'
'user'=>'userid@example.com',  // SMTPサーバーのユーザーID
'pass' => 'pass999',           // SMTPサーバーの認証パスワード
);
$qdmail->smtpServer($param);
$qdmail->errorDisplay(false);
$qdmail->smtpObject()->errorDisplay = false;
$qdmail->smtpLoglevelLink(true);
$qdmail->logPath(LOGS);
$qdmail->logFileName("mail.log");
$qdmail->errorlogPath(LOGS);
$qdmail->errorlogFilename("error_mail.log");
$qdmail->to('test@test.com', 'テストさん');  // あて先
$qdmail->from('info@test.com');   // 送信元
$qdmail->bcc('mymail@test.com');  // BCCで送る場合に設定
$subject = 'テスト';
$qdmail->subject($subject);  // 題名
$text = 'テストですよー。';
$qdmail->text($text);        // 本文
$rtn = $qdmail->send();      // メールを送信
  • PDFファイル作成

tcpdf
http://www.fpdf.org
PDFファイルを作成するライブラリです。
私が使ってるのはバージョン 5.9.029 ですが、日本語も特に化けることなくすんなり使えました。

require_once('../tools/tcpdf/config/lang/eng.php');
require_once('../tools/tcpdf/tcpdf.php');
const FONT_GOTHIC = 'kozgopromedium';
const FONT_MINCHO = 'kozminproregular';
(中略)
$pdf = new TCPDF($orientation='P', $unit='mm', $format='A4', $unicode=true, $encoding='UTF-8', $diskcache=false);
$pdf->SetTitle($title);
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$language = array('a_meta_charset' => 'UTF-8', 'a_meta_dir' => 'ltr', 'a_meta_language' => 'ja', 'w_page' => 'ページ : ');
$pdf->setLanguageArray($language);
$pdf->SetMargins($marginleft=20, $margintop=30, $marginright=20);
$pdf->SetHeaderMargin(15);
$pdf->SetFooterMargin(15);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->setHeaderFont(Array(self::FONT_GOTHIC, '', 11));
$pdf->setFooterFont(Array(self::FONT_GOTHIC, '', 10));
$pdf->setHeaderData($logo='', $logowidth=0, $headertitle='', $headerstring=$title);
$pdf->setPrintHeader(true);
$pdf->setPrintFooter($withpage);
$this->pdf->AddPage();
$this->pdf->SetFont(self::FONT_GOTHIC, '', 12);
$txt = 'テストです!';
$this->pdf->Write($h=0, $txt, $link='', $fill=0, $align='L', $ln=true, $stretch=0, $firstline=false, $firstblock=false, $maxh=0);
$this->pdf->Ln(3);
$txt = 'テストですよ!';
$this->pdf->Write($h=0, $txt, $link='', $fill=0, $align='L', $ln=true, $stretch=0, $firstline=false, $firstblock=false, $maxh=0);
$filename = 'test.pdf';
$this->pdf->Output($filename, 'D');

ちなみに、Output() の第2引数は
I : ブラウザに出力する(既定)、保存時のファイル名が$nameで指定した名前になる。
D : ブラウザで(強制的に)ダウンロードする。
F : ローカルファイルとして保存する。
S : PDFドキュメントの内容を文字列として出力する。
だそうです。
ちなみに日本語ファイル名でファイル出力したい場合は、こんな感じにしないとブラウザによっては化けまくりです。
(プログラムの文字コードはUTF-8です。)

$charset_pg = 'UTF-8';  // PGはUTF-8
$charset = 'UTF-8';     // 基本はUTF-8
$ua = $_SERVER['HTTP_USER_AGENT'];
if (strstr($ua, 'MSIE') && !strstr($ua, 'Opera')) {
// IE(オペラの仮装でない)はSJISにしないと化ける
$charset = 'SJIS-win';
}
if ($charset != $charset_pg) {
$filename = mb_convert_encoding($filename, $charset, $charset_pg);
}