毎日、進歩が加速している 脳の理論が2016年末にも完成 - 日経テクノロジーオンラインネタ。
コンピュータを知的な機械として動作させることができる時代が到来するだろう。何をしてもらいたいかが問題だ。
gimp で gif アニメーションを作る(フェードイン/アウト つき)ネタ。課題があれば考える。課題を持つことができるのは幸せと言わねばならない。
ネタ記事はだいぶ前に見つけていたのだが、具体的にどのような操作をすればよいのかなかなか飲み込めなかった。わかってしまえば、キチンと説明してくれているじゃないとは思うわけ。そこに到達するまでに試行錯誤。まあ、できてよかった。
京都大原の宝泉院の一角と思うが250msと500msの間隔を試したが、見るのに目障りなので、1秒間隔のアニメーションにしている。このサイズで1MB弱程度の画像ファイルとなっている。不透明度を0,20,40,60,80,100,80,60,40,20%にした像が切り替わるように作っている。
さて、二つの画像が遷移する場面でどう使えばおもしろいのかを次に考えよう。ファイルサイズをあまり大きくせずに、もっとスムースに変化を見せられないのかということもある。
そろそろWTM90の準備をしようと思っていると、S氏がOS X El Capitanのアップデートをツイートされたので、あれあれと思いながら、MacBookを起動して、まずはアップデートから開始。WWDC 2016の準備かなあ。
なんだか、軽くなった感じ。いいじゃない。Rakudo/Perl 6の状況は変わらないようだけど。ネタはいろいろあることだし、もう少し確認していこう。
アップルのティム・クックCEO、iPhone 7の「想像もつかない新機能」を予告 | Engadget 日本版ネタ。下手な予想マニアを煽る記事だね。
・・・クックCEOは開発中のiPhone(iPhone 7)はiPhoneユーザーが買い替えたくなる製品であり、以前はこれなしにどうやって生活してたんだ? と振り返られる機能が搭載されると熱っぽく語りました。
・・・
・・・iPhone 7はレンズの大型化やヘッドフォン端子が廃止などマイナーチェンジの域を出ない話ばかりです。
イヤフォン端子の廃止は、イヤフォンのBluetooth化を前提としているので、これはマイナーチェンジではなく、大きな変更と思う。イヤフォンの装着性は、コードに邪魔されないので、格段に向上する。加えて、おそらく、イヤフォンはマイクロフォン内蔵で、iPhoneアプリを音声コマンドでコントロールできるようになるかもしれない。さて、当たるかな。
もっとも、この程度の予想は「想像もつかない」レベルのものではない。ただ、音声コマンドが実用的に動作するとすれば、ランニングや車の運転の最中に音楽を聴いたりする場合は、大変便利な機能になると思われるので、「以前はこれなしにどうやって生活してたんだ? と振り返られる機能」であることは間違いない。
ジョブズ亡き後のアップル株をバフェットが“爆買い”した12の理由=八木翼 | マネーボイスネタ。AAPL Interactive Stock Chart | Yahoo! Inc. Stock - Yahoo! Financeでアップルの株価の推移をmaxで表示すると、Appleの株価が急上昇を始める起点は2005年ぐらいにあることがわかる。
更新日記のiTunesカテゴリを調べてみると、iTunes Music Storeが日本に進出したのが、2005年、iPod/iTunesが飛躍的発展の原点なのだ。
バフェット氏のアップルが成功しているかどうかはサービスの売り上げの変化に現れるという考えは、なるほどと思った。アップルのデバイスが使われているかどうかを表すからだ。サービスの売り上げが伸びているうちは、ハードウェアの売り上げが変動しても問題はない。アップルのデバイスがユーザーに支持されているのだから、条件が合えば、あるいは時期が来れば、いずれはハードウェアも更新されると予想されるからだ。もちろん、ハードウェアが売れるように価格設定や機能の拡充・改良は継続・調整する必要があるだろう。
もっとも、この議論は、Apple Music/iTunesがWindows上に存在すること、今ではApple MusicはAndroid上でさえ使えることによって、外からは見えにくいパラメータになっている。
アップルはITとデザインに特化している。ITと伝統的なデバイスの融合によって、新しい製品をデザインしている。まだ、Apple TVやApple Watchは「Other Products」の範疇に止まっている。さて、次の手は・・・WWDC 2016は、Watch WWDC - WWDC - Apple Developerによると、6/13 10:00am PDT、日本時間では6/14の深夜2:00amから。
えーと、何か予想していたかな。あーっ、そうか。Bluetoothヘッドフォン。やはり、小ぶりすぎる話題かな。後は、VRとかARもあり得るけど。AppleもVR/AR市場に本格参入か──Financial Times報道 - ITmedia ニュースのような噂もある。
実際のところ、TVやWatchに注力する方が現実的とは思うけど。次はやはり車か・・・
TV/Watch/Carは再発明だ。VR/ARはまったく存在していないマーケットに関するものだ。新しい世界を作るのだから、デザイン的にも技術的にも難易度が違うと思う。注目しておく必要があるのはやはりSecond Lifeだろう。仮想EXPO (08/16/2010)が最後の記事。このような仮想世界のアイデアが受け入れられるのかどうかだと思う。もちろん、その世界への入り込み方がVR/AR共に変わってくるわけだけど・・・
VR/AR関係は、アップルのMixed Reality (04/27/2016)にあるリンクには注目しておくべきだろう。Polarisから少し調べた。
Kickoff
Monday, June 13 at Bill Graham Civic Auditorium
Learn about the future of iOS, OS X, watchOS, and tvOS, then honor the developers behind the year's best apps.
(Source: Schedule - WWDC - Apple Developer)
WWDCは開発者のカンファレンスだから、基本的には既に存在しているデバイスがテーマだ。iPhone/iPad/Mac/Apple Watch/Apple tvの未来がテーマになる。しかし、まったく新規なテーマが出てこないとも限らないだろう。いずれにせよ、注目すべきことには間違いない。
更新日記のAppleカテゴリを調べると、宇宙戦争 - iTunesがWindowsを支配する (06/11/2005)の記事がある。Appleカテゴリも2005年から始めたのだろう。iTunesがWindowsに入り込んで、僕は真の意味でAppleに注目し始めたのだ。次の仕掛けが重要だ。
僕が、MacBookを買い替えたいと思うようになるかどうかだ。今のところ、メインメモリを2GBから8GBに増設したMacBook(Late 2009)は起動には多少時間が掛かるけど、プレゼンに使えることがわかった。OS X El Capitanは最新のバージョン 10.11.5にアップデートしたばかり。スペックをメモっておこう。2.26GHz Intel Core 2 Duo(2コア)、8GB 1067MHz DDR3、NVIDIA GeForce 9400M 256MBだ。当然のことながら、Windows 10 ProデスクトップPCのIntel Core i7-3770の3.40GHz、4コア、8スレッドにはまったく敵わないが。
Perl 6はスクリプト・レベルで並列処理をサポートするようになり、コア数やスレッド数がパフォーマンスに直接影響を与えるようになったので、スクリプタも並列処理のパフォーマンスを意識する必要がでてきた。jnthnはRefactoring and torture | 6gutsによれば、Raspberry Piのクラスターをデスクトップに組み上げて楽しんでいるらしい。
話がアップルからそれてしまったが、ITにおいては並列処理マシンとしてのPCが今後のテーマとなるはずで、アップルもそのうちデザインに反映させる必要に迫られるはずだ。Raspberry Piなら、計算工学ナビ: 第2回 Raspberry Piスパコンで遊ぼうの記事が参考になるだろう。
「スーパーマーズ」 火星きょう地球最接近 | NHKニュースネタ。テレビでニュースになっていたので取り上げた。
今日は広島は曇っていて、南東の空には見えなかったが、今週中はよく見えるチャンスだという。是非見たいものだね。
今、世界に本は1億3000万冊あるらしい。僕らが一生のうちで読めるのはあと何冊なんだ - shi3zの長文日記ネタ。27歳までに1万冊、500冊/年×20年、読んだ計算になるというshi3z氏。GREEのSNSに1000冊の書評があるという。最近は、積読を含めて、100冊/年とか。
マービン・ミンスキーの「心の社会」やダグラス・R・ホフスタッターの「ゲーデル・エッシャー・バッハ」は読む必要がないということには同意しかねるけど、人生でそれほど多くの本を読めないというのは確かな話だ。以前、僕が本日記で計算した時は、一生に五千冊ぐらい読めればいいのではということだったと思う。
十夜一冊は2009年5月から始めたので、7年でほぼ100冊。取り上げた本はその倍ぐらいはあるはずだけど。20-30冊/年程度。いや、そんなに完読できている感じはないかな。いずれ、もっと精密に検証してみよう。松岡正剛先生は6万冊程度の蔵書で、全部読まれたのですかと問われて、うーんどうかなと明確には答えられなかった。大抵、目次を利用した摘まみ読み・速読でないと、そんなに読めるはずはない。文庫本の面白い本を読んで、100ページ/時が大体の読書速度だ。毎日が日曜日でも、キチンと読めば、1冊/日が限界だろう。インプットだけではつまらないし、十夜一冊というのは良いアイデアだと思う。そのペースで読めれば素晴らしい。
橘玲著「読まなくてもよい本の読書案内」というアイデアは中味を見たわけではないけど、副題が「知の最前線を5日間で探検する」となっていて、知の最前線を五日間でお教えしようということのようだ。読まなくても僕が要約してあげるからということかな。
知の最前線なら、WIREDなど、関心のある企業や個人のWEBページをブックマークし、ニュースレターなどを購読し、Facebook、Twitterなどで適切なグループや人物をフォローしておけば大体わかる。情報は豊富過ぎるぐらいある。shi3z氏はarXiv.org e-Print archiveとGitXiv - Collaborative Open Computer Science | GitXivを取り上げられている。arXivの論文は時折入手しては見るものの、大体は眺めるだけか、Abstractを読むぐらいで、単なる興味だけでは深く読む余裕はない。何に集中すべきか、深入りする切っ掛けを求めていくことになる。
結論として、あなたが読みたいものが、深入りすべきものなのである。簡単なこと。
昨日からの続きで、ブルメンタールのスマノフスキー作曲、ピアノとオーケストラのための交響曲やピアノ変奏曲に続いて、ロベルト・ワグナー指揮インスブルック交響楽団との共演、ショパンのピアノ協奏曲第21番を聴いている(The Spirit of Poland)。家内の評判は芳しくない。テクニックに走り過ぎている、機械的と聴こえるのかもしれない。僕にはピアノの音のニュアンスが十分捉えられていないとも感じられる。録音データを見ることができると、自称オーディオマニアにとっては鑑賞の楽しみが拡がるのだけど。
出版がBrana Recordsなので、制作情報がないかと調べ始めた。BRANA RECORDSを見ると、ジャケットはブルメンタールの夫が描いた絵が使われ、ブルメンタール自身が藤田嗣治のモデルもつとめたこともあるという話がある。アルバムの肖像画の画風をどこかで見たことがあるとぼんやり思っていたが、Home Brana Recordsのアルバムジャケットに使用されている絵には「Painting by Leonard Tsuguhara Fujita」と記載されていて、すべてが結びついた。もちろん「Tsuguharu」が正しい。
残念ながら、Brana Recordsのサイトにも録音データはない。まあ、1967年の録音だから仕方がない。Catalogue Brana Records: The Spirit of Poland [BR0030]にはFelicja Blumentalの様々なエピソードが綴られている。
このように現実の情報は多面的である。オブジェクト指向の用語を使えば多態的であると言えるかもしれない。あらゆる側面、あらゆる観点から事物を記述することは至難の業である。しかしながら、都合の良いことに、通常の思考は、注意力の選択の問題になり、つまり何に注意を向け、何を無視するのか、ということに帰着する。一般的には何に注意すべきかというところまで考えないのが普通だろう。習慣が導いて、自動的、機械的に反応するだけだ。車を運転するように。誰もが好奇心が強いわけではないのだ。
それはさておき、記事のタイトル通り、04/19/2016: [本] 十夜一冊 第千二十夜 マリア・コニコヴァ著「シャーロック・ホームズの思考術」 - マインドフルネスの続き。MASTERMINDは「シャーロック・ホームズの思考術」の原題だが、「ジェフへ」という献辞の後に、W・H・オーデンの「注意力の選択」で始まる文章が引用されている。「それは人の生活の内面にとって、外面における行動の選択と同等である」、『「あなたが何に注意を向けるか、教えてほしい。そうしたら、あなたがどういう人か教えてさしあげよう」とスペインの哲学者が言っている』と述べてある。「シャーロック・ホームズの思考術」は副題の「How to think like Sherlock Holmes」の意訳だろう。
シャーロック・ホームズは、すぐ可能性があるとわかる方向ではなく、想像力を使って、新しい道を探り出す。最初の夜にマインドフルネス(mindfullness)という言葉をタイトルに入れたのだが、自動的・機械的に考えるのはマインドレスリー(mindlessly)、マインドレスネス(mindlessness)な状態にあるということが、第一章の「科学的思考法を身に付ける」の最初の方に書いてある。マインドフルネスな状態に脳を置くにはどうしたらよいのだろう。
「科学的思考法は、幅広い基礎知識(Knowledge Base)、事実に対する理解、これから取り組もうとする問題の概略を把握するところから始まる。・・・」、「ここにいたってやっと、仮説を生み出す段階へと移れるわけである。・・・使いものになるシナリオや説明はすべて、最初の基礎知識と観察から生まれるのだから。」、「そうして初めて、検証を行う。」というように話は進捗する。この話の前に、物理学者のリチャード・ファインマンのエピソードを用いて、科学的思考法を例示し、補強する。これは事実に基づいている。この部分を読んで、著者のMaria Konnikovaはホームズの物語をエンジンとしながら、適切に科学的な知識も披露しつつ、ストーリーを組み立てているのがわかったというわけ。ベストセラーだけあって、よくできている。
さて、この千二十夜シリーズはどういう運命にあるのか。まだ、最初の方をうろうろしている。手もとには、深町眞理子新訳の「緋色の研究」が積まれている。「緋色の研究」はシャーロック・ホームズの最初の作品である。終わるのか、終わらないのか、それが問題だ。同一の本について、小数点以下の夜はいつまでも続けることができる。
Twitterで、フェリシア・ブルメンタール(Felicja Blumental - Wikipedia, the free encyclopedia)のピアノを知って、調べ始めた。ウォークマン猿の備忘録 : AKG「K712 pro」が相性がいいと感じたアルベニス:ピアノ協奏曲第1番 「幻想的協奏曲」ネタ。
Apple Musicで「Felicja Blumental」を検索すると、36枚のアルバムが見つかる。Amazon Prime Musicで検索すると25曲が見つかるのみ。この件については、これまで想像してきた通り、Apple Musicの存在感が示された。ブルメンタールのショパンのワルツを聴いているのだが、軽やかで、のびやか、技巧的にもまったく素晴らしく洗練されている、なんの不満もない、もっとも僕が知らないだけで、歴史的、音楽史的にも重要な意味を持つピアニストであり、時間や空間を超えて音楽を楽しめるピアニストが見つかった。
まだまだ、ピアニストについても知らないことがある。Wikipediaによれば、1908年のポーランド生まれだが、二次大戦時(1938年)にニース、ブラジルへ逃避、国籍を取得、戦後、後半生はミラノ(1962年)、ロンドン(1973年)に滞在し、1991年にイスラエルで亡くなっている。その間、幅の広い音楽活動を行っている。ブルメンタールのピアノで音楽の世界が拡がるはずだ。
Carlos Seixas - Wikipedia, the free encyclopediaの音楽を聴いている。Portugese Keyboard Music(ポルトガルの鍵盤音楽), Vol.1。ピアノで弾いているからか、十分、現代的な音楽に聴こえる。18世紀前半に作曲されたものだから、バロック時代。パウル・ベッカーは「西洋音楽史」(河上徹太郎訳、河出文庫、2011年、正本: 創元社刊、1951年と新潮社刊、1955年)で次のように書いている。パウル・ベッカーの序は1926年に書かれている。
・・・なぜなら、十八世紀が非常にすぐれた人達によって満ちていたので、そのすぐ前の世紀がいくぶん色褪せて貧弱に見えるのは当然だからである。そう見えるのは、必ずしも現代に近い時代の方が理解しやすいためばかりではない。それは十八世紀において音楽がともあれ現代を包括するところの感覚領域に入ってきたからである。我々自身の音楽が十八世紀から始まるのである。・・・
パウル・ベッカーは十八世紀の前半をバッハとヘンデルの時代とし、十八世紀後半、その正当な後継をハイドンとするわけだが、その時、奇跡的にモーツァルトが出現して、音楽に新しい展開をもたらすというように、僕らが音楽の授業で習って、一般的に知っている音楽史を書いている。
今、日記を書きながら、レオポルト・ハーガー - Wikipedia指揮のザルツブルク・モーツァルテウム管弦楽団 - Wikipediaとの共演、ピアノ協奏曲第20番 (モーツァルト) - Wikipediaを心地よく聴いていた。次は古い録音のようだが、シューマンとフリードリヒ・クーラウ - Wikipediaのピアノ協奏曲を聴こう。
ネタ記事のアルベニスのピアノ協奏曲が入っているアルバムがApple Musicに表示されたので聴いている。知識は、記憶の回路が伸び、他の記憶と短絡し、次第に複雑なネットワークを形成するに従い、次々に増え続けるだけでなく、関連付けられていく。知識と記憶はオブジェクトなのか、ニューラル・ネットワークなのか、オブジェクトをニューラル・ネットワークに結び付ける仕組みが必要だと思う。この連休はそういったことを少し考える。それをどう表現するかということも・・・それは日記をどう表現するのかということにつながり、日記のシステムを考えることにつながってくる。
さて、今日から仕事、二日も出たという方も多いだろうし、熊本の地震は4月14日以来、1200回を超えたという報道もある。僕は休みをいただいている。いろいろと考える必要があるから。考えるには自由な時間が必要だ。
連休初日の4月29日。昭和の日。ボランティアで一日過ごした。
4月30日。ボランティアの取り敢えずの最終仕上げを、朝早く、宇品郵便局の24時間稼働のゆうゆう窓口でクリア、京都へ向かった。三十三間堂に久しぶりに訪れ、次は恒例となったダブル展覧会、京都市美術館の「光紡ぐ肌のルノワール展」と「モネ展」を鑑賞、夜はAN夫妻と会食。
5月1日。朝9時半に京都駅からバスで大原に向かう。三千院、勝林院、宝泉院、来迎院、寂光院を4時間30分ぐらい掛けて回った。京都駅からの行程、往復2時間を含めて、6時間半。
5月2日。休日。
5月3日、憲法記念日。そろそろ、Perl 6について真剣に考え始める。
5月4日、みどりの日。もっと真剣に、Perl 6について考える。Rakudo Star 2016.04のMac版の動作確認をする。Perl 5 to Perl 6 Translatorをいろいろ試そうとするが、生きているのはBlue Tigerだけみたいなので、Wireworldについて試すが、ほとんど意味がなかった。
今、確認すると、使ったp526は5年前のスクリプトだね。Automated Translationが記載されている5to6-nutshellのページは、Perl 5 to 6 translation guideからリンクされている。このページをよく読んで自分で考えてねということ。
この文書は不完全であると書かれていて、perl6/doc: Perl 6 documentation (tools and docs)のLanguage/5to6-nutshell.podから生成されているとある。doc/doc/Language at master ・ perl6/docを参照すると、2 days agoなので、データが更新されるたびにHTMLを生成しなおしているようだ。5月4日の生成となっている。必要な部分のリストはdoc/WANTED at master ・ perl6/docで参照できる。完全なリストではない。p6docのContributingを希望するなら、doc/CONTRIBUTING.md at master ・ perl6/docを参照。
取り敢えず、Blue Tigerの出力をperl6-m(Rakudo Star 2016-01)を使ってデバッグを続けてみたが、結局、Perl 5のデータ構造とリファレンスを復習する必要があることに気付く。中断。
5月5日、こどもの日。立夏。比治山の多聞院と宮島墓苑のお墓参り。もっともっと真剣に、Perl 6について考える。Rakudo Star 2016.04のWindows(64bit)インストーラ版が出たのでインストールする。これで最新版を使って動作確認を続けることができる。正常に動作するWireworldのPerl 5版はほぼ完璧に理解したので、エラーが出るPerl 6版の解読に再チャレンジするための準備を開始。まつもとさんが興味があると言われていたJunctionsも調べ始める。Synopsis 9: Data Structuresの中のAutothreading typesにJunctionsが分類されていることに気付く。
そして、今日、前の記事を書いた。大体のスタンス・ストーリーは固まった。明日、あさって。これで連休は終わり。
Rakudo Star/Perl 6についての本はいつ出るだろうか。大変楽しみなんだけど。
418夜『宇宙をぼくの手の上に』フレドリック・ブラウン|松岡正剛の千夜千冊を見直した。切っ掛けは単なる連想なのだけど。既に一度取り上げた話の蒸し返しではなくて、いつもながら飛躍した連想に過ぎない。
フレドリック・ブラウンは全部読んだはずだが、本棚をいくら探しても、手元には「発狂した宇宙」(ハヤカワ文庫、1977年)しか残っていない。この人は最高の小説家、ストーリー・テラーだ。僕が最初に尊敬した文筆家ということが言えるだろう。この後に、レイ・ブラッドベリやアイザック・アシモフ、レイモンド・チャンドラー、ミッキー・スピレイン、あー、その前に、E・E・スミスやE・R・バローズがいる。いずれの小説家も読みたくなるほど(?!)素晴らしかった。ここで述べたいことは小説も世界の捉え方の一つだということ。言葉で世界を生み出す。
昨晩、Perl 6の話をした。次世代のプログラミング言語であり、プログラミング言語の再定義につながるだろうということを本当は伝えたかったのだが、それはまだ感覚的な推論(?!)のレベル、すなわち直観でしかないわけで、まだ十分な根拠のある理解に自分自身が到達しているわけではない。ただ、世界を捉えるためには単純な言語では難しいということは間違いないだろうと思っている。コンピュータで如何に世界を捉えるか、そのために最適な言語にPerl 6はなる可能性があると考えている。世界を捉えるためには、機械よりも人間に近い言語が必要なのだ。
プログラミング言語は機械、コンピュータと一体になって、一種の知能を生み出すことができる。PCはインターフェースを通じて、パターンで世界を捉え、オブジェクトや配列に世界を格納することができる。配列はデータベースになるだろうし、オブジェクトはデータの関係性や使い方を記述することになる。知識情報システムを作れるわけだ。それはコンピュータとプログラミング言語を操れれば誰でも作れる。宇宙をぼくの手の上に作ることが可能なのである。
ちなみにAmazonで「宇宙をぼくの手の上に」のKindle化要望を出すと、すぐに出版社に伝えますとメッセージが出た。中古でもいいのだけど、それほど安くないからね。今日も思ったけど、書棚の奥にある本は記憶から消えてしまう。これをなんとかしたいと思う。Kindle化が解決策とも思えない。Kindleに入ってしまうとやはり記憶から消えてしまうのだ。見えないものを見えるようにする方法が必要だ。これは大量の情報を見えるようにすることにつながる話である。
土日は晴れて暑い日が続いた。今日はまたひどい雨。明日はまた晴れるらしい。先月末近く、40通の封書を発送。五月末納期なので、今のところ同封の封書による返信は二通。メールで返信されているものが二通の状況。こちらは待って、収集整理しつつ、印刷会社に送れば仕事は終わりだ。そこでボランティアの仕事は終わらず、プログラム冊子の表紙デザインをもとに発展させた開催案内をWEBに作成する必要が出てきた。
表紙デザインを頼んだデザイナーが、5ページの写真とグラフィックスを切り替えて表示したいとパワーポイントで作って要望を出してきたのだ。本人はWEBデザイナーではないので、しかたなく、僕自身が、にわかWEBデザイナーに変身するしかなくなった。簡単なのはアニメーションGIFだ。パワポから切り出した5ページの画像を切り替えるだけなら、あっという間に作れる。
これでいいなら、もう終わりだけど・・・サイズ変更ぐらいで済めばラッキー^^;)
5月1日、京都駅からバスで大原に向かった。三千院などのお寺を回ることが目的だが、当然、ベニシアさんのことが頭に浮かぶ。
寂光院への行きしなか、帰り道。府道108号線近辺かな、大原バス停と寂光院の間。
たまたまだが、5月1日、ベニシアさんの新しい3回シリーズが始まった。さっき見た録画はその3回目でもないなあ。「春を描く」、調べてみると78回の再放送(2012年5月11日)。狸の毛で筆を作る話。毛を梳く金櫛も作る人がいないので、大切に使わないといけない。そのような状況でも息子に家業を継がせることを決断する。ベニシアさんはその細い筆で野の植物の絵に彩色する。野原に腰を下ろして、鉛筆で輪郭を描き、色鉛筆で彩色したうえで、水彩を丁寧に入れる。時を忘れて、夢中になれるという。そういう時間が欲しいね。
artonさんのL'eclat des joursは時折眺めてみるのだが、破片というには大きめだし、破れていない。今日覗くと、いろいろと興味深いものがある。バレーやオペラの話は引退してから読みなおそうと思っている・・・バレーやオペラがそれまでにわかるようになっていたいと思う。Raspberry Pi3でsoracomメモ - L'eclat des jours(2016-05-16)をメモしておこう。渕先生の記事も。成功した失敗プロジェクトと失敗した失敗プロジェクト - L'eclat des jours(2016-05-19)。
IoT プラットフォーム 株式会社ソラコムを少し理解する必要がある。プラットフォームだけはどんどん進展する。SDを買おうか。
渕先生の話は懐かしい。この日記でも何度か取り上げたけど、あまり情報がない。第五世代コンピュータの遺産を深いレベルでわかりやすくまとめて残してほしいが・・・。どんなふうに現在につながっているのか、つながっていないのかがわからないと意味がない。
ある意味、僕が目指しているものはここにあるのかもしれない。
警備の方々、お疲れさまという感じで、エアフォース1は岩国基地から米国に向けて既に帰国の途についたはずだ。献花から17分間のメッセージを読み上げ、被団協の方々と挨拶をされ、原爆ドームを平和公園から遠くに眺めつつ説明を受け、訪問行事をすべて終え、車に乗り込み、観音のヘリポートへ向かわれるのを、僕は帰宅中の車の中でナビのテレビ画像を眺めながら、二号線バイパスを旭橋西口で降りて、西広島から横川を通って広島駅に抜けようと思った。
が、ナビが横川駅前が混んでいるというので、中広通りから広島城の南側を通る城南通りに入って抜けようとしたが、結局しばらくまったく動けない渋滞にはまってしまった。天満川に架かる中広大橋の検問がまだ撤収前の状態だったのだ。
オバマ大統領の反戦演説は見事で、近い将来後任となる新大統領だけでなく、戦争に満ちている世界へ、そして、自国民へのメッセージともなったと思う。
オバマ大統領はできれば続けてほしいものだと、耳に入る限り、南区界隈では大人気。ネガティヴな論評も多数見掛けるが、素直に受け取れば十分だろうと思う。世界の平和への道筋は困難さに満ちているなかで、率直な理想論が心に響いてきた。
私たちは過去の失敗を繰り返すよう遺伝子で決められているわけではありません。私たちは学ぶことができます。選ぶことができます。子どもたちに違う方法を伝えることができます。共通する人間性を説明し、戦争が起こりにくく、残虐性が簡単には受け入れられないようにする物語です。被爆者の方たちの話から、それらが分かります。原爆を落とした爆撃機を操縦したパイロットを許した女性がいました。それは彼女が、自分が本当に嫌悪しているのは戦争そのものだと気付いたからです。広島で殺された米国人の家族を捜し出した男性がいました。なぜなら彼は、その米国人たちの喪失感は彼自身のものと同じだと確信していたからです。
(出典: 米大統領広島訪問:オバマ氏の演説 全文 - 毎日新聞)
これは実存主義だ。人の心を打つことのできる唯一の物の見方だと思う。
【日刊セイゴオ「ひび」】71年目の17分。オバマ大統領の広島スピーチを見ているうちに涙が出てきた。捧げた花束を広島市民が凝視している画面に、さらに熱い感慨が去来した。
(松岡正剛の日刊セイゴオ「ひび」2016年5月27日 金曜日)
お疲れ気味。今日は好きなことをしようと思ったが・・・特に昨日は帰宅して、面倒だなと思いつつ、2通、寄稿依頼を出すための作業を始める。ようやく、寄稿してもらえるのでできるだけ丁寧に依頼を出してくださいというメールが住所と共に一昨日届いていたので、自ら出そうと宣言していたもう一人の方も、住所を友達が教えてくれていたので一緒に出すことにした。
依頼文の写真を依頼する部分を多少書き直して二部印刷、続けて同封するプログラム冊子の表紙案を印刷しょうとする。これが湿気が高くなっているせいか、うまく写真用紙が送れなくてエラーになる。セットを何度も繰り返して、10回×2は繰り返したかな、とにかくなんとか二部準備する。もうこれは駄目かと思った。ようやく、送り先をメールから調べて、エディタに張り付けて印刷。返送の要領を記載した短冊も準備。切手と送付用・返送用の封筒と合わせて、家内に渡して後の処理を頼む。ここまでは昨日のお話。
ホームページ用のグラフィックス案内もまだデザイナーは満足していない。こちらは、まずホームページを管理している人とコミュニケーションを取らねばならなかった。メールアドレスを教えてもらって、メールでこんなふうにしたいと事情を伝える。費用が掛かるなら教えてほしいと。結局、Wordpressを使っていることがわかり、おそらく例年レベルと同じ対応ができるアイデアを伝えて、ページを作ってもらう。それ以上のことはアカウントを作るから、あなたなら楽勝でできそうだからとおだてられて、アカウントを作ってもらい、これまでに作った材料を使って一応の形は作り上げている。
でも、意図したフォントになっていないとか、アニメーションGIFをフェードイン・フェードアウトで画像の切り替えをやりたいとの要望が出てくる。それをやるにはズレのない精密な画像が必要だ。Impressの画面から手作業で切り取った画像では精度が足りない。アニメーションGIFの表現力では足りない可能性もある。フォントが化けているのは、僕の環境にはないフォントを使っているから。HGP行書体を調べると標準添付のフォントではない。
結局、パワポでページをjpgでエクスポートして送ってもらうことにした。Impressでは様々なデータ形式でエクスポートできることが、今回の問題でわかった。一歩ずつ前進しつつある。まだ、パワポでEXPORTができるかどうかは不明だ。調べると、「ファイル」メニューから「名前を付けてを保存」で「ファイルの種類」で図の形式、*.jpgなどを選べばよい。メールで方法を連絡する。さて、さらなる表現方法の探索が必要かどうか。Wordpressで表現できるかどうか。
さて、五月も終わりに近づいた。公開日記には書けない話題、書き切れずに取りこぼしそうな話題、様々な話題が渦巻いている。どこかで行き詰ると思っていても、どこまでも延びていく可能性。追求していけば、道が開けていく。不思議なものだ。
それはともかく、いくらでも公開できる話題。アニメーションGIFで二つの画像の間の遷移を表現してみた。昨日のフェードイン・フェードアウトの応用問題。大体できるはずだと予想が付くようになった。
Transitionの表現アベの知らない物語~オバマ広島演説に垣間見たアメリカの「世界観」=不破利晴 | マネーボイスネタ。最近はボランティアの関係で、高校同期生の知らない人とやり取りすることが多いが、その中に身近な話題について所感をついでに書いて送ってくれる人も多い。そういう話題に触れることができるのも役得と言えばそうだ。広島から離れていても、オバマ大統領の広島訪問時にはテレビにくぎ付けになっていたとか。
ネタのマネーボイスの記事は辛口だが、厳しい現実を指摘しているという意味では価値がある。しかし、事実そうであったとしてもオバマ大統領の広島訪問の意義は変わらない。そう思う。現実は甘くない。人間は矛盾の中で生きていかねばならない。それを超えて、自らの考えを表明するのである。
広島訪問からの帰りに、大統領専用車の向かう方向が観音のヘリポートではないなあ、おかしいと思っていたのだが、通行禁止になった広島高速4号線から山陽自動車道を通って岩国に向かったのだとか。なるほどと納得したのが、今日だった。中広のところが混むわけだよ。しかし、どのコースを通ったのかな。謎だ。
昨年夏公開の『ターミネーター:新起動/ジェニシス (字幕版)』がAmazonのプレミアビデオに追加されたという案内のメールを見て、しばらく放っていたのだが、ようやく見た。
話が複雑になり過ぎという感じがしないでもない。カイル・リースがサラ・コナーズを守るために1984年に送り込まれると過去が書き換えられているというストーリー。ここまでは期待させたが・・・集中して見なかったので、よくわからないままに終わってしまった。
アクションたっぷり、シュワルツネガーの健在は期待通りだが、人類希望の中心であったジョン・コナーズ自身が悪役の自己修復・変形ロボットになるという設定が話を複雑にさせすぎたと思う。このロボットは液体金属ロボットT-1000と機能的に大差なく、魅力不足。最後、エンディング・クレジットの間に続編の存在を予感させる場面が挟まれて終わるが・・・今一つ映像的に凄みがない。
なぜなら、GENISYSはOSのようなものになって、ディスプレイや空間に投影されるものとなり、スカイネットの表現として、ロボット・機械としての実体は脇役になりつつあるからだ。プロジェクターから投影される低解像度の光点の集合では映像的な迫力は出ない。
IoT の調査: センターからエッジへと、あらゆるものが移行していくアーキテクチャとは? | Agile Cat --- in the cloudネタ。
コンピュータとネットワークは超分散化する。コンピュータの性能が上がれば上がるほど、本質的にそういう方向に進むはずだ。クラウドは本質的には一時的な現象だと思うが、サービスを必要とするユーザーがいる限りは、存在価値を示すだろう。それって、永遠の現象かな、分散化クラウドっていうのも出てくるだろう。プラグ・アンド・プレイで、ハードウェアが自動的に接続する知能を持つようになるかもしれない。
坂村先生はアグリゲート・コンピューティングを提唱されている。ここではホームサーバーが消えるという考え方だ(218ページ)。本書は角川新書、2016年刊行。
今後考えられている5Gなど、簡単にいえば家で使われている無線LANか、それ以上の性能がそのまま外で使えるようになるという感じで、これは大きな状況の変化である。どこにいってもローカル並みのネットワーク性能が確保できるのなら、ホームサーバーの意味がなくなる。そこでメーカーを問わず、あらゆる家電をホームサーバーではなく、インターネットのプロトコル、通信手順であるTCP/IPによりクラウドに直接繋ぐというアグリゲート・コンピューティングの考え方が出てきたのである。
考え方は、オープンというよりは、ビジネスの成立性を考慮したもので、IoTデバイスの製造・販売からクラウド・サービスまでを、aggregate(集合体・凝集体)トータルのビジネスとして捉えるというものである。坂村先生はアグリゲート・コンピューティングに総体コンピューティングという訳語を当てられている。アップルのiPhone,iPad,Mac-iCloud,Apple Musicのビジネス・モデルに近い。いわゆる垂直統合モデル。もちろん、IoTデバイスはリアルタイム性が必要とされるところが違うわけだが。
詳しいことは、本書最後の第4章「IoT社会の実現と未来」の第2節「2、アグリゲート・コンピューティング・モデルを目指して」(208~227ページ)にある。
一番頭に残った話は、データをAPI付で公開するのがポイントということ。データへAPI経由からしかアクセスできないようにすればセキュリティも高まるわけだし、データの公開を制御可能になる。データだけでなく、クラウド・サービス自体がそういう方向性を持っている。API経由にすれば、サービスも制御可能になる。
月初に[Internet of Things] 周縁へ(05/01/2016)という議論を組み立ててみたのだが、こちらは電子回路の高速・低消費電力化がもっと進むはずだというハードウェアの進化の必然性のようなことをもう少し長い時間軸で見たものだ。当面をどう捉えるかについては議論の余地はあるかもしれない。坂村先生も言及されているように具体的なアプリケーションにもよるだろう。
というSemiotica 138-1/4(2002), 321-349の文書が見つかった。たまたま。IoT関係の検索をしていたのだと思う。Review article、著者はCHRISTOPHER BRACKENとなっている。Christopher Bracken - English and Film Studies - University of Alberta。物の言語という言葉に惹かれた。
ジャン・ジュネの「泥棒日記」の一節が最初に引用されている。大元は20世紀前半の話だが・・・
私に、その生気のない世界は静かに震えた。私は雨自身としゃべったかもしれない。
(拙訳: ジャン・ジュネ、泥棒日記)
泥棒日記はサルトルと「カストール」(ボーヴォワール)に献呈されていることで有名だが、ジュネの文章を読んでいくと、それを捉えきること、言葉で置き換えて説明することの無意味さに打ちのめされるだろう。
創作の原点:作家・古井由吉さん 日常の底に潜む恐怖 - 毎日新聞。78歳、1937年生まれ。
半世紀近く創作を重ねてきた。これから「日常の底に潜む恐怖」をどう描いていくのか。「もう小説という形では書きにくい。かなり随想風の作品になるでしょう。この年齢になると死が近づいて、日常のあちこちから自然と恐怖が噴き出します。それをできるだけ平静な筆致で書きたいと思っています」
実相とは何か。年寄りの言うことは、よく聞いておきたい。次は6月11日の毎日新聞をチェックのこと。
続いて、ウォークマン猿の備忘録 : 【名曲名盤10万枚】フォーレ:ドリー組曲(ボストン響/小澤征爾)【「HD650」が良】ネタ。
10万枚とは威勢が良いと思って、取り上げた。大体、毎日記事が出ている。ヘッドフォンの評価記事が組み合わさっているが。音楽なら、ながら族で一日中聞いていれば、かなりいけるかもね。でも10万枚なら100年は掛かりそうだけど^^;)
今日は、紹介されているジュリーニのレクイエムとの組み合わせではなく、小澤征爾とボストン交響楽団のペレアスとメリサンドとの組合せで聴いた。フォーレもいいもんだなと思った。ドリーは家内に聞くと、ピアノ連弾の曲として有名なのだとか。ドリー (フォーレ) - Wikipediaにあるように管弦楽曲に編曲されたもの。
Rosseta CodeにWireworldというお題がある。Wireworld - Rosetta Code参照。Wireworld - Rosetta Code: Perl 6がうまく動かない理由がよくわからないので、意図通りに動くWireworld - Rosetta Code: Perlを調べ始めた。
CHAPTER 9 Data Structures, Arrays of Arrays(Programming Perl 4th. Edition Covers Version 5.14, page: 365)WireworldはConway's Game of Lifeに似た一種のCellular Automatonなので、近傍のセルの状態の影響を受けて変化(進化)する仕組みになっている。従って、二次元配列を取り扱う必要がある。
Perl 6のスクリプト・サンプルは、多次元配列の操作にHyper Operatorを使っているのだが、これがうまく動いていないように思える。
Perl(すなわち5\.(1|2)\d)は配列の配列を使っている。my @a = ([]);は、@aが無名配列のリファレンスの配列になることを意味している。my $rr = [''];の$rrは無名配列のリファレンスとなる。これをテキストで確認したくて、4th. Editionを調べていた。さらに確認すると、2nd. EditionのPerl 5対応版に書かれている基本的なこと。「ブラケット([ ])を使うことによって、無名配列のリファレンスを生成することができる。」(4.2.2 無名配列生成子, 2nd. Edition日本語版, page: 282)。オレンジ色のアンダーラインと黄緑の紙の付箋がついていたが、さらにピンクのプラスチックフィルムの付箋を付けておいた。もう忘れないだろう。これで、ようやく、Perl 5のスクリプトの整合性の詳細を確認することができた。
ブラケットは無名配列のリファレンスを生成するそれはともかく、デリファレンスした二次元配列を、mapと範囲演算子でスライスしつつ、パターンマッチングとjoinで、近傍の状態を把握し、条件演算子で置換を決定するという14行目の荒業には、これで動くのかと思わせた。
とにかく、二次元を一次元のラインノイズ(Linenoise)で表現するなんて、わかりにくいことは間違いない。ついつい行単位で処理したくなるのだが、二次元の近傍を考慮するためには、二次元配列を処理する必要がある。
Perlは5.22をインストールして使っている。Perl 6の勉強が、Perl 5の勉強になってしまった。思想的には、Perl 5の究極が、Perl 6なのだから、それでいいのだと思う。Perl 5は、Perl 6のfeatureを少しずつ取り込み消化しつつ進化し続けている。ライブラリではMooseがある。4th. Editionの出た2012年当時は、Perl 6はPerlの「Kid sister」、年の離れた妹ということだったが、今や、成長した妹が迫ってきたというところか・・・なにしろ15歳だ。Perlも来年30歳になる。
昨晩、wireworld.plをUtil/Blue_Tiger: Perl 5 to Perl 6 Translatorを使って変換してみたが、ほとんど意味のある変換はなく、少なくともperl6-mで通るようなスクリプトにならないので、エラーメッセージに基づいて、延々とデバッグし続けてみた。だいぶ勉強にはなったが、いろいろと弄っていると、なぜか、多次元配列のメソッド、shape(Documentation for method shape)は、まだ実装されていないというエラーメッセージが出てきた。Feature comparison of Perl 6 compilersによると、Shaped arrays/hashesはpartially implementedということになっている。当面、多次元配列は置いておこうか。一次元のテキスト文字列を処理するのに多次元配列は通常いらない。もっとも、Synopsis 9: Data Structuresを見ていると楽しくなってしまうことも間違いないのだが・・・4th. EditionのData Structuresの内容と比較してみるとおもしろいだろう。
そうこうしていると、Windows(64bit)インストーラ版のRakudo Star 2016.04が出ましたね。Announce: Windows (64 bit) Installer for Rakudo Star 2016.04 | rakudo.orgを参照。Wireworldのエラーメッセージは変わらない。
多次元配列は、テキスト処理はともかく、PDL(Perl Data Language)のサポートの関係で重要である。Day 18 - Sized, Typed, Shaped - Perl 6 Advent Calendarの情報が、比較的新しいし、参考になるだろう。
Perl6クリスマス・リリース以降のjnthnwrthngtn(Jonathan Worthington)氏の6guts | Tales of Perl 6 guts hackingの記事をまとめておこう。新しい記事が上にある。
まずは、リンクを置くだけ。
前の6guts関係の日記は、03/07/2016: [Perl 6] 6gutsからのメールだけど、ここ(Rakudo Star 2016.01)で心配したことはほぼ払拭された。ループのベンチマークは、高速化しているPerl v5.22.1よりも数倍早い。Windowsでスクリプトの実行時間を測るには、PowerShellを使って、Measure-Command {perl6-m script.p6}などとすればよい。
Windows PowerShell Copyright (C) 2015 Microsoft Corporation. All rights reserved. PS C:\scripts\perl6> Measure-Command {perl6-m mbench.p6} Days : 0 Hours : 0 Minutes : 0 Seconds : 0 Milliseconds : 625 Ticks : 6257716 TotalDays : 7.24272685185185E-06 TotalHours : 0.000173825444444444 TotalMinutes : 0.0104295266666667 TotalSeconds : 0.6257716 TotalMilliseconds : 625.7716 PS C:\scripts\perl6> Measure-Command {perl mbench.pl} Days : 0 Hours : 0 Minutes : 0 Seconds : 2 Milliseconds : 571 Ticks : 25716835 TotalDays : 2.97648553240741E-05 TotalHours : 0.000714356527777778 TotalMinutes : 0.0428613916666667 TotalSeconds : 2.5716835 TotalMilliseconds : 2571.6835
上のデータが、Rakudo Star 2016.04の実行結果、下が、ActivePerl v5.22.1の結果、大雑把に0.6秒と2.6秒の違いがある。Rakudo Star 2016.01との比較はほぼ同じくらい、むしろ、5.22のほうが早いかもしれないと思っていたので、違いに唖然とした。スクリプトは上記リンクの日記記事に記載している。
さて、本格的にスクリプトを書いて確かめる段階に入った気がしたので、実用的なスクリプトを書くために具体的に必要な部分を確かめ始めた。
スクリプトの文字コードはUTF-8で書く。スクリプト内ではUTF-8であっても、驚くべきことに、標準出力はWindowsのコマンドプロンプトではSJISになる。標準入力もそのままで問題ない。スクリプト内ではUTF-8として現れる。しかしながら、当然だろうけど、ファイル入力はUTF-8である必要がある。リダイレクトしてファイル出力すると、UTF-8の文字コードのファイルとして出力される。
my $file = shift @*ARGS; my $contents = slurp $file; $contents ~~ s:g/ \<<-[ > ]>+\> //; say $contents;
これだけで、UTF-8文字コードのHTMLファイルなどから、HTML関係のタグをすべて取り除いて出力するスクリプトになる。
実用的な意味があるサンプルとは言えないが、次のようなスクリプトを書いて試した。もちろん、この日記自体はSJISで書かれているので、UTF-8で保存して実行する必要がある。
for $*IN.lines() -> $line { given $line { when /あ/ {say "日本語: $line" } when /^ . $/ { say "1文字: $line" } when /^ . ** 2 $/ { say "2文字: $line" } when /^ . ** 3 $/ { say "3文字: $line" } when /^ . ** 4..9 $/ { say "4から9文字: $line" } default { say "10文字以上: $line" } } }
コマンドプロンプトで実行して、プロンプトが点滅している標準入力から何か文字列を入力すると、「あ」という文字を含めば、「日本語: 入力した文字列あ」などと表示される。そうでなければ、入力文字数によって分類、出力が変化する。
コマンドラインの標準入力、given-whenのフロー制御のテストとパターンマッチの書き方の確認のために書いたけど、スクリプトファイルはUTF-8で書かれている。コマンドプロンプトはCP932モード(いわゆるSJIS)で動作している。それが、何事もなかったように文字化けも起こらずに動作する。Perl 5では考えられない話である。スクリプト・ファイルと入力テキスト・ファイルの文字コードをUTF-8にさえしておきさえすれば、スクリプトの内容に集中して考えるだけでよい。
こうなると、Rakudo Star/Perl 6を使うことになってしまいそうだ。Perl 5は文字コードへの配慮の複雑さで疲れてしまうから。いろいろなことが走馬灯のように頭の中を廻っている。jperlとPerl 5.6の間で、jperlを選択し、ようやくPerl 5.8.10で一応の安住の地を見つけることができたと思ったが、その上に、楽土が存在したという話である。
参考のために、日本語Windowsのコマンドプロンプト上で同等の動作をするPerl 5のスクリプトを掲載しておこう。スクリプトはUTF-8で書いて、SJIS文字コードの文字列の入出力を想定して、入力をdecode、出力をencodeしている。もちろん、これでも使えないわけではない。Perl 5にもv5.10以降ではgiven-whenがあるのだが、experimentalというメッセージが出てくるので、手慣れたif elsif else構文に切り替えた。
use utf8; use Encode; while(<>){ my $line = decode(sjis,$_); chomp $line; if($line =~ /あ/){ print encode(sjis,"日本語: $line"),"\n"; } elsif($line =~ /^.$/){ print encode(sjis,"1文字: $line"),"\n"; } elsif($line =~ /^.{2}$/){ print encode(sjis,"2文字: $line"),"\n"; } elsif($line =~ /^.{3}$/){ print encode(sjis,"3文字: $line"),"\n"; } elsif($line =~ /^.{4,9}$/){ print encode(sjis,"4から9文字: $line"),"\n"; } else{ print encode(sjis,"10文字以上: $line"),"\n"; } }
とうとう時代は変わったということかな。凄いものができたね。
後は、僕にはなぜ出るのか理由がよくわからないエラーメッセージやライブラリの充実の問題だけだね。
2016.01では快調に動いていたforest_fire.p6が2016.04では、なぜかエラーになる。cygwin64のコンソールでの実行結果。OS Xのbashコンソールでも同じ結果だったはずで、えっ、OS Xでも動いていたよねと思った。今のところ、人工生命(Automaton, Game of Life)関係のスクリプトだけでよくわからないエラーメッセージを見つけている。問題は多次元配列にありそうだが・・・
Forest fire - Rosetta Codeには「Works with: rakudo version 2015-10-04」に加えて、解説が追加されている。
jscripter@Dell4 /cygdrive/c/scripts/perl6 $ perl6-m.bat forest_fire.p6 2 木 木 木木木木 木木木木木 木 木 木 木 木木 木 木木木 木 木木木木木 木木木 木木木 木 木木 木 木 木木 木木 木木木 木 木 木木 木木 木木木 木 木 木木木木 木 木 木木 木 木木 木木木木木 木木 木木 木木 木木 木木木木 木 木 木 木 木 木 木木 木 木 木 木木 木木 木木 木 木木 木 木 木木木木木 木 木 木 木 木木 木木木木 木木 木木 木 木木木 木 木 木木木木 木木 木 木木 木 木木 木 木木 木 木 木木木木 木 木 木 木 木 木木 木木 木木木木 木木 木木 木木木 木 木 木木 木 木 木 木木木 木木 木 木木 木 木 木木 木木 木木木 木木 木木木木木木木 木木 木木木木木 木 木木木 木 木 木木木 木 木 木 木木 木木木木 木 木木 木 木木木 木木木 木 木木木木 木木 木木 木 木木木木 木 木木 木木木木木木木 木木木 木 木 木 木 木木 木 木 木 木木木木 木木 木木 木木木木 木 木 木 木 木 木 木木 木木木木木木木木木 木木木 木 木 木木 木木木 木木 木 木 木木 木 木 木 木 木木木木 木 木木木木 木 木木 木 木木 木 木木木木木木 木木 木 木 木 木木木 木木木木 木 木 木 木木 木 木木 木 木木木 木木木 木 木木木木木木木 木木木木 木木 木 木 木 木 木 木 木 木木木 木木木木 木 木木木木木木木 木 木木 木 木 木木木 木木 木木 木木 Cannot assign to an immutable value in block at forest_fire.p6 line 47 in method step at forest_fire.p6 line 46 in sub MAIN at forest_fire.p6 line 69 in block <unit> at forest_fire.p6 line 62
forest_fire.p6の問題部分(line: 46-48)は次のようになっている。
for @heat -> ($i,$j) { $_ = Heating for @!neighbors[$i][$j].grep(Tree); }
"$_ = ..."の"="を":="に書き換えると動くようになる。変化(火災)が少なすぎるし、動作が遅すぎる。これで正常に動いているはずはないか。単に止まらなくなっただけ。エラーが"Cannot assign to an immutable value"だから思いついたわけだが、immutableとは「不変の」という意味。「不変の値にassignできない」という意味不明のエラーだけど、":="で、Bindingさせることができる。よくわからないが、immutableなStringとmutableなArrayListな話 - (define -ayalog '())にあるような話と関係があると思われる。これはJava/JVMの話だが。
forest_fire.p6 after assignment was changed to binding on line 47黄色の木が加熱状態(Heating)、赤い木が燃えている状態(Burning)です。燃えると空(から)、黒色のスポットになる。
Perl 5版(Forest fire - Rosetta Code)は超高速で動作する。木がascii文字(*,&)だということもある。動作を止めないと撮影できない。速度については、まだまだ総合的に見ていく必要があるのだろう。
forest_fire.pl on Cygwin64 console普通のテキスト処理スクリプトを書くだけなら、特に問題が出るとも思えない。次は必要なライブラリを確認していこう。LWP関係は以前少し確かめたけど。
Zazelさんから、Twitterでコメントをもらった。Perl 5で、Encodeモジュールのお世話にならずに、標準入出力の文字コードを設定する方法を教えてもらった。openプラグマを使う。
use utf8; use open qw/:std :encoding(cp932)/; while(<>){ chomp; if(/あ/){ print "日本語: $_\n" } elsif(/^.$/){ print "1文字: $_\n" } elsif(/^.{2}$/){ print "2文字: $_\n" } elsif(/^.{3}$/){ print "3文字: $_\n" } elsif(/^.{4,9}$/){ print "4から9文字: $_\n" } else{ print "10文字以上: $_\n" } }
これこそ、Perlの合理的な書き方だろうと思って、Perl 6も見直した。
for $*IN.lines() { given $_ { when /あ/ {say "日本語: $_" } when /^ . $/ { say "1文字: $_" } when /^ . ** 2 $/ { say "2文字: $_" } when /^ . ** 3 $/ { say "3文字: $_" } when /^ . ** 4..9 $/ { say "4から9文字: $_" } default { say "10文字以上: $_" } } }
Perl 5も進化している。さて、多少はPerl 6のほうが記述量は少ない。Perl 6を使う理由、必然性はどこにあるのか。パフォーマンスが決定的に違えば、選択の方向性は明らかになっていくが、そうでなければ、新しいプログラミング・パラダイムの魅力をどこまで評価するかということになるのかもしれない。基本的にはパフォーマンスの向上を目指すはずである。
形式的には、Perl 6のほうが、スクリプトのポータビリティは上がることになると思われるが、実際に日本語Windows環境以外でsjis的なるもの(cp932)を使うことはほとんどないだろうし、多言語Windows環境が有り得るのかどうかも定かでない。キーボード自体の問題も出てくる。しかしながら、グローバルな時代にはそういうニーズが出てくる可能性はある。Perlが文字コードの基盤にUTF-8を置いたのは、そういう時代を見越してのことだろう。Webの時代なのだ。
2016.21 A Quick One From Houston | Weekly changes in and around Perl 6ネタ。
スピードが乗ってきた感じ。WindowsとMacのインストーラを待っている。
今、漠然と考えているのは、日記をプログラムで書ければおもしろいということ。日記の持つ機能を拡張できるだろう。もちろん、今でもPerlでHTML+CSS+JavaScriptを書いている(出力している)のだから、既に実行していると考えることができる。Webブラウザ上で表現され、ハイパーリンクで日記内の記事やページ、Webにある他のリソースにアクセスできる。インデックスも作っているし、タイムラインも表示できる。
そういったことをもっとスマートに実現したい。もっと高機能化したい。具体的にそれが何かということが、すぐあるわけではない。もっと思考を深めることを導き出すような記述の仕方を求めている。その基盤となるプログラミング言語は何かということになる。
自然言語が脳・身体と相互作用するように、自然言語がプログラミング言語、すなわち究極的には機械と相互作用する。そうして、さらに自然言語と脳・身体とプログラミング言語/機械の三者間で相互作用が起こる。既に起きていることだが、もっと融合していくことになる。そのためのプログラミング言語は表現力が豊かで、拡張可能で、多様性を持ち、人間が使いやすい、馴染みやすいものである必要がある。
今のところ、知っている範囲では、Perl 6がおそらくその候補になるだろうというか、将来性を含めて、それぐらいしか思いつかないということになる。本当にそうなるのかはもう1年ぐらい待つ必要があるかもしれない。
PerlはPerl 5からリファレンス(reference)が使えるようになり、複雑なデータ構造やオブジェクト指向を実現できるようになった。リファレンスはCのポインタに対応するもので、単純なプログラムでは意識する必要もない。オブジェクト指向のモジュールを使う場合にリファレンスで値が返される場合にデリファレンス(dereference)する必要があることぐらいの知識だけで済む。
リファレンスは、複雑なデータ構造を扱ったり、オブジェクト指向プログラミングを目指すなら必須の知識である。リファレンスの実体(参照する「物」)は、無味乾燥な人生を送りたい人はリファレント(referent)と呼び、そうでなければ「モノ」(thingy)と呼ぶことになっている。訳者の近藤嘉雪氏は最初「物」を「ブツ」と読むと書いて、いやいや「モノ」と読んでくださいと笑わせている(4.1 リファレンスとは何か?, プログラミングPerl, 2nd. Edition, page: 280)。
「5.3.3 (Perlの)オブジェクトはリファレンスで指された「物」にすぎない」(前掲, 2nd. Edition, page: 332-333)は、リファレンスを祝福する(bless)とオブジェクトになるという話に言及している。「bless」をどう訳すかということで、単に「ブレスする」とすることになったのだけど、ちょっともったいない感じもする。blessは、そのオブジェクト(リファレンスが指すもの)が、どのクラス(Perlではパッケージ)に属するものかを指定する関数である。このような表現では無味乾燥になってしまう。祝福するとオブジェクトになると言うと大変おもしろいが、これが機械にわかるだろうか。
シンギュラリティの問題は、機械が人間を理解しはじめる可能性があるかどうかだろう・・・それはさておき、Perlは正規表現によるパターンマッチの先端を走ることに拘っている唯一の言語かもしれない。それこそが、Perlの持つ「モノ」の認知能力の基盤だからである。パターンマッチだけで人間になれるかというとそうでもないだろうけど・・・
Joe Hewittに最後に言及した記事は、JavaScript追っ掛け再入門 第5回 オフラインとローカルストレージ (2013/05/21)、最初に言及したのは、更新日記をiPhoneへ (2011/05/08)。更新日記rewrite計画 II - モバイル化実験 (2012/07/16)の記事が続編で、Mobile版 powered by iUIが、一応、その果実ではある。残念ながらそれ以降進歩がない。それよりも、今後、Joe Hewittが何をするのかというほうに興味があった。
Joe HewittのUp (2012/10/03)の後、もちろん時折動向を調べていたが、新しい動きがあった。Art/Code Example: Type Design - Mediumを見よ。
WTMに最適なネタになるかもしれないが、まだ、これからだろう。要注目だ。次の記事にUpとは何かが書かれている。Up, because… - Medium。最初のところを引用しておこう。
Up’s purpose in life is to hoist common front-end programming patterns to first-class status.
Because UIs are an event-driven dance of concurrent tasks, Up lets you do asynchronous operations with as little ceremony as possible.
Because UIs are made of complex object hierarchies, Up has a pattern matching system to allow declaratively querying and composing anything.
A little deeper into Up - Mediumを読んでいると、Perl 6に似ているようにも思えるが、Patternsの項の考え方が違うようにも思える。ここも引用しておこう。
Patterns
Up has builtin operators for describing patterns in streams of objects or within a data structure. You can apply these patterns to pull out data and convert it to more meaningful objects. Stream patterns are like a combination of regular expressions and context-free grammars (acting on any sequence of objects, not just strings). Object patterns are like the destructuring found in Haskell, F# or Rust.
ここは言語の中でパターンを取り扱う話で興味深い。Functional vs. Imperative - Mediumによれば、表面的にはImperativeな言語になるので、Perlとは異なる。いわゆるDomain-Specific Languageということになるのだろう。Imperative(命令型)なビジュアライゼーション言語であるということは、Tcl/Tk的なプログラミング言語になるかもしれない。本格的なリリースを待つしかないが・・・楽しみではある。
Hiroshima.tsのネタにもなるかもしれない。joehewitt/up: It's a programming language.だけで、Typefaceデザインのインターフェースが作れるのかな。Githubの状態は、最新のコードで7ヶ月前だし、従って、アクティビィティも昨年の10月で終わっている。一人で作られているようだし、手元で育てているのだろう。
引用文に出てくる「context-free grammar」、「object pattern」と「destructuring」という言葉が気になる。
PCを起動すると、昨晩消し忘れたオーディオ・システムから、ピーター・バラカンのウィークエンドサンシャインが流れてくる。土曜日の朝のよくある光景。
まだ、この後、話はBootlegシリーズに続くけど、追い掛けそこなった。もう話題はディランから他に転換している。
わたなべさんのRSSの更新が再開されたので安心した。昨晩、4月の最初で停止していることに気が付いた。Twitterは運がよくて見掛けるか、検索しないと捕捉できない。RSS/Atomフィードの利用頻度が僕自身も極端に低下しているので、気づいていなかった。これからは時折、Twitterで検索することにしよう。第22回シェル芸勉強会に参加した #シェル芸 - jarp,ネタ。
最近、時折見かけるシェルスクリプトマガジンというのを買ってみた。特集「Mac OS XでUNIXを使い倒す! 初心者向けシェルプログラミング入門」のMac OS Xに惹かれて購入した。Rakudo/Perl 6をMac OS Xで使い始めたからなのが動機。
シェルスクリプトマガジン Vol.36 April 2016「月刊世界で唯一のシェルスクリプトマガジン」、英語では、Shell Script is The Supreme Glue Technology FOR THE SOPHISTICATED SHELL SCRIPTERSと書かれている。
Windowsネイティブ系のコンピュータ世界の住人なので、Mac OS Xは苦手。そろそろ、スクリプティングもMac OS Xで本格的に使いたい。【問題のみ】第22回ゴールデンウィークの存在疑惑シェル芸勉強会 ? 上田ブログには、Linux系の回答例をMac,BSD系環境で書き換えるための参考になる情報が記載されている。
Programming Perlの第4版の翻訳も出ないのに、シェルスクリプトの月刊誌が出て続くとは興味深い現象だなと思った。熱心な方がおられるのだろうと思う。IT業界のことは僕にはほとんどわからない。僕は趣味でやっているに過ぎないからね。シェルなら、Perlでいいじゃんと思ってしまうわけだけど、なんでもできちゃうし、なんて言っていると、大昔のことだけど、Wolfさんから諭された記憶がある。それぞれ書いてみるもんだみたいな話だったかな。それがTS Networkの精神でもある。
シェルだけじゃないけど、特定の課題のプログラミング言語の記述・解読とプログラミング言語間比較という観点からは、Perl 6で調べはじめたRosetta Codeがある。わたなべさんがシェル芸の前に話題にされていたのは、Golf、よく覚えていないけど、anarchy golfかな。これを歴史的にはCode golf - Wikipedia, the free encyclopediaから辿ることができる。こちらはコードを如何に短く書くかという話になる。
わたなべさんの影響を受けて、そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiitaの記事が出ている。僕も一時は追い掛けたこともあったが、日常の中に埋没してしまって、浮き上がれていない。そのうち、Perl 6で復活できたらと思う。
過激な言葉が並んだ「オレの愛したソニー プレステ生みの親・丸山茂雄が語る迷走の裏側」上中下の記事を思わずツイートしてしまった。
読めばわかるけど、本質をついていると思う。これほど、面白い記事は、まあ、これまでなかったかな。日本人必読・・・
Sony Japan | ニュースリリース | ソニー、米国Cogitai社に資本参加 次世代の人工知能(AI)に関する研究開発を共同で推進ネタ。
今日はずっと音楽を聴いていた。ボブ・ディランの「Fallen Angels」(2016)と「Shadows in the Night」。たまたま、iTunes上でマウスをクリックしてしまったら、ボブ・ディランの「Fallen Angels」が開いた。iTunesスタッフメモによれは、フランク・シナトラが世に送り出したナンバーをボブ・ディランが歌うという趣向。昨年出た「Shadows in the Night」も同じ路線だったそうだ。僕らが知っているのは1960年代のボブ・ディランの音楽だ。「風に吹かれて」(Blowin' in the Wind)など。50年経って、かなり違ってきたと思ったけど、iTunesのトップソングに並ぶ「Fallen Angels」の「Melancholy Mood」を聴くと、やはり、ディランかなとも思う。
「Don't Think Twice, It's All Right」は「くよくよするなよ、大丈夫だ」って訳せばいいかな。
ぜんぜん、Cogitaiの話に発展していかないけど、要は何でも認知の問題であるわけで、ボブ・ディランの音楽をどう認知するかということなんだね。日記も日常から世界をどう認知するかというものと言える。
CogitaiのCTOのSatinder Singh氏が認知科学の専門家でもあるようだ。Home page for Satinder Singh (Baveja) and Reinforcement Learningを参照。
COOのPeter Stone氏はロボカップ組織のvice president。Organization of RoboCup - RoboCup Federation WikiやPeter Stone :: Professor at the University of Texas at Austin, Department of Computer Scienceを参照。
さて、ソニーが何を生み出すのか、楽しみにしていよう。