トップ 最新 追記

日々の破片

著作一覧

2018-09-09

_ ドイツマイスターの眼鏡を購入

数年前からキラー通りを歩く都度、木のフレームというものを飾っている眼鏡屋が気になって気になってしかたがなかった。

それで、使っていた眼鏡のレンズが相当はげて汚れてきたのもあって、そこで眼鏡を作ろうと思い立った。とはいっても値段が全然見当がつかない。木という素材はそこら中にあるけれど、木の眼鏡フレームがそこら中に売っているわけではないから大量生産とは思えない。ということは相当価格は高そうだ。というわけで、一応予算は10万とレンズで12~3万くらいかなぁ、高いけどまあいいや、とあたりをつけて出かけたのが先々週。

店入ると誰もいないからショーケースを見たら、ぱっと見で木のフレームは20万とかする。予算の2倍じゃん。とびびったが、5年使えば年4万、月当たりで4000円弱、なんだ通信費よりも安いじゃん、と腹を括ったところに店員が出てきた。ら、いきなり予約か? と聞かれるが、眼鏡屋さんで予約が必要だなんて考えてもいなかったのでもちろんフリだ。

暑くて客が誰もいないから問題ないということで、最初に、検眼しろと言われる。もちろんそのつもりだったので検眼が始まるのだが、やたらたくさん検査があって驚いた。

最初に趣味を聞かれて、なんだそれ? と思ったら、要するに眼鏡で何を見るかのユースケースを知るためだったと後でわかったが、なるほど、そういうことか。

アルファベットが5つ並べたのを片目ずつというのはわかるが、分度器みたいなのが出て来ておそらく乱視系の検査も入る。驚いたのは右目では120度あたりの軸の数値が朧状というか鱗上で読めないことだ。鱗状に見える部分があって、伊賀の影丸かなにかで徐々に姿が消えていくような見た目なのだ。

なんか左上のほうの数字が読めないと言うと、それが右目の視野欠落だ(があるというのは説明済み)でしょ? と言われる。続けて眼鏡屋さんは、それが中心にある人もいるんですよ、と慰めなんだかなんだかよくわからないことを言うが、そうか、視野の欠落というのはこういうことなのか。と人体の不思議に感動した。

それにしても眼科では明滅する点の分布で調べるので、このような形で欠落が視覚化されるとは思わなかった。というか、影になっているのだろうくらいにしか考えていなかったのだが(日常生活では左目が勝手に見て脳内で合成するし、そこを見たいときは視線がそこへ動くので欠落部そのもので意識的に何かを見ることはできない)鱗状に見えるのか。おもしろい。

さらに検査が続く。右目で縦棒、左目で横棒(逆かも知れないけど)の十字が十字に見えるか? というのをやって、全然ずれていることがわかった。

なるほど、確かにオペラを見ると舞台にドッペルゲンガーが見えるのはこういう原理かと感心するが、それを直すのが眼鏡屋の使命だから、無理に焦点を合わせずに自然に見て十字が中央で交差するように、と説明されながらレンズを変えて調整していく。へー、なるほど。

なんだかんだで1時間以上検査をして、さてフレームの選択になる。

もう腹を括っているので木のやつ一択だ。

それでもいくつか種類があって、色が黒と茶と灰色で灰色がお勧めとか言われる。黒も渋いかなと思ったがあまりおもしろくない(悪くはない)ので、お勧めの灰色を選んだ。さらに四角いのや楕円のがあるが、今使っているのが四角なので楕円にしてみた。

レンズもこれまで購入していたのと3倍くらい違ってここでもびびったが、もう開き直っているのでOK。むしろ先払いすると、ここまで客がいないと(予約入ってなかったのか、誰も客が来ないのでおれの貸し切り状態)夜逃げされたら怖いなとか考えるが、クレジットだから引き落とし前に物を受け取れそうだしまあどうにかなるだろうとサインする。

で、できあがったのをかけて、おお、確かに木だ。ちょっとざらつく触感がおもしろい。意外と弾力性があるな、とか、鼻当ての部分は木だからプラスティックと違って溶けなさそうで良いな、とかいろいろ考えながら、家に帰ってから屋上で横になってオリーブの木を眺めていたら、すごく違和感がある。

妙に立体感があるのだ。ふと、遠くのクレーンを眺めるといつもは2つ見えるランプが1つに見える。わ、ふつうに焦点があっていると、いちいち注視点で左右の焦点合わせ(といっても無意識にしているわけだろうが)をしないので、ディープフォーカスなんだ、と驚いた。

あの十字の検査の結果がこれか。と驚く。なるほど、これは良いものだ、とレンズのほうにもあらためて感心した。

というわけで眼鏡を作って何十年、初めてコンタクトレンズをして、耳と鼻が解放されて、視野すべてがくっきり見えたときに劣らない感動があって驚いた(子供の頃にはっきりと見えたときにも感動はあったかも知れないが、覚えていないと、書いた瞬間に思い出した。新宿の百貨店に親に連れられて作ったのだった。床のリノリウムの四角がはっきりタイル状になっているのを知って仰天したのを思い出した。記憶というのはおもしろい)。

というわけで、オペラ用に遠くを見る用の眼鏡も作ろうという気分になった(が、さすがに金が続かないので今度は木はなしだな)。


2018-09-11

_ TinyMCEの使い方

SimpleMDEをしばらく使っていたが色を付けたいというような要望があって、そりゃマークダウンにはないし、かといって直接spanを書かせるわけにもいかないし、というわけでいろいろWYSIWYG系のブラウザ用エディターを調べて、結局TinyMCEに落ち着いた。

が、ドキュメントがいまいちわかりにくくて、どのプラグインが追加有償なのかといったこともなかなかわかりにくい。でも、まあ、そのあたりは解決して(一番使いたいのはTextColorでこれはデフォルトプラグインだし、次に使いたいのはTableで、これもデフォルトプラグインだった)が、一番の問題点は、入力されたデータをどう扱えるか、だった。

それ以外の使い方はなんかおかしなドキュメント(懇切丁寧だが、同じことを何度も何度も繰り返して書いてあるコピペプログラミングみたいな感じ)に書いてあるし、日本語でもうすこしまともに整理してくれてあるサイトもある(今ググってみつけた)。

知りたいのに素直にわからないのは次の2点だ。

  • データの取り出しと設定
  • 変化の検知

前者は、AJAXでサーバーへ送信したり、保存したデータをサーバーで初期設定するときに必要だし、後者はサーバーへ送信するタイミングを得るために必須だ。

TinyMCE自身はtinymce.init({selector: '#ID'(とか.parent .classとか)})と、ラップするtextareaのセレクタを与えればすぐに使えるすぐれものではあるが、ドキュメントにはtextareaをフォームに入れればsubmitされるからOKみたいにしか書いてない。でも待て。ユーザーが長い文章を入力して一息つこうとした瞬間にWordはクラッシュしブラウザーはハングしたりクラッシュする。だから、Submitを待ってはならない道理だ。最初は単純に$('#textarea').val()とすれば取り出せるのではないかと思ったが、ラップさせるTEXTAREAそのものは本当に単なるダミーとしてしか利用していないらしくて入力はまったく反映されない(逆方向はサポートしていてTEXTAREAにあらかじめ設定した内容は初期値としてロードされる)。

あと、動的に作るのは新たにDOMに追加したtextareaをtinymce.iniに与えれば良いからOKとして、削除はどうするんだ? とかも知りたいところ。で、そのあたりのJS用のAPIがいまひとつわかりにくかったので以下にまとめる。

TinyMCEのエディタオブジェクトの取得方法

  • tinymce.initで指定できるinit_instance_callbackの引数で与えられたオブジェクトを使う
      tinymce.init({selector: '#textarea', 
                    init_instance_callback: (editor) => {
                       texteditor = editor; // 後で使う
                     }
                    })
    
  • IDをtinymceに与えて取得する。
      let editor = tinymce.get('textarea'); // セレクタではなくIDなので#を付けてはだめ。はまった。
    
  • tinymce.editors配列から探す。

エディタオブジェクトの破壊方法(textareaの破壊前に行う。そうでないとおかしなことが起きる)

  • IDを指定する。
     tinymce.remove('#textarea'); // getと違ってこちらはセレクタとしてIDを指定する
      
  • tinymce.removeにエディタのインスタンスを直接与える
     let editor = tinymce.get('textarea');
     tinymce.remove(editor);  // この例は意味ない
     

入力内容の取り出し

DOMとして取得できるが、ここではサーバーへ送信したりするための方法なので文字列(つまりパーシャルHTML)の取得方法。

  let html = tinymce.get('textarea').getContent();  // これで<p>入力したよ。</p>みたいなのが取得できる。

内容設定

  • textareaにあらかじめgetContent()で取り出したパーシャルHTMLを埋め込む。
  • エディタのsetContent(パーシャルHTML)メソッドを呼ぶ。

ここまでわかると、後は、取り出しタイミングさえ得られればAJAXでサーバーへ入力内容を随時送信できる。

取り出しタイミングは、サーバーとの通信が遅ければblur一択だろうが、そうでなければ、エディターのchangeイベント(エディターがアンドゥポイント生成後に発火)、undoイベント(ユーザーがアンドゥを呼んだ後に発火)、redoイベント(ユーザーがリドゥした後に発火)の3イベントを見張るのが良いと思う。

どのイベントでも同じサーバーへの内容送信を行うのだから、tinymce.initの引数で与えれば良い。

tinymce.init({selector: 'textarea',
              init_instance_callback: (editor) => {
                editor.on('change', (e) => {  // ドキュメントではChangeのように大文字始まりで書いてあるが、小文字始まりでOK。大文字始まりでどうかは試していない。以下同様。
                  sendContent(editor.getContent()); // sendContentは自前の送信メソッド
                });
                editor.on('undo', (e) => {
                  sendContent(editor.getContent());
                });
                editor.on('redo', (e) => {
                  sendContent(editor.getContent());
                });
               }
              });

2018-09-19

_ Surface Proの電源交換(MSストアのバグで助かる)

Surface Proが充電できなくなった。

見ると、ACアダプタの本体との間のコネクタ(平たい板状)の継ぎ目に裂けめが入っている。別に折ったわけではないが、持ち運んだり抜き差ししている間に接合部に妙な力が入ったのかな?

いずれにしても、充電できないのでは話にならないし、独自コネクタなので他のケーブルに変えるわけにもいかないのでマクロソフトストアに入ってみるのだが、さっぱりわからん。

アップルのサイトもひどいものだが、少なくともジーニャスを予約するのは単純だ。

が、マイクロソフトストアのわかりにくさはただごとではない。これかと思うリンクをたどってデッドエンドは当然で、USサイトに入って404なんてのもある。

それでも試行錯誤して、デバイスSurface、症状入力に充電できないとか入れて進んでいくと、選択が出てきた。本体かアクセサリか。電源アダプタなんだからアクセサリだと思って選択すると、ペンが2種類の選択となる。ペンじゃねぇ。で本体を選ぶとそこでおしまいとなる。

まあ、ACアダプタは本体付属品なんだから本体なんだろうと納得して、さらに進んでようやくサポート依頼(こちらからサポートへ送付するとリファビッシュ品が送られて右くるやつ)が終わった。リファビッシュ品とは嬉しくないが、まあ、しょうがない。でコミットして、注文番号も振られた。

が、いくら待ってもメールが来ない。

メールが来ないと送付先がわからないから送ることができない。時刻は24時近いから、明日朝チェックするかとあきらめた。

で、翌日9時を過ぎてもメールが来ない。

出勤する途中で郵便局に出そうと考えていたので、しょうがないのでサポートへ電話した。

待たされた。

なんかの心理学実験でもしているのか、待たされている間中、無意味な能書きをぶっきらぼうな合成音で流しまくるからイライラすることこのうえない。これ10分聞かされたら、よほど仏のような人でなければ、サポートの人に当たりちらすことになるよなぁとか考えながら仏のように待機する。

で、ようやくつながって、送付先がわからんと言うと、システムの不具合でメールが送られていなくて済まんかった、住所を言うからメモしてくれということで、メモをする。

もっともその前に延々と儀式が始まって、そもリファビッシュとは新品でもなければそなたが所有するマシンそのものでもなく……とくるので、そんなこたわかっているからさっさと住所を言えというやり取りがあったことは言うまでもない。

で、以上の住所に本体だけを送れ、と言われる。

本体だけ? でもACアダプタも入れますよ?

そんなものいらん。

いらんと言っても、見るからにおかしいのはACアダプタだし。一式交換するんじゃないの?

いや、ACアダプタはいらん。本体だけを送れ。

そうは言っても。

というか、あんた、本体の修理と書いたでしょ。

そりゃ、アクセサリを選ぶとペンしか出てこないから、本体一式の意味だと考えたんじゃん。

そりゃ考え過ぎというものだ。ACアダプタはACアダプタで本体とは別物。

なんじゃそりゃ。そんな選択肢は存在しないじゃん。

わかった、と向こうが言う。充電ができない。本体の可能性もあるしACアダプタの可能性もあり、お前はACアダプタを疑っている。それなら、こちらからACアダプタを送る。それで試して、だめなら予定通りにお前は本体を送る(元の修理依頼を使う)、OKならそれで元の修理依頼はキャンセルでどうよ。

それでOKというか、最初からそういうオプションを選べるようにしときゃすむじゃん。が、ベターなソリューションを提供してくれたことは感謝する。

じゃんじゃん。

というのが火曜の朝で、さっそくACアダプタが送られてきていたので、接続したらぐいぐい充電が始まった。

というわけで、メールが送られてきていたら無駄なことをするとこだった。メールが送られてこなくて良かったというか、最初からACアダプタも選択できるようにしておけというか、どうにもそういうところがマイクロソフトっぽい。

そういえばHP Spectreの充電器も交換になったが、薄型ノートのACアダプタあたりは相当質が低いものを付属させているんだろうか?(おれの使い方が特別悪いとはやはり考えにくい)


2018-09-30

_ 地獄のアリス読了

そういえば読んでいなかったな、と本棚に整理されずに残っていた地獄のアリスを読み始める。

いつもながらの松本次郎節で、疎外の度が過ぎてすっかりいかれた少年(今度は14歳だ)スナイパーが囮の人形を使って最初は荒野のモヒカンを、次に廃墟都市のギャングを、最後は本来は仲間として受け入れられるはずの少年愚連隊をひたすら殺しまくる陰陰滅滅たる物語で、ところどころにツッコミと冗談が混じり込む。

が、いつもと違って、お笑いネタにドラゴンボールや北斗の拳がやたらと引用されて不思議になるが、それもそのはず集英社のマンガだった。

そのためだろうが、最後、きれいにまとまって、ほのかに希望すら垣間見せてくれるのには驚いた。

そうは言っても松本次郎なのだが、この人のマンガはどれだけ異様であっても、登場人物たちは嫌な性格とか悪い性格とかではなく、ただ歪んだ方向に真っ正直なので読んでいて気分は良い。それにしても、集英社のカラーはずいぶんと入り込んでいるように見えた。

問題は、6巻が見当たらないことで、購入当時読まずに適当に本棚に入れておいた(それでも探したら5巻までは見つかった)のが良くわかる。しかも紙は絶版になっていて、Kindle版はあるが、途中まで紙で買って最後はKindleというのも気分が悪いのでマーケットプレイスで古本を買うことになってしまった。

地獄のアリス コミック 全6巻完結セット (愛蔵版コミックス)(松本 次郎)

同じく女子攻兵がぽろぽろと見つかったが、まだ探せば出てきそう(そもそも1巻が見つからないという異常事態)なので、引き続き捜索中。

待て、アマゾンの松本次郎を見ていて気づいたが、おれはフリージアの12を読んで(買って)ないぞ。

_ その他読んだマンガ

買ったのはいつだか忘れたが、Kindleに入れたまま放置していたヒルを読了(2か月前くらいか?)

ヒル(今井大輔)

なんか最近の映画にありそうな犯罪もので、昼間の留守宅に忍び込んで生活をするヒルと呼ばれる若者たちのラブストーリー(と要約するとまったく別の作品になりそうだ)。

甘ったるいがおもしろかった。

累が終了。

累(松浦だるま)

表紙が口が裂けた累の顔になったので、これでおしまいかな? と思ったらおしまいだった。

ちょっと想像と違う終わらせ方で、そうくるのかとは思ったが、因果物語としては悪くはない落ち着いた終わらせ方である意味感心した。

というか、結局、一番ひどいのは、伝承研究者の弟の演出家だな(と、諸悪の根源を主要ではなくすぐに殺される役に設定するのはうまい作劇だな、とこれまた感心する)。


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|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|

ジェズイットを見習え