2019-11-24

アニメ映画、市民駅伝

去年もこの時期に似たようなエントリーを行いましたが、今年も恒例の市民駅伝が無事終了しました。去年と同じ1区を走ることになったので、前回の反省を活かしてスタートから飛ばしましたが初めの500mほどで失速してその後は我慢のレースになってしまいました。後半はヘロヘロになり一気にペースが落ちてしまいました。ただ、距離が前回から400m短くなったので何とか目標タイム以内に収めることができ、他のメンバーに迷惑をかけずに済みました。1区の区間距離2.9kmが正しいとするとキロ4分7秒ペースで走ったことになります。前回は4分16秒ぐらいだったので少しは良かったのでしょうか。練習ではこのタイムでは走れなかったのでやはり本番のレースでは気合が入って無茶しているようです。毎年レース後に来年はもう少し練習しようと思うのですがいつも10月になって焦り始めて何とかごまかしごまかしで走っているので改善しないといけないですね。とはいえ、あまりプレッシャーになるのも良くないので体調管理もかねて気長に取り組みたいと思います。走り過ぎるとケガの危険もあるので。

駅伝の後は子供が楽しみにしていた『アナと雪の女王2』を家族で見に行きました。前作はDVDで子供と何度も見たので興味深く見ました。子供も大人も楽しめるアニメミュージカルでした。個人的には前作よりも面白かったです。ミュージカルと言えばCATSの映画が近日公開されるそうです。アニメではなく実写とのこと。もし機会があれば観てみようと思います。とはいっても最近は子供が見たいものしか劇場では見ていませんが。先月は去年同様、子供のお友達のパパにチケットを融通してもらってプリキュアの映画を子供2人パパ2人で観に行きました。去年は歴代のシリーズキャラクター全員集合の豪華版だったので圧倒されましたが、今年は何故か途中で眠くなって寝てしまいました。チケットもらったのに悪いことしました。ただ、子供たちは楽しかったようで良かったです。来年は小学生なのでプリキュアの映画に行くことはもうない気がします。

2019-11-20

Lotus Sutra (法華経):法の下の平等思想

NHKの『100分 de 名著』が再放送されています。最近は小松左京の作品や大江健三郎の『燃え上がる緑の木』などが紹介されていて興味深く拝見していましたが、今月は法華経が取り上げられています。

https://www.nhk.or.jp/meicho/famousbook/75_hokekyou/index.html

指南役の植木雅俊さんは、サンスクリット語の原典を読み込んで正に人生をかけて法華経の思想を理解した方だけに、その解説は素晴らしいものでした。早速本屋で近著


を購入しました。さすがに全文は読み切れていませんが、序文と各章の『解説』を読むだけでも法華経の真髄に触れることができるはずです。本来なら人生を掛けて修行しないと得られないような教えがこのような貴重な本のおかげで知識として得られるとは非常に有り難いことです。

Wikipediaによると法華経(Lotus Sutra)は大乗仏教(Mahayana)の代表的な経典であるとのことですが、植木さんの解説(75ページ)によると法華経は小乗仏教、大乗仏教にある差別思想を越えてより一般に誰もがブッダになることができると説いています。この点で法華経は原始仏教の平等思想への回帰を目指していると強調されています。植木さんの解説で特に印象深かったところ(274ページ)を少し長くなりますが引用します(下線筆者)。
 仏教では人間からかけ離れた絶対者的存在を立てない。中村元先生は「西洋の絶対者(=神)は人間から断絶しているが、仏教において絶対者(=仏)は人間のうちに存し、人間そのものである」(『原始仏教の社会思想』、261頁)と言われた。決して個々の人間から一歩も離れることはない。仏教は、人間を原点に見すえた人間主義であり、人間を”真の自己”(人)と「法」に目覚めさせるものであった。
 「人」は具体的な人格的側面、「法」は普遍的な真理の側面を捉えたものである。これは、人間と真理との関係を捉える仏教独自のものの見方だと言えよう。仏教は、「人」と「法」は一体であるべきだと説いた。「法」は宙ぶらりんの状態では価値を生じない。「人」の生き方に具現されてはじめて価値を生じる。原始仏典に「私(釈尊=人)を見るものは法を見る。法を見るものは私を見る」(『サンユッタ・ニカーヤ』)とあるように、その「法」を覚ったことで釈尊という「人」はブッダ(目覚めた人)となった。その「法」は、釈尊が発明したものでもなく、専有物でもない。誰にも開かれている。その「法」を「人」に体現して、「真の自己」に目覚めることが仏教の目指したことであった。 
「法」とは普遍的な真理つまり自然を記述する理論(物理理論)と解釈すると、人間の内面を自然と一体化することが、原始仏教の目指したゴール(の一つ)であり、その自然を象徴するものとして蓮の花(lotus)に仏教の教えが託されたのであろうと感じました。

2019-11-18

Mathematical Review 104: light-cone quantization 雑感

久しぶりにMathematical Reviewsに寄稿しました。内容はこちら。いまや歴史的な存在の感のある光錐(light-cone)座標についてでした。シンプレクティック構造を用いた量子化(シンプレクティック量子化というらしい)を使って、light-cone座標での量子化を提案するという(モチベーションとしては)素朴なものでしたがこのあたりの基礎論的な内容は少しオールドファッションのようであまり人気はありません。確かに、使う座標が違っても物理的には同じことをしている訳なのだからフォーマルなことにこだわらなければスルーするような内容かもしれません。個人的には複素構造も加味して幾何学的量子化にまで言及してくれた方が話がすっきりしていいのになあという感想を持ちました。

Light-coneと言えば弦理論の量子化が初めて行われた座標ということで有名です。その第一人者の一人であるミチオ・カク先生はニューヨーク市立大学でお世話になりました。カク先生は早くから超弦理論の教科書を執筆されていて、私もその教科書で弦理論をかじっていたので大学院の授業でもてっきりカク先生が教えているのだろうと思っていましたが、実際には先生は執筆活動やテレビ・ラジオでの普及活動に忙しく、大学では学部生向けの天文学の授業しか講義されていませんでした。一度、その天文学の授業のティーチングアシスタント(TA)になって、授業を垣間見たことがあります。ベストセラーになった先生の著書



が参考図書になっていて充実した内容かつエンターテイメント性もあり学部生への講義のお手本のような授業でした。私がTAをしたころはVISONSをちょうど書き終えた頃でどちらの本も興味深く読みました。どちらも分かり易く書かれていてお勧めです。Hyperspaceのほうは弦理論に関連付けた多次元世界の解説、VISIONSのほうは素粒子理論家による未来予測といった内容だったと記憶しています。

2019-11-01

有給休暇取得日数の自動計算

以前に作ったシステムを再利用することになったので一部紹介します。有給休暇は労働基準法で認められた労働者の権利です。最大限利用しましょう!有給休暇の取得日数の計算は例えば


例として社員のメールアドレスが uid@example.biz で与えられているとしましょう。ここで、uidは社員のユーザーIDです。有給休暇の計算は入社日が分かれば計算できるのでmysqlのデータベースに以下のコマンドで yukyu_usr というテーブルを作成します。
-- データベース: `intra_example`
-- テーブルの構造 `yukyu_usr`
CREATE TABLE IF NOT EXISTS `yukyu_usr` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `uid` varchar(120) COLLATE utf8_unicode_ci NOT NULL,
  `name` varchar(120) COLLATE utf8_unicode_ci NOT NULL,
  `start_date` date DEFAULT NULL,
  `hold` decimal(3,1) DEFAULT NULL,
  `used` decimal(3,1) DEFAULT NULL,
  `status` int(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
start_dateには入社日を設定します。ステイタスが"1"の場合を有効とします。

あとは毎月1日にこのデータベースを更新すればいいだけです。作成したファイルは以下の通りです。


このファイルを例えば毎月1日の午前1時20分に起動させる場合はcrontabに

20 1 1 * * root php -q /var/www/html/intra_example/yukyu_auto01.php

と記述します。cronの設定については


などを参考にしてください。

2019-10-22

即位礼正殿の儀

今日は天皇陛下の「即位礼正殿の儀」の祝日でした。めったにない機会なのでテレビ(NHK)で興味深く拝見しました。関係者は緊張の連続でしたでしょうが、滞りなく執り行われたようで傍観者ながら一安心しました。安倍首相が寿詞(よごと)を無事に上奏されたのを見届けたときには、思わずガッツポーズが出てしまいました。令和の世を幸先よくスタートできたので良かったです。

以前のエントリーで上皇陛下の御在位三十年記念式典でのおことばを引用したので、今回も天皇陛下のおことばを宮内庁のサイトから引用します。

即位礼正殿の儀の天皇陛下のおことば(令和元年10月22日)
さきに,日本国憲法及び皇室典範特例法の定めるところにより皇位を継承いたしました。ここに「即位礼正殿の儀」を行い,即位を内外に宣明いたします。
上皇陛下が三十年以上にわたる御在位の間,常に国民の幸せと世界の平和を願われ,いかなる時も国民と苦楽を共にされながら,その御心(みこころ)を御自身のお姿でお示しになってきたことに,改めて深く思いを致し,ここに,国民の幸せと世界の平和を常に願い,国民に寄り添いながら,憲法にのっとり,日本国及び日本国民統合の象徴としてのつとめを果たすことを誓います。
国民の叡智(えいち)とたゆみない努力によって,我が国が一層の発展を遂げ,国際社会の友好と平和,人類の福祉と繁栄に寄与することを切に希望いたします。

ついでに英語の文書も引用します。

Addresses by His Majesty the Emperor (October 22, 2019)
Having previously succeeded to the Imperial Throne in accordance with the Constitution of Japan and the Special Measures Law on the Imperial House Law. I now perform the Ceremony of Enthronement at the Seiden State Hall and proclaim my enthronement to those at home and abroad.
I deeply reflect anew that for more than 30 years on the Throne, His Majesty the Emperor Emeritus constantly prayed for the happiness of the people and world peace, always sharing in the joys and sorrows of the people, and showing compassion through his own bearing. I pledge hereby that I shall act according to the Constitution and fulfill my responsibility as the symbol of the State and of the unity of the people of Japan, while always wishing for the happiness of the people and the peace of the world, turning my thoughts to the people and standing by them.
I sincerely hope that our country, through our people’s wisdom and unceasing efforts, achieves further development and contributes to the friendship and peace of the international community and the welfare and prosperity of humankind.

Rugby World Cup 日本代表の皆様おつかれさまでした!

先日の南アフリカ戦で日本代表チームの敗退が決まってしまいましたが、これまで素晴らしい戦いぶりで感動をありがとうございました。選手の皆様、おつかれさまでした!ゆっくり休んでまた4年後に向けて頑張ってください。

先日の試合は前半を観た感じでは充分に勝機があると思いました。むしろ、日本のペースではないかと思ったほどです。というのも、これまでの戦いぶりからフィットネス・持久力では日本に分がありそうだったので後半になって日本が先にトライを取ればそのままボールをキープして勝ちきれるのではと期待しました。後半の強さは4年前の南ア戦も記憶に新しく悪いイメージはありませんでした。しかし、ベスト4の壁は厚かったです。4年前はグループリーグの初戦だったので日本は万全の態勢で臨めましたし、南アには油断もあったでしょうが、今回は全く状況が違いました。まず、日本はグループリーグでの連戦で主力選手が万全の状態ではなかった点、特にこれまでフル出場していた田村選手、姫野選手が途中交代を余儀なくされたのが痛かったです。一方、日本より長い準備期間のあった南アチームの気力の充実ぶりには目を見張るものがありました。前回の反省を生かして充分に日本チームの分析・対策を練っていたことが分かりました。プレーが止まるごとに日本選手に突っかかってきたり、反則ギリギリのプレーをしている様子から今回は絶対に負けないという気持ちが前面に出ていました。特にMVPを取ったスクラムハーフ・デクラーク選手の動きが良かったです。前半は日本もそんな相手に真っ向勝負で充分に対応しており、得点ではリードされていたものの試合内容では互角以上でした。前半の日本のペースの時間帯にトライを奪えていれば全く違う試合になったと考えると悔しいですね。南アの日本対策の一例として今泉清さんが専門家らしい素晴らしい解説をされています。

審判さえ欺いた南アの出足、経験差に泣いた/今泉清

後半の試合は悪夢を見ているようでした。前半キープできたボールを尽く奪われて観ていて歯がゆかったです。南アはフレッシュな強力フォワードを投入して力勝負に持ち込み、密集でのボール奪取力が向上しました。フィジカル勝負のモールで長距離を押し込まれトライを取られた辺りから日本としては成す術がなくなってしまった感があります。観戦していてやはりラグビーはフィジカル勝負のスポーツなのかと何故かモヤモヤしたまま試合終了となりました。そのモヤモヤの原因は

1.なぜ後半になってラインアウトを立て続けに奪われたのか
2.なぜ相手を走らせてフィットネス勝負に行けなかったのか
3.なぜ試合の流れを途中で変えることができなかったのか

という疑問が全てフィジカル勝負で負けたからというので片付けられるのだろうかと感じたからです。もちろん世界のベスト4に入るようなチームは圧倒的なフィジカルが必要であることは承知していますが、今回の敗因はそれだけではないと個人的には感じました。単なる1ファンにすぎませんが素人考えで分析してみます。

2019-10-17

Rugby World Cup 日本!

先日のスコットランド戦は素晴らしかったです。20日の準々決勝の南アフリカ戦が迫ってきました。ドキドキしますね。選手の皆さんには全力を発揮してもらいたいと思います。 All Out! 今回のエントリーでは、ラグビーについての断片的な印象を雑記風に書き残しておこうと思います。

まず、ラグビーというのは非常に特殊なスポーツです。プレーするためにトレーニングを充分にしていないと大怪我をすることになり、一瞬の気の緩みで身体的に一生を台無しにしてしまうような危険性があります。その意味でラグビーの導入にあたってはラグビースクールに通って専門家による指導を受けるのが望ましいと思います。それには家庭の協力、特に親御さんが子供にラグビーをさせたいという意思がないと難しいのではないでしょうか。私達のころは中学高校から部活でラグビーを始めることがほとんどでしたが今ではどうなのでしょうか。ラグビー指導の知識のある学校の先生は限られていますし、少子化の影響、子供に危険なスポーツをさせたくないという保護者の意見などからラグビー部の数は減っているはずです。私の通っていた目黒十中でも私が入学したころはラグビー部がありましたが、2年生の時に顧問の先生が異動になりラグビー部は(部員の強い存続希望を無視して)廃部になりました。その時の顧問の先生は十中の卒業生でラグビーで有名な目黒高校を出てその後ニュージーランドで指導者の勉強をしてきたという素晴らしい先生だったそうです。友人の話によると中学のラグビーの試合でも骨折、脱臼は当たり前で中には失明しかけた人もいたそうです。また、妻の話によると大学医学部のラグビー部の知り合いが試合で大怪我をして半身不随となり一生車椅子生活を余儀なくされたという悲惨なケースもあるようです。今回のラグビーブームでラグビーをする若者が増えると予想されますが、安易な気持ちで始められるスポーツではないことはよくよく理解しておかないといけません。中高生の場合、血気盛んなので年長者による適切な指導がないと相手をケガをさせるようなラフプレーに走ることもあるでしょう。ラグビーはとても魅力的なスポーツですが、しっかりしたマインドとフィジカルがない限り基本的にプレーしてはいけないエリートスポーツであることを誰もが認識する必要があります。

ラグビーについては私は専ら観戦するだけですが、小学生のころ一度(か二度)実際にラグビーボールを使ってラグビーをやったことがあります。昔の神戸外大のグラウンドで野球をして遊んでいたら近くの中学生ぐらいのお兄ちゃんたちがラグビーボールを持ってきていて、一緒にラグビーしようということになり、メチャクチャでしたがとにかくボールを後ろに回したり、見よう見まねでタックルしたり、3人対3人のスクラムを組んだりしてとても楽しかった記憶があります。ちょうどスクールウォーズのドラマが放送されていたころでオープニングの「ヒーロー」の曲に合わせて縄跳びを学年全員でとぶという演目を小学校の運動会で行ったのが妙に記憶に残っています。スクールウォーズは中学生の時に再放送で見て感動したのですが、ラグビー部の激しさを垣間見ていたので実際にラグビーをやろうとまでは思いませんでした。

生身の体がぶつかり合い、力と力の勝負をする。これがラグビーの醍醐味ですが、ラグビーではポジション別に運動能力の異なる15人のプレーヤーがいるのでテクニカルな戦術・スキルで魅せる華やかな部分もあり、エンターテイメントとしても素晴らしいです。そして何よりもそのようなフィジカル・テクニカルな面を下支えする最も重要な要素としてメンタル面、熱く冷静な気持ち、が挙げられます。技術うんぬんよりも気持ちが大事と言われる所以(ゆえん)です。観ている方にもそのような気持ちが伝わり自ずと力が入り、白熱した試合では特に盛り上がります。このような魅力的なスポーツはなかなかありません。

2019-10-11

PHP5.3, CakePHP2.x に LineWorks 導入あれこれ

昨日のエントリーの続編です。集合要請時にメールだけではなく2017年2月からはLineWorksでも通知できるようにしました。当時はWorksMobileという名前でしたが、今では社名はそのままでサービス名はLineWorksとなっています。使用するAPIは

https://developers.worksmobile.com/jp/document/3005001?lang=ja

です。2017年時点ではネット検索してもあまり解説が見つからなかったため、上記の公式ガイドなどを読み込んで実装した記憶があります。上記URLの最後に書いているように
HTTP リクエストでパラメータを渡すときは、application/json 方式を基本とします。Header と body すべて application/json 方式を遵守しなければなりません。パラメータの形式は、各 API の説明にて確認してください。
とのことです。application/json 方式を遵守(じゅんしゅ)ということなのでリクエストパラメータを次のように設定します。

\$request = array('header' => array('Content-Type' => 'application/json', 'ConsumerKey' => 'xxxx....xxxx', 'Authorization' => 'Bearer xxxxxxxxxxx...xxxxxxxxxxxx') );

ここでConsumerKey, Authorizationコードはこちらで解説されているもので、その発行は Developer Console で行います。登録に必要なURLは2017年2月時点では

\$url_reg = 'https://apis.worksmobile.com/{API ID}/message/registerBot';

でした。API IDは上記のDeveloper Consoleで最初に発行されるものです。その後、2017年の10月にはこのURLが

\$url_reg = 'https://apis.worksmobile.com/{API ID}/message/registerBot/v2';

と変更になり、今では

\$url_reg = 'https://apis.worksmobile.com/r/{API ID}/message/v1/bot';

になっています。こういうのはコロコロ変更してもらっては困りますね。登録時に渡すパラメータの設定も変更されています。以前は、

\$params_reg = array(
'name' => 'サービス名',
'photoUrl' => '画像ファイルのあるURL',
'url' => '',
'extras' => '',
'adminEmail' => '管理者メールアドレス',
'status' => '1'
);

という形式でOKでしたが、今ではこれではダメで

2019-10-10

PHP5.3, CakePHP2.x に Twilio 導入あれこれ

以前紹介したシステムにtwilioを導入して、集合要請時に携帯電話に自動通話を行いメール確認を促す仕組みを作ることになりました。メールだけでなく電話も来たら急かされるようで鬱陶しいと個人的には思いますが、人命にかかわる緊急事態なので仕方ないのでしょう。twilioについては以前SMSメッセージを送るスクリプト(例えばこちらを参照)を作ったことがあったので通話発信も同様にやればいいだろうと考えていましたが、早速つまずきました。以前と同じようにこちらなどを参考にスクリプトを書いたのですが500番エラーが出てどうにもなりません。エラーログにversion, upgradeなどの単語が入っていたのでテスト用のサーバがPHP5.3と古いものなので読み込むTwilio PHPライブラリーのバージョンが問題なのかと見当をつけ、手動ではなく昔よく使ったPEARでインストールすることにしました。

https://docs.microsoft.com/ja-jp/azure/partner-twilio-php-how-to-use-voice-sms

を参考にして

[root@xxxxxxx ~]#  pear channel-discover twilio.github.com/pear
[root@xxxxxxx ~]#  pear install twilio/Services_Twilio

とすると

[root@xxxxxxx ~]# pear install twilio/Services_Twilio
Unknown remote channel: pear.survivethedeepend.com
Did not download optional dependencies: channel://pear.survivethedeepend.com/Mockery, use --alldeps to download automatically
twilio/Services_Twilio can optionally use package "channel://pear.survivethedeepend.com/Mockery"
downloading Services_Twilio-3.12.6.tgz ...
Starting to download Services_Twilio-3.12.6.tgz (85,763 bytes)
........done: 85,763 bytes
install ok: channel://twilio.github.io/pear/Services_Twilio-3.12.6

となり上手くインストールされたようですが、エラーは消えませんでした。PHPパッケージのインストールは今ではPEARではなくcomposerというのが主流のようで、公式サイト


でもサーバ環境にあったパッケージを自動でインストールしてくれるcomposerを推薦しているので


を参考にしてまずcomposerをインストールしてみると

[homepage@xxxxxxx ~]# php composer-setup.php
Downloading...

Composer (version 1.9.0) successfully installed to: /home/homepage/composer.phar
Use it: php composer.phar

Some settings on your machine may cause stability issues with Composer.
If you encounter issues, try to change the following:

Your PHP (5.3.3) is quite old, upgrading to PHP 5.3.4 or higher is recommended.
Composer works with 5.3.2+ for most people, but there might be edge case issues.

となりPHP5.3.3はかなり古いよ!との警告が出ました。とりえず無視してtwilio/sdkをインストールすると

[root@xxxxxxx ~]# composer require twilio/sdk
Using version ^5.19 for twilio/sdk
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing twilio/sdk (5.19.3): Downloading (100%)
Writing lock file
Generating autoload files

無事インストールされたようです。twilio/sdkのパッケージリスト


によると現時点で最新のバージョンは5.36.1でPHP5.5以上に対応しています。PHP5.3に対応している最新版が5.19.3なのでしょう。

これでバージョン問題は解決したはずなのですがまだエラーが解消しませんでした。エラーログにversion, upgradeなどと出ていたのでてっきりPHPパッケージのバージョンが問題なのだと勘違いしていましたが、試行錯誤の末たどり着いた解決策は

2019-10-02

乾徳山 月見岩まで

火曜日は研究日ということにしているのですが、ここ最近は全くやる気が起きないので思い切って乾徳山まで行きました。子供の保育園の送迎があるので9時出発17時帰りという時間制限があるため登頂は諦め、月見岩まで登って帰ってきて何とか間に合いました。川沿いの登山道から入り、登山口に着くまで一度間違えたかと思って数百メートル引き返してしまったのは失敗でした。




地図を持参したのですがこの道じゃない気がして
一度引き返してしまいました。

ここが登山口!


駐車場を出たのが11時前でここまで30分ぐらいかかってしましました。この時点で登頂は難しいかなと思いながらとりあえず13時まで登って13時過ぎには下山することに決定。