[クラシック] 2018「平和の夕べ」コンサート

今日は昼から、例年の「平和の夕べ」コンサートに出かけた。暑いので仕方がない、車で。しばらく、駐車場を探してうろうろ。下手なところに停めると、電車で来て、歩くのとそんなに変わらない。ようやく広島文化学園HBGホールの近くに見つける。ネルソン・フレイレと広響のブラームス:ピアノ協奏曲第2番変ロ長調を聴くのが目的。

21列目、少し後ろだったが、ピアノを弾くのが見える左側だった。鍵盤の上を軽やかに手指が踊るというのが相応しい。超速弾きでも弱音でもまったく揺るがない、驚異的、余裕の超人的テクニック。ネルソン・フレイレ - Wikipediaによれば、73歳だが、ピアノの前に座れば完全に超人。演奏は明瞭で力強く柔らかい。長時間の演奏をものともしない。アンコールも二曲で答えられた。

コンサート・パンフとネルソン・フレイレのページ

../コンサート・パンフとネルソン・フレイレのページ

以前はマルタ・アルゲリッチとのラ・ヴァルスの共演で知られていたらしいが、最近はアルバムも多く出てきている。少し、Apple Musicで聴いてみよう。


まず、バッハ、ブラームス、ショパンのピアノ作品を聴いた。いずれも今日の演奏から伺える素晴らしさだ。

帰宅すると、エアコン28℃設定で室温29℃。外気温を調べると34℃。7月のツクツクホウシも出てくるのをやはり間違えたかとどこかで思っているに違いない。Apple Musicのチル・ミックスにビル・エヴァンスの「What Are You Doing the Rest of Your Life?」が流れて、タイトルの言葉の意味に身をつまされる。長い夏だ・・・What Are You Doing The Rest Of Your Life? | Groovy Groovy ~and all that jazz~によれば、悲しい歌ではない・・・恋愛歌。

更新: 2018-08-05T23:15:37+09:00

[日記] 奇妙な日々

お疲れモード。毎日、疲れるために出社しているようなものだ。何かすれ違いばかり。いい加減にしようかと思ったり、そういうわけにもいかんと思ったり、行きつ戻りつ・・・

要は知らないことを如何に理解するかに関わっている問題なのだが、まだまだ、前近代的レベルにとどまっている。自分の中では少しずつ前進しつつあるというのが慰めではある。

当面、自分だけのことを考えて進むしかないかも・・・どこに到達すればわかったということになるのか。

今日はネルソン・フレイレ(Nelson Freire)のシューマン:ピアノ作品集を聴いている。子供の情景の「第12曲 眠りに入る子供」が静かに流れている。

続けて、マルタ・アルゲリッチと共演・競演したラフマニノフ・ラヴェル・パガニーニの二台のピアノのための三曲、それぞれ、組曲 No.2、La Valse、パガニーニによるテーマの変奏曲を聴いた。

さらに、ブラームスのピアノ協奏曲の1番と2番をリッカルド・シャイーのライプツィヒ・ゲヴァントハウス管弦楽団と録音したアルバムを聴いている。第1番のオーケストラの迫力と緊張感が凄い。はて、疲れを忘れて聴き入る。

更新: 2018-08-06T22:49:01+09:00

[日記] 奇妙な日々 2

今日はいろいろな情報が入ってくる。その情報は下手をすれば入ってこない情報であったかもしれないのだが、誰かさんのさじ加減のお蔭で入ってくるようになった。みんな、ほとんどの人はそれほどの関心はない。添付ファイルの中身を見ていない可能性も高い。まあ、別になくても周辺の断片情報から想像はついていたのだが・・・事実の重みは推論を上回る。具体性・正確性が高まる。

さてさて、話は変わって、昨年から予想していたことが実際に起き始めた。起きないはずはないのだが、現実の難しさも合わせて見えてくる。なるほど・・・と思う。ある意味、素晴らしいとも言える。が、・・・想像の範囲内だから、むしろ真実味が増す。あってもおかしくない。そのほうがもっともらしい。

だからどうしたのだということになる。が、・・・考えるしかない。ロードマップが与えられた。

昨晩聴きそびれたネルソン・フレイレがブラームスのピアノ協奏曲の2番をリッカルド・シャイーのライプツィヒ・ゲヴァントハウス管弦楽団と録音したアルバムで聴いている。「平和の夕べ」コンサートで広響と演奏したのと同じ曲。静かなピアノと弦との掛け合いが美しい。

更新: 2018-08-08T04:12:01+09:00

[日記] 日々の泡を壊さないように

昨日から、「Learning Perl 6」とPerl 6 Documentationを調べながら、スクリプトを書いては試している。どのように書けば、どう動作するかというのは、実はサンプルスクリプトしか頼りにならない。あるいは、最も有効なのは、サンプルや経験を頼りに、自ら試してみること。WEBを検索してサンプルになるようなスクリプトが都合よく見つかればラッキーだが、まだ、Perl 6のリソースは少ない。今の段階では「Learning Perl 6」が、かなり頼りになると感じ始めている。が、今回見つけたようなことはどこにも書いていない。Perl 5で同じような書き方を経験しているから、見つけることができる。コンテキストが頼りなのだ。コンテキストに沿って書けば、Perlは動作する。そういうインスピレーションの源泉となるような書物が必要である。隅から隅まで知っているような。

盆休みも終わりに近づいている。お墓参りから、お寺さんを迎え、親戚・家族との会食、見送りでメインの行事は終わり。

昨日はようやく「ジュラシック・ワールド/炎の王国」をイオン・シネマで見てきた。子供連れで満席。子どもが見る映画だから字幕版は夜一回しかない。吹替え版で我慢する。最早、映像自体で驚くことはない。ストーリーが最大の売り物にならなくてはならない。及第点だとは思う。予想外の展開でもあるが、結局、次はどういうお話にするのだろうと他人事ながら気になる。エンディング・クレジットの前後で、ジュラシック・ワールドを垣間見せるのだが・・・

「平和の夕べ」コンサートを切っ掛けにネルソン・フレイレのアルバムをいろいろと当たって、ブラームスのピアノ協奏曲のつながりで、マウリツィオ・ポリーニを最新のものも含めて随分聴くことになった。ポリーニはやはり素晴らしい。どういう状況でも聴き続けられるのは、ビル・エヴァンスなのだけど。

さて、哲学の話も実は途切れたわけではない。まだ、冨田恭彦先生の著書をさらに調べていく予定だが、手持ちの本も豊富だし、今は、「マインズ・アイ」を読み掛け。『コンピュータ時代の「心」と「私」』という副題が付いている。編著者がD・R・ホフスタッターとD・C・デネットで、ボルヘスをはじめとして興味深い著作者が並んでいる。さてさて、「Perl 6」もあるが、気を取り直して・・・他にも読んで感想をまとめることを約束している本が気になっている。こちらも少しずつ消化しよう。

休み中にも夜中の仕事メールが飛んでくる。ご苦労さん。休みも出勤しているのだろうか・・・休み明けに詳細は読ませてもらおう。まあ、つい休み中でも仕事のことを調べ始めてしまうからね。いろいろ興味のあることが多過ぎる。

もっと他にも「日々の泡」がある。壊さないように気を付けて・・・

更新: 2018-08-16T21:53:43+09:00

[日記] もういくつかの「日々の泡」

今朝は外気温が23℃。湿度も低い。室温が28℃なので窓を開放した。夕方、最高気温の32℃を示している。既に窓は閉まっている。19時を過ぎると30℃まで下がる。エアコン29℃設定で、室温27℃。

ジュラシック・ワールドを調べると、「ジュラシック・ワールド3」の監督が発表!2021年に公開へが見つかる。他人事など心配することもない。脚本を誰が担当するのかとみると。

トレヴォロウは「パシフィック・リム:アップライジング」のエミリー・カーマイケルと共に3作目の脚本を執筆する。原案はトレヴォロウとデレク・コノリー(オリジナルの「ジュラシック・ワールド」を共同執筆した)。・・・

(「ジュラシック・ワールド3」の監督が発表!2021年に公開へ)

ここで、名前だけは聞いていて、気になっていた「パシフィック・リム」などの予告編をPrime Videoで見ると、真にガンダムという感じ。パシフィック・リム (映画) - Wikipediaによれば、SF怪獣映画ということになっているが。パシフィック・リム: アップライジング - Wikipediaは続編。エミリー・カーマイケルのWikipedia日本語版はないので、Emily Carmichael (filmmaker) - Wikipediaを載せておこう。トレヴォロウについてはColin Trevorrow - Wikipediaを参照。

Prime Videoの「次に観る」に並んでいるのはほとんどが見たものばかり。たくさんあり過ぎて日記に取り上げる機会もないが、なぜかな。ようやくトップに「BOARDWALK EMPIRE」と「パシフィックリム」が並んだ。ボードウォーク・エンパイアは禁酒法時代の米国のお話。知っている名前ではアル・カポネが出てくるぐらいだが、昔のお話しとしても、様々な人間を描いていて、なんだか魅力がある。最近、継続して見始めた。ゲーム・オブ・スローンズのHBO制作。五つ星。

外気温26℃なのに暑くなってきた。おかしい。エアコンを28℃設定に。室温26-27℃。日曜までは最低気温も少し低めだが、火曜日からは、また最低気温で夏日だ。

まだまだ、あるのだが・・・時間が足りない。一日が過ぎ行く。そう言えば、また、メールが届いていたけど・・・

(追記) デレク・コノリーについては、映画版「メタルギアソリッド」の脚本家に「ジュラシック・ワールド」のデレク・コノリーが抜擢が見つかる。この記事の中に映画版「メタルギアソリッド」の監督がIGNに“小島愛”語る 小島秀夫は監督を「天才」と絶賛へのリンクがある。情報のつながりで興味はいろいろと広がっていく。「キングコング:髑髏島の巨神」も出てくる。書物と同様に、情報の連環には切りがない・・・Derek Connolly - Wikipedia

更新: 2018-08-19T18:08:03+09:00

[日記] 日々の泡の誘惑

最近、Twitterのツイートが自動的にFacebookに流れなくなったような気がするけどね。8月からかな。お蔭様でFacebookの記事が伸びなくなった。まあ、いいけど。それを意識する必要があるかも。数日前にAmazonから届いた「お知らせ」メールのタイトルに、古田徹也著「言葉の魂の哲学」(講談社選書メチエ)があったので、気になって開くと、筒井康隆著「誰にもわかるハイデガー: 文学部唯野教授・最終講義」が、その下に連なっている。

えーっ、最終講義とは言え、「唯野教授」に続編!?、と調べに行く。どんな本だろうと、いつものことながら、誰にもわかるハイデガー: 文学部唯野教授・最終講義 感想 筒井康隆 - 読書メーターをチェック。「文学部唯野教授」のハイデガーについての講義部分(第5講「解釈学」)の話題を見つけて、そんなところあったっけと調べる。なるほどと・・・

本日記を調べると、小説の書き方 - 文学とは何か 現代批評理論への招待 (12/06/2014)の記事も出てくる。

文学部唯野教授、文学とは何か、存在と時間

../文学部唯野教授、文学とは何か、存在と時間

ハイデガーを理解するための方法とはというわけだが・・・


[Jazz] ブラッド・メルドーの音楽

だいぶ以前から、パット・メセニーとの共演で知っているピアニスト。Apple Musicの「For You」で「ブラッド・メルドー、隠れた名曲」というプレイスリストがあったので聴きはじめた。このピアニストの幅の広い音楽性が心を打つ。リストの最後から二つ目「ブレイム・イット・オン・マイ・ユース」が掛かっている。静かなトリオの曲。伴奏の左手の音が遠くで深く響く。

最近、「For You」で聴きたい曲を探すのに苦労していた。一週間に一度更新されるチル・ミックスは一日で聴いてしまう。他に出てくるアルバムなどは大体聴いたことがあるものばかり。これまで聴いていないわけではないけど、ブラッド・メルドーのアルバムを今一度漁ってみよう。

After Bach

../After Bach

誰もがバッハに戻りたくなるのかも。


さて、しばらく静かに聴こうか・・・もちろん、既に聴いたことはあるのだが・・・

[Perl 6] 不可能に手が届く - Learning Perl 6、ついにリリース

「Learning Perl 6」を検索すると、米国アマゾンでは9/25にリリースするとしている(Learning Perl 6: Keeping the Easy, Hard, and Impossible Within Reach: brian d foy: 9781491977682: Amazon.com: Books)。日本アマゾンには、10/5が出版日として入っている(Amazon | Learning Perl 6: Keeping the Easy, Hard, and Impossible Within Reach | brian d foy | Software Development)。

サブタイトルが「Keeping the Easy, Hard, and Impossible Within Reach」、「やさしいこと、むずかしいこと、そして不可能なことに手が届く」。期待して待とう。

[Perl 6] Jonathan Worthington

A Chat with Jonathan Worthington, Creator of Comma, a Perl 6 IDE Built on Top of the IntelliJ Platform | Company Blogネタ。

I started at Edument in 2010, as the first employee. I spent my first five years at Edument working in Sweden, doing a mix of teaching and consulting. These days, I'm living in Prague, and have started a new Edument office here. I've been taking a much-needed break from teaching and have been enjoying focusing more on consulting and building products.

A few years before joining Edument, I got involved with Perl 6 development. Back then, there was a lot of skepticism over whether the language would ever reach a stable specification and a production implementation. I'd been especially interested in compilers, runtimes, concurrency, and language design during my time at university. Perl was at the heart of my first business, started when I was a teenager, and I delivered numerous web application projects using it. So, helping with Perl 6 felt like a nice way to give back to the community that had freely given me a tool that I used to make a living for many years.

And what a ride it's been! Not just in that I came to play a key role in delivering the language and implementation, but every bit as much for the people I've had the pleasure to work with along the way.

(A Chat with Jonathan Worthington, Creator of Comma, a Perl 6 IDE Built on Top of the IntelliJ Platform | Company Blog)

Jnthn氏は、6guts | Tales of Perl 6 guts hackingにあるように2010年からPerl6の開発を続けている。2015年のクリスマスにはRakudo Perl 6の最初のリリースが実現した。Perl 6 Programming Languageを参照。最新の6gutsの記事は、Redesigning Rakudo's Scalar | 6guts。パフォーマンスを向上させるための開発は依然として継続している。

また、Jnthn氏が所属しているEdument - The knowledge based company within ITからは、Cro - elegant reactive services in Perl 6Comma - The Perl 6 IDEが相次いでリリースされている。

上記の引用は、Perl 6の統合開発環境、Commaのクリエータとしてのインタビュー記事の一部だが、Perlはティーンエイジャーでスタートした最初のビジネス、数多くのウェブ・アプリケーション・プロジェクトの核心だったとしている。根っからのPerl(5)ユーザーでもあるわけだ。Perlの有効性をよく知っているからこそ、遺伝子を引き継ぐPerl6の開発を継続されているのだろう。頼もしい。これからも期待している。

[Perl 6] Learning Perl 6 Quality Check 1

一昨日、brian d foy氏からDropbox経由で届いた。初めて、赤の斜め線の入っていないドキュメントが読めるのでうれしかった。早速、15章の正規表現を読み始めた。断片的には理解しているのだが、一度は系統立てて通して読む必要がある。当然、サンプルを動かしたい。

Windows 10 Pro上のPerl6バイナリ配布ではメインマシンの日本語ユーザー名ではzefインストーラが使えないし、Macも同じ。Linuxマシン調達の方向性もあるが、WSL(Windows Subsystem for Linux)をもう一度試してみようと思った。Source - Install Rakudo Star - Rakudo Compiler for Perl 6 Programming Languageにある。ソースからコンパイルしてインストールする。もう過去、2016年、2017年と二度試しているが、うまくインストールできなかったと思う。

今回はインストールできた。途中の「make rakudo-test」ではいくつかDubiousのエラーになったぐらい。Bash on Ubuntu on WindowsでもWSLのUbuntuのコンソールのいずれも同じ結果が得られた。lp6の簡単なサンプル・スクリプトをvimで編集して動作させたが問題ない。

新たな問題は、Unicode実装の最先端を走る「Perl 6」の出力するバラエティに富んだフォント。かわいい絵文字を使ったサンプルはWEBブラウザでは問題ないだろうが、WSLのBashでは、現段階ではWindowsのフォントシステムを利用しなくてはならない。選択肢から色々試してみても絵文字を使えるフォントがないように見える。Linuxでは自前でSymbolaというtruetypeフォントをインストールすればよいらしいということで、黒地に色付きのコンソールの文字が見難いことも合わせて、フルのLinux環境も試してみたいと思い始めた。やはりChromebookかな・・・

WSLやコンソールの色の問題は、Windows 10のWindows Subsystem for Linux(WSL)を日常的に活用する - ククログ(2017-11-08)に詳しい。

このブログでWSLをどのように使うものなのか、初めて理解した。WindowsのPerl6スクリプト開発用フォルダにWSLからシンボリックリンクを張って、スクリプトの編集はWindows上のエディタを使う、スクリプトの実行はWSL側でというのが便利そうだ。

lp6 environment on WSL

../lp6 on WSL

WSLからシンボリックリンクを張ったWindows上のフォルダに存在するforest_fire.p6をWSL上で実行している。


これで実際うまく動く。しばらく遊べそうだ。

もちろん、日本語ユーザー名のWindows 10 Pro上、Rakudo StarのWindows用バイナリ配布で、perl6が動作しないわけではない。キチンと動作する。単にzefインストーラがエラーになって、新しいモジュールをzefで追加インストールしたり、アップデートできないだけの話。バイナリ配布に含まれるモジュールは当然動作する。従って、配布に含まれていないライブラリ・モジュールを使う必要がない場合やアカウントに日本語ユーザー名を使っていない場合には、特にWSLにRakudo Starをインストールして使う必要はない。

更新: 2018-08-14T22:09:44+09:00

[Perl 6] Inline::Perl5

メインマシンでRakudo Perl6開発環境が整った今、気になっていたモジュールがどんな使い心地か試してみようと、zefで「Inline::Perl5」をインストールしてみることに。Rakudo Starをインストールする途中で「Inline::Perl5」モジュールがインストールできないというようなメッセージが出ていたこともある。

jscripter@Dell4:~$ zef install Inline::Perl5
===> Searching for: Inline::Perl5
===> Building: Inline::Perl5:ver<0.35>:auth<github:niner>
/usr/bin/ld: cannot find -lperl
collect2: error: ld returned 1 exit status
make: *** [/home/jscripter/.zef/store/Inline-Perl5-0.35.tar.gz/Inline-Perl5-0.35/resources/libraries/libp5helper.so] Error 1
The spawned command 'make' exited unsuccessfully (exit code: 2)
  in method build at /home/jscripter/.zef/store/Inline-Perl5-0.35.tar.gz/Inline-Perl5-0.35/Build.pm line 21
  in block <unit> at -e line 1
===> Building [FAIL]: Inline::Perl5:ver<0.35>:auth<github:niner>
Aborting due to build failure: Inline::Perl5:ver<0.35>:auth<github:niner> (use --force-build to override)

いろいろググってみると同様なことになっているらしい。

jscripter@Dell4:~$ find /usr/lib -name libperl*
/usr/lib/x86_64-linux-gnu/libperl.so.5.22
/usr/lib/x86_64-linux-gnu/libperl.so.5.22.1

「cannot find -lperl」と言われてもね。よくわからない。zef can't install Inline::Perl5. Maybe Build.pm can't create the "resources" directory. - Issue #100 - niner/Inline-Perl5 - GitHubあたりの情報を理解できればなんとかなるかもしれないのだが。話が複雑すぎる。

Install fails on windows 10 x64 - Issue #105 - niner/Inline-Perl5 - GitHubによれば、Windows 10上で動かせるのは間違いない。サブマシンではこの方法を確認してみよう。

それはともかく、さらに英文情報を調べると、Help building Inline::Perl5 : perl6が見つかる。他の情報で見つけて気になっていた「libperl-dev」がやはり足りないのだろうと。

jscripter@Dell4:~$ sudo apt-get install libperl-dev
[sudo] password for jscripter:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  libperl5.22 perl perl-base perl-modules-5.22
Suggested packages:
  perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl
The following NEW packages will be installed:
  libperl-dev
The following packages will be upgraded:
  libperl5.22 perl perl-base perl-modules-5.22
4 upgraded, 1 newly installed, 0 to remove and 175 not upgraded.
Need to get 10.1 MB of archives.
After this operation, 15.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libperl5.22 amd64 5.22.1-9ubuntu0.5 [3,396 kB]
Get:2 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 perl amd64 5.22.1-9ubuntu0.5 [238 kB]
Get:3 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 perl-base amd64 5.22.1-9ubuntu0.5 [1,284 kB]
Get:4 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 perl-modules-5.22 all 5.22.1-9ubuntu0.5 [2,645 kB]
Get:5 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libperl-dev amd64 5.22.1-9ubuntu0.5 [2,545 kB]
Fetched 10.1 MB in 30s (333 kB/s)
(Reading database ... 30642 files and directories currently installed.)
Preparing to unpack .../libperl5.22_5.22.1-9ubuntu0.5_amd64.deb ...
Unpacking libperl5.22:amd64 (5.22.1-9ubuntu0.5) over (5.22.1-9) ...
Preparing to unpack .../perl_5.22.1-9ubuntu0.5_amd64.deb ...
Unpacking perl (5.22.1-9ubuntu0.5) over (5.22.1-9) ...
Preparing to unpack .../perl-base_5.22.1-9ubuntu0.5_amd64.deb ...
Unpacking perl-base (5.22.1-9ubuntu0.5) over (5.22.1-9) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up perl-base (5.22.1-9ubuntu0.5) ...
(Reading database ... 30642 files and directories currently installed.)
Preparing to unpack .../perl-modules-5.22_5.22.1-9ubuntu0.5_all.deb ...
Unpacking perl-modules-5.22 (5.22.1-9ubuntu0.5) over (5.22.1-9) ...
Selecting previously unselected package libperl-dev.
Preparing to unpack .../libperl-dev_5.22.1-9ubuntu0.5_amd64.deb ...
Unpacking libperl-dev (5.22.1-9ubuntu0.5) ...
Setting up perl-modules-5.22 (5.22.1-9ubuntu0.5) ...
Setting up libperl5.22:amd64 (5.22.1-9ubuntu0.5) ...
Setting up perl (5.22.1-9ubuntu0.5) ...
Setting up libperl-dev (5.22.1-9ubuntu0.5) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
jscripter@Dell4:~$ zef install Inline::Perl5
===> Searching for: Inline::Perl5
===> Updated cpan mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/cpan1.json
===> Updated p6c mirror: http://ecosystem-api.p6c.org/projects1.json
===> Building: Inline::Perl5:ver<0.35>:auth<github:niner>
===> Building [OK] for Inline::Perl5:ver<0.35>:auth<github:niner>
===> Testing: Inline::Perl5:ver<0.35>:auth<github:niner>
===> Testing [OK] for Inline::Perl5:ver<0.35>:auth<github:niner>
===> Installing: Inline::Perl5:ver<0.35>:auth<github:niner>

あっさりとインストール完了。これで、WSL上でも使える。zefのテストも完了。

更新: 2018-08-11T11:08:16+09:00

[Perl 6] Atom Perl 6 Support

ATOM: language-perl6ネタ。AtomのPerl 6サポートは非常に早かった。

「Ctrl+Shift+B」で編集しているスクリプトを実行(run)することができる。スクリプトの編集・デバッグ環境としてかなり使えると思う。

Perl 5のDATAセクションに代わるもの

../Perl 5のDATAセクションに代わるもの

perl - Does Perl6 support something equivalent to Perl5's __DATA__ and __END__ sections? - Stack Overflow。Perl5のDATAセクションはよく使うので調べた。Podのブロックをdataという名前で使っている。ちなみに「Learning Perl 6」にはPodに関する記載はない。一人の力ですべてを書き尽すには、「Perl 6」は巨大すぎるかもしれない。Perl 6 Documentation


ZedやTera Padのようにスクリプトを編集中のテキストに対して実行できるともっとおもしろいのだけど。

Perl6の開発環境はかなりのレベルに達している。さて、Perl 6で何をするのかということ・・・まずは、じっくりと「Learning Perl 6」と向き合おうか・・・

「perl」関連のAtomパッケージは、Search Packages: perlにリストされる。

更新: 2018-08-14T10:47:13+09:00

[Perl 6] Write code everyday...

そろそろとにかく意味のあるものを書き始めようと...


use HTTP::UserAgent;
my $ua = HTTP::UserAgent.new;
$ua.timeout = 10;
my $url = 'http://text.world.coocan.jp/renewal.xml';
my $response = $ua.get($url);
if $response.is-success {
    #say $response.content;
		;
} else {
    die $response.status-line;
}
my @lines = $response.decoded-content.lines;
my $link = "";
my $title = "";
for (@lines) {
	s:g/\&quot\;/\"/;
	s:g/\&lt\;/\</;
	s:g/\&gt\;/\>/;
	if /href\=\"(<-[ " ]>+)\"<-[ \> ]>*\>(<-[ \< ]>+)\</ {
		$link = $/[0];$title = $/[1];
		if $link ~~ m/^http/ {
			say "ext-link: $link: $title\n";
		} else {
			say "int-link: $link: $title\n";
		}
	}
}

perl6 on Ubuntu on WSL

../perl6 on Ubuntu on WSL

上記のスクリプトをWSLのUbuntuコンソールで実行した画面。

上記のスクリプトは、更新日記上の記事(ATOM出力)に含まれるハイパーリンクとそのタイトルを抽出するスクリプト。更新日記内のハイパーリンクと外部のハイパーリンクを区別して抽出する。

URLの内容を取得することなどに利用できるモジュールは、LWP::Simpleではなく、HTTP::UserAgentを使うことが推奨されている。


サブマシンのrakudoのフォルダを調べてみると、やはり、最近のRakudo Starはライブラリをzefでインストールすることになっているようで、日本語ユーザー名のWindows 10 Proでは、今のところライブラリ・モジュールを使えない。その場合、モジュールを使おうと思えば、WSLのRakudo Starが必須である。

確認のために、2014年からインストールしてきたRakudo Starをすべてアンインストールして、rakudoフォルダと日本語ユーザー名のユーザー・フォルダの隠しファイル、.perl6と.zefを削除し、まっさらにして再度Rakudo Starをインストールしてみたが、.zef\storeのなかは完全に空だった。Chocolateyも使ってインストールしてみたが、同じこと。

PS C:\WINDOWS\system32> perl6 -v
This is Rakudo Star version 2018.06 built on MoarVM version 2018.06 implementing Perl 6.c.
PS C:\WINDOWS\system32> zef list
Failed to open file C:\Users\日本語ユーザー名が文字化け\.zef\store\MANIFEST.zef: No such file or directory
PS C:\WINDOWS\system32> zef info HTTP::UserAgent
Failed to open file C:\Users\日本語ユーザー名が文字化け\.zef\store\MANIFEST.zef: No such file or directory

アスキー文字列ユーザー名に設定されているWindows 10 Proサブマシンで作業してみると、Rakudo Starをインストールするだけで、上記のスクリプトは問題なく動作する。フォルダを調べるだけではどのようにライブラリがインストールされているのかわからない。

「zef --help」でコマンドを調べて、infoコマンドでHTTP::UserAgentモジュールを調べた。WSLの場合。サブマシンでも同様の結果だった。

jscripter@Dell4:~/perl6$ zef info HTTP::UserAgent
===> Updated cpan mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/cpan1.json
===> Updated p6c mirror: http://ecosystem-api.p6c.org/projects1.json
- Info for: HTTP::UserAgent
- Identity: HTTP::UserAgent:ver<1.1.46>:auth<github:sergot>
- Recommended By: Zef::Repository::Ecosystems<p6c>
- Installed: Yes, as HTTP::UserAgent:ver<1.1.45>:auth<github:sergot>
Author:  github:sergot
Description:     Web user agent
License:         MIT
Source-url:      git://github.com/sergot/http-useragent.git
Provides: 12 modules
Support:
#   bugtracker: https://github.com/sergot/http-useragent/issues
#   source:     git://github.com/sergot/http-useragent.git
Depends: 10 items
更新: 2018-08-14T21:06:14+09:00

[Perl 6] Write code everyday... (2)

少しずつ、調べていく。もちろん、Perl 5のアナロジーで。気づくのはPerlの精神の存在である。とにかく、何ごとも簡単にできるようにしようということ。ただ、根本的に異なるのは完全なオブジェクト指向になっていること。これを少しずつ学んでいく必要があるみたいだ。Perl 5のつもりだけだと困惑するだろう。

# read entire file as Windows-932 Str
my $text_contents = slurp "/mnt/c/sites/textworld/renewal.html", enc => "windows-932";
my $in = 0;
my @lines = $text_contents.lines;
for (@lines) {
	if m:i/\<DL\>/ {
		$in = 1;
	}elsif m:i/\<\/DL\>/ {
		$in = 0;
	}
	if $in {
		s:g/\&quot\;/\"/;
		s:g/\&lt\;/\</;
		s:g/\&gt\;/\>/;
		for my $matches = m:global/href\=\"(<-[ " ]>+)\"<-[ \> ]>*\>(<-[ \< ]>+)\</ {
#			say $matches[0][0], ' : ', $matches[0][1] if $matches;
			if $matches {
				#say $matches;
				if $matches[0][0] ~~ m/^http/ {
					say "ext-link: $matches[0][0] : $matches[0][1]";
				} else {
					say "int-link: $matches[0][0] : $matches[0][1]";
				}
				if $matches[1][0] {
					if $matches[1][0] ~~ m/^http/ {
						say "ext-link: $matches[1][0] : $matches[1][1]";
					} else {
						say "int-link: $matches[1][0] : $matches[1][1]";
					}
				}
			}
		}
	}
}

上のスクリプトでは、更新日記の一行に複数のハイパーリンクがある場合にもマッチして取り出せるようになっていて、ハイパーリンクの配列がURLとタイトルの配列を持つ多変数配列として取り出せるように一行のスクリプトで書き表せるところが、凄い。ただ、まだ、うまい取り出し方がわからない。この場合、普通の配列のように.shiftが使えないので、実用的に取りあえず、ハイパーリンクを二つまで取り出せるように書いた。(前回に書いたスクリプトは最初にマッチする一つしか取り出せない。)

最初のほうで、デスクトップのパス上のテキストファイルを取り込むのに、slurpを使っている。啜るという意味だ。書き出すほうには、spurt、噴き出すというメソッドがあるのだが、それとセットみたいな感じ。Perl 5にはなかったが、なかなかいかしている。簡単に書ける。linesのメソッドと併用すればテキストファイルを行単位で配列に簡単に取り込める。この簡単さはたまらない。

slurpのところのもう一つの要点は、SJIS日本語のテキストファイルもcp932(windows-932)で読み込めば、そのままUTF-8で取り扱えること。世の中の流れ、UTF-8の文字コードを中心にしていくことにすれば、何の支障もない。出力もWindowsなら、コマンドプロンプトもPower Shellも「chcp 65001」でUTF-8のコンソールに設定して使えばよい。WSLのBashならそのままで問題なし。

[Perl 6] Write code everyday... (3)

わからないことが残っていると癪。ここまできたら解決しないと。できるはずだし。

# read entire file as Windows-932 Str
my $text_contents = slurp "/mnt/c/sites/textworld/renewal.html", enc => "windows-932";
my $in = 0;
my @lines = $text_contents.lines;
for (@lines) {
	if m:i/\<DL\>/ {
		$in = 1;
	}elsif m:i/\<\/DL\>/ {
		$in = 0;
	}
	if $in {
		s:g/\&quot\;/\"/;
		s:g/\&lt\;/\</;
		s:g/\&gt\;/\>/;
		for my $matches = m:global/href\=\"(<-[ " ]>+)\"<-[ \> ]>*\>(<-[ \< ]>+)\</ {
			for $matches.kv -> $mnum, $match {
#				say $mnum, ' : ', $match;
#				say $match[0], ' : ', $match[1]
				my $num = $mnum + 1;
				if $match[0] ~~ m/^http/ {
					say "ext-link: $num : $match[0] : $match[1]";
				} else {
					say "int-link: $num : $match[0] : $match[1]";
				}
			}
		}
	}
}

これなら一行でマッチする数が多くても、ロジック的には問題なく取り出せる。.kvメソッドは、連想配列のキーと値を同時に取り出せる。いろいろ調べていくと、単純な配列ではなく、かなり複雑なデータ構造になっている。しかし、前のスクリプトで試して、配列のデータ要素にアクセスできることはわかっている。それに基づいていろいろとスクリプトを試した。結果として、連想配列になっていて、キーはその時マッチした0をスタートとする回数で、値はマッチした部分のリストになっている。値の方にはパターン全体にマッチした文字列も合わせて持っているようだ。ただし、値のリストとして取り出せるのは二箇所で部分マッチした文字列である。

rn_crawler.p6 rev.0.0.1

../rn_crawler.p6 rev.0.0.1

更新日記を様々な観点からデータベース化・構造化するスクリプトを考えている。これまで書いてきたものもそうなんだけど・・・断片的・・・世界とのつながりも含めて、もっと詳細に調べて、表現・レポートする。新しい記事を書くための材料を提供するようなデータベースとしての表現がどんなものになり得るかを追究している。

Bashの出力を見ると、日記記事の一つの段落に三つの外部へのハイパーリンクが存在する場合があることがわかる。


ということで、期待通りの処理ができるようになった。25~30年前にPerlを使い始めたころの充実感・ワクワク感が蘇ってくる。さて、正規表現の書き方を含めて、大体のことはわかってきた。正規表現は、Perl 5よりも整理されていてわかりやすいかもしれない。それは他の構文についても言えるように感じる。これからは、まったく新しい要素、やはり、Grammarあたりを調べていこうか。Perl 6の本質が現れているのかも・・・

更新: 2018-08-16T23:31:54+09:00

[Perl] Gloria

News: A Conversation With… :: The Perl Conference in Glasgow :: Europe :: 2018。聴くべし。

The Perl Conference in Glasgow :: Europe :: 2018Schedule: Thursday, 16 August 2018 :: The Perl Conference in Glasgow :: Europe :: 2018

「Gloria」は言わずと知れた「Larry Wall」の奥さんの名前。Perlの名前も「Gloria」が候補だったこともどこかで読んだことがある。

更新: 2018-08-10T10:36:51+09:00

[哲学] 十夜一冊 第千五百七十二夜 冨田恭彦著「科学哲学者 柏木達彦の哲学講義【3冊 合本版】」- 言語の多様性

合本版、完読。哲学の見方が変わっていく。デカルトから始まって、ロック、バークリ、カントへと至る認識論的転回、さらに論理実証主義からヴィトゲンシュタイン、ラッセル、ライル、ムーアなど日常言語学派、言語論的哲学に至る言語論的転回。さらにはカルナップ、クライン、デイヴィドソンからローティへと至る哲学の最前線、解釈学的転回。これらはすべてつながっている。そう言う見取り図が得られる。

しかし、カントについて冨田先生は新しい見方を持っておられるらしい。今度の新しいカント関係の著書はそこに焦点を当てられたものなのだろう。既に何冊か、カントについての著作をお持ちだ。

さて、言語を正しく使うという考えかたは叶わぬ夢となる。言語は新しい多様な表現を生み出していく。創造性にこそその本質がある。理想言語というものは存在しない。変化するのが言語の本質である。そういう不確実な世界の中で人間いかに生きるべきかという問題への答えを示したのがローティと言うことらしい。「春麗ら」に続く・・・

07/25/2018: [哲学] 十夜一冊 第千五百九十夜 冨田恭彦著「科学哲学者柏木達彦の春麗ら―心の哲学、言語哲学、そして、生きるということ、の巻」に柏木達彦シリーズ五部作と生島圭シリーズ三部作に関連する著作リストを残してきているけど、20年ぐらい前の06/24/2018: [哲学] 十夜一冊 第千五百二十夜 冨田恭彦著「哲学の最前線 ハーバードより愛をこめて」が、たまたま僕にとっての出発点だった。

柏木達彦シリーズと生島圭シリーズは相互作用をしながら発展していく。対象の哲学者は重なるのだけど、ボキャブラリの複数性という話にあるように、同じテーマでも複数の観点から語られえる。その実例にもなっているように思った。

更新: 2018-08-04T08:44:04+09:00

[哲学] 十夜一冊 第千五百九十一夜 冨田恭彦著「科学哲学者柏木達彦の春麗ら・・・」 - 希望の哲学

サールの言語行為論はざっと流したけど一応完読。サールはデイヴィドソンと対比されることになる。内容的にはシリーズの他の書に登場したテーマを掘り下げている。同じテーマなので学生の登場人物は変えてある。

印象に残ったのは論理実証主義が唯物論であるという説明。デカルトの心と身体は別という心身二元論は具合が悪い。科学の時代には相応しくないからだ。心は身体の機能として説明できるはずだという科学的思考が唯物論。実際のところ、これも未だにうまくいかないところが、本当におもしろいわけで・・・なかなか難しくて結構。考える余地がある。

サルトルの実存が本質に先立つという話も、最後のほうで本格的に登場する。最後はローティで締め括られる。「共に生きてくれる人たちが存在することによって、われわれは、自分の考えに対して誰かが異論を唱えてくれる可能性を、確保することになるわけです」、「人とともに生きながら、様々な問題に対処するための、もっといい考えを模索していく。そこに、ローティは希望を見るんです」、「彼は、やってみるしかないじゃないか」、「諦めたらそれで終わり。なんとかしたいなら、頑張ってみるしかないじゃないかというメッセージだと、僕は受け止めています」と。

[哲学] 理解し合えることはできるか・・・

W氏が新たに設定した問いは、そういうことだった。哲学101問から、サイモン・ブラックバーン著「ビック・クエスチョンズ 哲学」(ディスカヴァー・トゥエンティワン、2015年)へ移った。好著だ。参加者、8名と盛況・満席。

僕自身はわかりあえるはずだというスタンスなのだが。みんなそうでもない。むしろ、僕は少数派だった。いや、よく考えると、わかり合うことはむずかしいと思った。分かり合えるべきである、そうでないと困るだろうという気持ちが事実に目隠ししたかなと会の途中で思った。

芸術家たち、Hさん、Sさんともそれほど理解してほしいと作品を作っているわけではない。むしろ、わかると言われると「むっ」とすると。そんなに簡単にわかられてたまるかという感じ。確かにそうかもしれない。あまりわからないと言われても困るらしいが・・・

ヘイト・スピーチなどは拒絶する。理解しない。それは当然。相手の言うことは、相手の立場に立って理解できるが、同意できないという場合はあるという話には、みんな同意した。

別の用事で不参加のY氏のLINEでの感想。「人間社会の豊かさの源が言葉の意味の曖昧さにあるのでは。程よい曖昧さは大切なのかも」という。理解できるかどうかということに関してだけ言えば、お互い都合よく理解できる場合はあるという、実際的な面だけでなく、「言葉の意味の揺らがない世界は味気ないはず」という所に結びついている。こちらは理解し合えるかどうかという話よりも、むしろ言語の創造性に結びつく話かもしれない。奥が深い話だ。

実は、金川欣二著「脳がほぐれる言語学 --- 発想の極意」(ちくま新書、2007年)の38ページに「コンピューターのプログラムのように誤解が排除された世界はつまらない。一つしか正解のない世界におそらく進歩はない。人間は一人一人が違う答えをもっている。」と書かれている。これに近いか、そのものと感じた。[言語学]言語学のお散歩 (2007/08/12)には、プログラムでそれを越えられないかという話を書いているが・・・

主題に関わる議論はそういうところかな。次回は「私たちは何を知っているのか?」をW氏は取り上げられた。

著者のサイモン・ブラックバーン - Wikipedia。ここにはアリストテレス協会の会長としての役割も果たされたという記載がある。「理解し合えることはできるか?」の章でもヘラクレイトスやクラテュロスに言及される。哲学というものはギリシアにまで帰るものなのか。W氏は「ソクラテス以前の哲学」も持っておられた。ソクラテス以前の哲学 (文庫クセジュ 487) | ジャン・ブラン, 鈴木 幹也 |本 | 通販 | Amazon

更新: 2018-08-20T22:53:16+09:00

[将棋] 羽生竜王、深浦九段の戦い

深夜の大熱戦! 羽生善治竜王が深浦康市九段との通算80局目に勝利 順位戦A級、今期初勝利 | AbemaTIMES。一昨晩、最後まで観戦していた。終局は0時50分ぐらいだったと思う。

終わりは、深浦九段の最後の粘り、詰むのか、詰まないのか、息詰まる戦い。一分将棋。感想戦をもう見る気力はなかったが、何かでもう一度振り返ってみたいぐらいのギリギリのやり取りの連続だった。