トップ 追記

日々の破片

Subscribe with livedoor Reader
著作一覧

2021-04-08

_ オーラルコミュニケーションは歌

例によって玄海で飯食って、江戸楽(という池袋百点のような広告雑誌で、玄海でご自由にお持ちください。になっている)を貰ってきて読んだわけだが、松平定信のエッセイが妙におもしろかった(割と、いつもおもしろい)。

お題が川にかかる橋の連載で、今回は神田川(橋は忘れた)なのだが、まあ世代的にかぐや姫の神田川のネタになった(わかる)。

で、最初は自分は烏の行水である、から始まる。

で、なぜ一緒に出ようと言った女のほうが髪が芯まで冷えて石鹸がカタコト鳴るくらい待たされるのか? 男として解せないと続く。

で、喜多條くんと同じ番組に出る機会があったから、この疑問をぶつけてみた。

すると、まずおれはすごい長髪だったから(と語り出すということは実話ベースの歌、または作詞家としてストーリーを作っていたかどちらかだろうというのは、おれの憶測)洗髪の時間がかかる。しかし、それだけならばまだ良いが……と続いてなるほどと納得した、とある。

(おれは、それを読んで、いや、ってことはやさしさが怖いは、あなたじゃなくて、お前のほうだよ、と思った)

で、続けて、そういえば南こうせつから聞いた話だが、神田川の締め切りがぎりぎり過ぎて、顔を合わせて打ち合わせとか全然できないので、電話で歌詞を伝えられた、という話が始まる。

一生懸命、チラシの裏に電話で喜多條が読み上げる歌詞を写していく(ちょっとシューベルトっぽいが、あれは曲のほうだった)。で、歌詞ってそれなりに語調が良いから普通に読み上げていくうちに、節回しが入って来るわけで、喜多條くんも例外ではない。というわけで、「若かったあの頃」の部分は、実は喜多條くんのメロディーなのだ。

曲を70年代にはいやとなるほど聞かされたので、松平のエッセイを読むといちいち思い当たっておもしろいのだが、本当におもしろいのは、松平本人はまるで気づいていないわけだが、70年代(というか90年代半ばくらいまで)は、文字伝達よりも、口頭伝達のほうが、遥かにスピードがあったという点なのだった。(文字伝達は電報にしろ手紙にしろ、電話よりも遥かに遅い)

そこが一番おもしろいと同時に、だからあそこは喜多條くんのメロディーなんていうことは、今は起きないだろうな。

神田川(かぐや姫)

(嫌い)


2021-04-01

_ Rails6.1とReactJSの組み合わせは最強ではなかろうか?

Vueとか使ってないからわからんけど、とりあえず、Rails6.1で新規にアプリケーションを作れる状態になったので作り始めたわけだ。

で、プロジェクトを作ったら、app/assets/javascriptsのCoffeeがなくなっていてapp/javascript/packsとかができている。

面倒だなぁとWebpackerの仕組み調べたりyarnとか入れたりしながらいじくっていて、以前のアプリケーションからの持ち越しがあるので、CoffeeからES6に書き換えたりして、少なくともJSよりも1億倍Coffeeのほうがよい理由のラムダ式(というかfunctionとreturnを書かないで済む)はあるし、しかもreduceとmapが使えるからES6のほうが良いじゃんといじっているうちに、なんとなくReactJSで作りたくなってみたので、やってみた。

最初引っかかったのは、Bootstrapもついでにβ版だけど5にしたら、react-bootstrapというやつが4にしか対応していなくて(5と4でおれが一番引っかかったのは、pl-*とかmr-*とかが、ps-*とme-*に置き換わったことで、マイグレーションという概念のかけらも持たない愚かなことを、と思ったが、とはいえアラビア語みたいにlではなくそっちはeだみたいなやつのことを考えると、右左のような位置相対よりも始点終点みたいな文相対のほうが良いのかな(本当の理由は面倒だから調べていないけど)と納得したりしながら、まあ、たかだかトリガーでクラス名の切り替えする程度のことなら、onClick書けば済むからreact-bootstrapはリムーブして、生でBootstrap5βを使うことにした。

結果としてx-editableが使えないのはさすがに面倒だなぁと思ったが、Building inline editable UI in React: A complete guideというページが自分のeditableを作る方法を解説してくれていたので、ReactJSのコンポーネントの作り方の勉強がてら自作して(いずれにしても、コアコンポーネントだから自前のアプリケーション特化(ということは汎用と異なりコード量が圧倒的に少なくて済むからトラブったときの調査が超簡単)コンポーネントのほうが都合が良い)それも解決。

作る時に、onChangeを取ったりonKeyDownを取ったりしていろいろ試した(というかこちらが考えていない挙動に苦労した)おかげで、コントロールドとアンコントロールドの違いを内側から理解できたのも大きかった。

とはいえ、さすがにTinyMCEクラスの大物を独自に作るのはごめんだが、これもofficialなReactJS版が公開されていたのでOK。(考えてみれば、設計と実装の都合で、最初にインラインエディタの埋め込み、次にTinyMCEの埋め込みとなってしまったから、自作でインラインエディタを作る必要が出ていろいろ調べられたから良かったが、逆だったらちょっと話が違ったな)

ただ、本家のドキュメントでは、npmを使ったインストール方法しか出ていない。

既にyarnに寄せる(Gemfile.lockと同じようにyarn.lockで管理したいじゃん)ことを決めていたので、それは嫌だ。というわけでyarnのサイトでtinymceとreactで検索すると野良コンポーネントが山ほど出てくる。

困ったことに本家と同名のtinymce-reactでyarnを検索して最初に出てくるやつが、野良でAPIが全然違う。気づかずにyarn addして組み込んだら全然動かなくて(というかきょどりまくる)閉口して、しばらく試行錯誤してやっと本家版ではなく野良版だと気づいて、yarn removeして再度探してやっと見つけた(今は検索の2番目に出てくるが、最初に探したときは後ろのほうに埋もれていた)。

TinyMCEで編集させたやつをReactJSで利用するには、dangerouslySetInnerHTMLを使う必要があるのが不快極まるが、まあ、しょうがない。(同じく、受け入れるときにフィルタするGemが、サニタイズ言うなのrails-html-sanitizerなのも気に食わないがそもそもそれを言い出したらActiveRecordのsanitaize_sql_arrayを使えなくなってしまうので名前が気に食わないのはあきらめる)。

で、react-railsを入れると

<%= react_component('コンポーネント名', {コンポーネントのコンストラクタにpropsとして渡るオブジェクトをHashで記述} %>

と、Erbを1行書くだけでReactJSの世界に入れるのだった。

その結果、config/route.rbでいうところの''だけをhtml.erbにして、あとはすべてJSONを返すAPIにして、ReactJS側で全UIを処理できるからえらくきれいに書ける。

app/viewsにerbが1個除いて存在し無いからapp/helpersも空っぽで良い(view helperいらないし)。

JSONの返し方に、xml.builderを使う流儀もあるようだが、おれはシンプルにrender json: to_json持ちオブジェクトで済ませるのがすっきりしていて好きだから、本当にapp/viewsの下が軽い。

で、ReactJSの何が良いかと言えば、UIプログラミングに絶対的に必要となるライフサイクル管理が明確化されている点にあると思う。

オブジェクト生成時のconstructor(props)と、生成後のcomponentDidMount(componentWillMountはデプリケートされたようなのではなから考えない)、廃棄時のcomponentWillUnmountで、特にcomponentWillUnmountがあるおかげで、TinyMCEを作ったり破壊したりがえらく楽になった(tinymce-reactは勝手にcloseしてくれるので、生で使うときの廃棄管理が不要になっただけでえらくありがたい)。

あとは、とにかくAjax(大して使いやすいとは思わないが、みんなが使っているaxiosを使っている)でthenとかcatchしたらthis.setStateしてやれば勝手に表示できるのも良い点だと思う(this.setStateだけでオブザーバーパターン(コンポーネントで閉じているが、render関数をオブザーバー、それ以外のイベント受信系をオブザーバブル、stateをサブジェクトとみなした場合)が実現できているのでえらく楽)。

というわけで、今頃になってReactJSを使ってみているが、相当気に入っている。


2021-03-30

_ ノイズキャンセリングすごい

週の半分はオフィスへ出勤するので(完全リモートは可能なのだが、オフィスへ行くとおれ専用の50インチモニタがあるので、通勤しない快適さと、モニタ作業の快適さが、ちょうど半々なのだ)、そろそろワイアレスのイヤフォンが欲しいなぁと考えているところに、たださんがNCイヤホンを買ったと日記に書いていたので、真似して同じものを買ってみた。

使用頻度はそれほど無いから高級なやつに金をかけたくはないが、音が悪いのを我慢するほど安物には興味ないし、ノイズキャンセリングとはいかほどのものか知りたいとかいろいろな理由から、渡りに船な選択だったのだ。

真似してオフィシャルサイトからPaMu Quiet Miniを購入したが、相変わらず値引きしているので大体8000円くらいで変わらんな。

使ってみると、タッチセンサ(ではなく物理スイッチっぽい)がやたらと鋭敏で、何気なく触れただけで停止したりするのは閉口したが、そもそも触らなければ良いので問題ない。とはいえ、ダブルクリックで次の曲(右)、最初から(左)ができるのは便利なのだが、ダブルクリックする前に停止動作になってしまったり、そこは微妙だ。

で、出勤時に使い始めたのだが、「なんだ、ノイズキャンセリングってこの程度のものなのか」と、脇を走り去るオートバイやプラットホームのざわざわや地下鉄の風切り音にがっかりしてしまった。

が、それはそれとしてスマホアプリがあるので、地下鉄を待ちながらインストールしたら、デフォルトは外音取り込みモードで、ごくごく緩くしかノイズキャンセリングしていないことが判明。

なるほど、そういうことでしたかと、「ANCオン」をタップした瞬間、サウンドスケープが一変して心底驚いた。

感動的ですらあった。

PaMuアプリ

デフォルトでは左端の「外部取り込み」が選択されている。

これがノイズキャンセリングか。ちょっと今まで考えたこともなかった世界を知った気分だ。

それはそれとして、たださんの日記には「ガイド音声がちょっとテンション高くなってて笑ってしまった」とあるが、別にガイドなんか無いような……と思ったら、ケースから取り出すやすぐに電源オンしてスマホと接続されるからであって、もたもた装着しているので聞き逃していたことに気付いた。素早く装着するとPower On...Connectedとガイドしているのだった。


2021-03-28

_ 鍵のかかった部屋

最近、見たことも行ったこともない商店街に行くのが妻との間でブームになっている。

先日は十条というところに行って、からし焼きという食い物を提供する店が何軒かあって、そういう食べ物(1965年からの十条のソウルフードらしい)の存在を知ったりとか、それなりに発見もある。

で、それより前に大田区のほうの商店街に行ったときに、近所からは完全に絶滅した、子供の参考書と大人のエロ本と、どうでも良いベストセラーと嫌韓本と鬼滅がおいてあるタイプの本屋に立ち寄った。

立ち寄ったが、特に欲しいものも見つからない。

とは言え何も買わずに立ち去るのもくだらないから、目立つところに置いてあるし、知らん作家ばかり集めた短編集だから、最近の作家の作品も読めるしそれなりに暇潰しに読むには悪くは無さそうだなと、新潮文庫の「鍵のかかった部屋」買ってみた。

で、読んだら、大しておもしろくなかった。あの本屋にはふさわしいのかも知れない。

前書きに使い古された鍵に紐を引っかけて密室を作ることをネタにした短編集で「ボーナストラックが最高」みたいなことが書いてあって(というか、買うときはそんな能書きがついていることも気づかなかった)、それは気にせず順番に読み始めて、とてもつまらん、つまらん、ちょっとはおもしろい(微妙にSFで少しばかりのセンスがワンダーしていなくもない)、最大限につまらん、ときて、ボーナストラックはそれなりに余韻がないわけでもなく、まあ、一番ましだったかな、と思いながら読了。

が、本当のボーナストラックは、先ほど、書影を貼るためにアマゾンで検索して、ついでに評を斜め読みしたときにあった。

ほぼ全員が、おれが一番ましだなと思ったボーナストラックをクソミソにこき下ろしている(特にトップバッターは一生懸命に皮肉を書いていて物悲しい)。

なるほど、これが現代の日本の推理小説界(の読者層)なのか。と、それが一番おもしろかった。

鍵のかかった部屋 5つの密室(新潮文庫)(似鳥鶏)

それはそれとして、ボーナストラックに余情があるといえば、「もうすぐ絶滅するという開かれたウェブについて: 続・情報共有の未来」だな。

もうすぐ絶滅するという開かれたウェブについて: 続・情報共有の未来(yomoyomo)


2021-03-14

_ 新国立劇場のワルキューレ

ほとんどのキャストが来日できないためほぼ日本人のみの公演で、指揮者も入院の予後の飯守に替わって大野とえらく大変な組み換え作業となったワルキューレだが全体としてはとても良かった。

大野はトリスタンとイゾルデの時はとんでもなく緩慢なテンポで本人が陶酔しちゃっているのだろうみたいな感じだったが(おれは好きだがそれでもいささか遅すぎると思うところもあった)、トゥランドットでは実に(良い意味で)グロテスクなアラベスクを繰り広げて、まあ只者ではないことはわかっている。

というわけでどれだけ陶酔的な君こそは春やヴォータンの別れを振ってくれるのかと楽しみな反面、本人が陶酔しきってラリホーになってしまうのではないかという不安もないわけではなかった。

実際、1幕が予定より5分遅くなり、2幕も5分遅くなり、と19時10分終演予定が19時20分くらい(ということは3幕は予定通りだったようだ)に伸びたが、オーケストラともども素晴らしい。これこそワルキューレだ。歌があり恐怖があり沈黙があり希望がある。

そして何よりもジークリンデの小林厚子という人が抜群。声量、歌唱方法、何をとっても超一流じゃん。1幕はジークリンデが歌い出すのがとにかく楽しみだった。

フンディングも良かった。ドスが効いた英雄になり損ねた犬としては抜群の風格がある。こんな良いバスがいたかな? と思ったら、長谷川という人で、最初の東京リングでハーゲンを歌っていた人だった。あの時は声量が随分と不足しているような気がしたが、今回はすごいフンディングだった。それにしても最初の東京リングということは超ベテランだな。

逆に言うと、1幕のジークムントは許しがたい。歌い出すとオーケストラだけに集中してとにかく早く終われとずっと考えていた。鼻声唱法のジークムントなんてあり得ないだろう(それでも最後まで歌い切ったのは見事というかプロだから当然というべきか)。

一方2幕になるとジークムントの第一声がバーンと来て、おおこれは良いのかな? と思ったら全編一本調子でこれまた勘弁してほしい。2幕のジークムントの声で1幕のジークムントの表現だったら良いのになぁと、なかなか日本人オペラにおけるテノールというのは難しいものだな。

ブリュンヒルデは登場時のハイトホーホーの最後が絶叫調でううううと思ったら、実はとても良いブリュンヒルデで気持ちよく聴いていられた。

フリッカは安定のフリッカ。

そしてびっくりしたのがヴォータンのラデツキーという人で、犬め、フリッカの元へ逝けがこんなにおっかないまさに戦の長、雷光の神っぽいのは初めての経験だ。ここ一発でとんでもなく気に入った。(ふと気づいたがドンナーも雷の神だが、あっちは雷鳴の神なのかな?)

演出はゲッツフリードリヒの貧乏舞台なのだが、2幕のジークムントの前にブリュンヒルデが出現するところ(ここでのアルベリヒの呪いとジークフリートの2つの動機の中間のような運命の宣告の動機の歌わせ方もうまい)、3幕でヴォータンが岩山へ乗り込んでくるところ、最後のローゲの炎の輪とか、ここぞというところのメリハリは良いものだ(冬が過ぎ去り春が訪れるところの壁が落ちるところはなんだかなぁという印象を持つのだが、手に手を取って脱出するときに狭い扉からではなく、広い森の中へ直接進めるので悪いものではないとは思う)。

それにしてもジークムントはともかく、実に良いものだった。

夫婦喧嘩で考えたが、しょせん19世紀的価値観なので、フリッカの文句に対して、ヴォータンは、賊から購入した花嫁との結婚のような相互の合意が無い婚姻を契約と呼べるのか? と突っ込まないのだなぁと気になった(もっともそこでフリッカが引っ込むとウェルズング計画の大穴、あらかじめ仕込んだノートゥングをジークムントに与えることに対する指摘ができなくなるからしょうがないが、おそらく誰一人としてこの婚姻の問題点はわかっていなかったのだろうとは思う)。

あと、何度観ても、エルダの知性を持った二人の先読み合戦はおもしろい。

今回の舞台では、ブリュンヒルデはそこまでヴォータンの無言の計画を読み切っておらず、むしろヴォータンに促されてローゲによって特権的防御を得ることに気付いたように見えた。

逆に今回の舞台では、近親相姦全然OKなヴォータンだけに、神性を奪うための口づけまでが異様にエロチックで、おや? この男はジークリンデの腹の中の子を知らない(少なくとも知らないふりをしている。もっともブリュンヒルデは説明しているが途中でウェルズングの話はやめろと遮っているから聞いていないという解釈も可能)だけに、ここで別の英雄を作ろうと考えているのか? という不穏な雰囲気を漂わせておもしろい。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|

ジェズイットを見習え