A Day in the Life

謝甜記の粥・電子先幕シャッターでのケラレ・胃液の逆流 / 2020年11月26日

朝ジョギング25分。少しづつではあるが、徐々に長く走れるようになり嬉しい。海辺では GoPro で動画を撮っている人がいて、休憩がてら雑談すると、納品物で朝日を撮っているが、今日は曇っていてNGそう、またこなくては、という話でご苦労さまです。

そしてそのへんに濡れた靴下が落ちていたので訝しく思っていると、さっき若い二人が服のまま海に飛び込んで、寒い寒いとびしょ濡れで上がって脱いだ靴下らしい。砂浜でもなく柵を飛び越えないと海に入れないのに、そんな馬鹿なこと(若気の至り)をする人達もいるんだなぁ。

昼食は久しぶりに横浜中華街へ行き、謝甜記 貮号店で粥を食べる。粥の味も濃すぎず美味しく、また値段も人気店なのに700-800円の物が多く、人気が出るわけだ。店前のサンタはお店のトレードマークなのね。

その後山下公園からぐるっと散歩をして戻る。バラも終わりな感じだ。


昨日から使っている、Voigtlander NOKTON classic 35mm F1.4 II SC VMがやたらケラレるな、レンズフードをつけてないからかな、と思っていたのだけど、これが噂に聞く電子先幕シャッターとオールドレンズでケラレが出る現象なのか。

この写真なんかはわかりやすく四辺の隅にケラレが出ている。

1/2000~ぐらいのシャッタースピードで電子先幕シャッターだと発生しやすい現象で、日中太陽光の元でF1.4で撮るとほとんどそのシャッタースピードを超え、大概発生してしまう。電子チップがのってるレンズの場合はタイミングを同調させることで防いでいるらしいが、オールドレンズは無いので発生すると。そしてa7Cはメカシャッターがないのであった。

a7Cを買った当初はメカシャッターは使わないだろうから無くても良いと思っていたのだけど、まさか使いたいシーンが来るとは。こうやって、なぜこの機能が必要なのか、違いがなにか、を学んでいくのか。


昨晩、寝ている最中に胃液が逆流してきて、夜中起きる。最近まで発生したことがなかったのだけど、この1年では4回ほどあり、頻繁というわけではないが時たま発生する。この1年の変化といえば結婚して2人で1つのベットで寝ることになったことで、配置的に右向きで寝る、もしくは寝返りをあまりうてなくなったのだけど、右向きの寝方だと発生しやすくなるらしい。しょっちゅう起きるわけでもなく、とりわけ困ってるわけではないのだけど。

あとは肥満気味でも発生しやすくなるらしく、ここ1年体重が右肩上がりだったので、体重減量成功させたい。

あっちこっちふきんを買った

r7kamuraさんの記事、あっちこっちふきんを読んで、そういえばそんな便利なものがあった、昔に使っていたなぁと思いだして購入した。

マイクロファイバー繊維で食器がきれいにふけすぐ乾いて便利で、そのような用途に使おうと思っていたのだけど、パッケージを見ると家の掃除にも使えるよう。パッケージ名もあっちこっちふきんだしね。

というわけで、家のスピーカーの上部を拭いてみる。このスピーカーはいわゆるピアノ塗装仕上げなのだけど、徐々に汚れがおちなくなってきて、ピアノクロスのようなもので拭いても薄っすらと細かい汚れが落ちなくなってしまったのだ。

しかしあっちこっちふきんで拭くと驚きの汚れのとれよう!すごい!心地よくなる綺麗さ!!1。メラニンスポンジで落ちない汚れを初めてとったときのような感動があった。便利すぎるので食器用とは別にもう一枚買って、家の掃除でも活用しようと思う。

Voigtlander NOKTON classic 35mm F1.4 II SCが届いた・旅行で動画をもっと撮るべきだった / 2020年11月25日

新しいレンズのVoigtlander NOKTON classic 35mm F1.4 II SC VMが届き、さっそくレンズを付け近所を散歩する。オールドレンズの味わいの作りだけあって、2019年のレンズなのに開放からピントが合ってもボケていて味がある。また SC はよりコントラストが淡く、フレアやゴーストが出やすくて面白い。フルサイズでF1.4の明るさのレンズは持っていなかったので、こちらも新鮮。

ライカMマウント用のレンズで、ライカMがレンジファインダー機なため、作りとして最短撮影距離が長くなる(35mmだと70cm)のだけど、マウントアダプターのヘリコイドを伸縮させることでミラーレスではさらに接写ができる。同時に手に入れたVM-E Close Focus Adapterではイメージセンサーから最大4mm離せるようになる。この4mmで最短撮影距離を70cm→28.7cmと短くすることができ、めちゃくちゃ接写、とまではいかないまでも、まぁまぁ接写ができるようになる。

ソニーE用には、Voigtlander NOKTON classic 35mm F1.4 E-mountがあり、こちらは最初から最短撮影距離が30cmで、MFのフォーカシングが2段でない(アダプタをつけると二つのフォーカスリングが発生する)ことや、フォーカスリングを回した時にピント拡大できること、Exifデータへのレンズ情報の反映もでき、重さもアダプターを考慮するとソニーEのほうが若干軽いと良いことがいくつもあるのだけど、今後もライカMマウントのレンズを使いたくなったり(いつか Summilux 35mmが何故か手元にあったりするかもしれないし)、SCのよりオールド風に写る描画だったりを考えてVMマウントの方を選んだ。というか外観がVMのレンズのほうがかっこよい!!1

はー楽しい散歩だった。


Google Photos の整理をしていたら、世界旅行中の動画が数十個見つかる。大抵は誰かに送るためにスマフォで撮った短い動画なのだけど、写真とは違った見え方・情報量で、強く記憶が呼び覚まされる。

旅行中は写真の方に気を取られてしてしまっていたのだけど、もっと気軽にスマフォで動画を撮るべきだったなぁ。次に行くときはもっと動画を撮ろう。

五十嵐プライヤー IPS ソフトタッチコンビプライヤー PH-200 を買った

また三脚座に大ネジ(3/8インチネジ)がハマって取れなくなってしまい、前回は三脚の大ネジを輪ゴムを挟んで外すの方法で取ることができたのだけど、今回はぜんぜんだめ。輪ゴムを4つほど摩擦で切ってどうにもならないなーと思っていたところ、ペンチの先っぽが樹脂になった商品があることを知り、五十嵐プライヤー IPS ソフトタッチコンビプライヤー PH-200を買ってみた。

結果、ネジを簡単に取ることができて満足。金属だと滑ってつかみにくいものはもちろん、金属のペンチだと痛めてしまうようなものにも使えそうで良い。樹脂は使ってるうちにだんだんぼろぼろになっていくのだけど、スペアも安価で売っているのも良いね。

大きさ的には普通のペンチサイズなので、ラジオペンチサイズのラジぷらでも良かったかもしれない。

2020年11月24日

朝ジョギング25分。一時間遅く起きたので、ジョギング中はすでに明るくなった後だった。風もあり、結構寒い。雲が特徴的だった。

夕方、久しぶりにサウナへ。まだ冬至まで一ヶ月ほどあるというのに、17時にはだいぶ暗いね。


ちまちまと観ていた、アニメ鬼滅の刃26話を観終わる。26話はストーリーが気になる展開で終わっていて、これは続きが見たいぞ、という上手い終わり方。続きは映画で、は炎上しやすいのだけど、むしろ待望という感じで受け入れられたと思ってるので、当時から愛されアニメだったのだろうなぁ。そういえば、2クールのアニメを最後まで観終えたのはいつぶりだろう、だいたい途中で飽きてしまうのだよなぁ。

オリンパスのカメラ用APIライブラリを作った

オリンパスのカメラ用のWiFi経由で操作できるAPI ライブラリ(Ruby用)を作った。カメラごとのAPIを自動で作成し、カメラのシャッターが押せたり、画像ファイルをダウンロードしたり、電源が切れたりする。また、このライブラリを利用して画像をダウンロードする cli インターフェイスのolympus-camera-dlというものも作った(というかこれが作りたくて、APIライブラリは副産物)。

こんな感じで使える。

$ olympus-camera-dl --delete --power-off /home/pi/photos/E-M1MarkII/
Connected: E-M1MarkII
11 images found
[1/11] DOWNLOAD: /DCIM/101OLYMP/PB202134.JPG
[1/11] WRITE: /home/pi/photos/E-M1MarkII/PB202134.JPG (4,517,267 byte)
[1/11] DELETED: /DCIM/101OLYMP/PB202134.JPG on camera
[2/11] DOWNLOAD: /DCIM/101OLYMP/PB202135.JPG
[2/11] WRITE: /home/pi/photos/E-M1MarkII/PB202135.JPG (4,380,822 byte)
[2/11] DELETED: /DCIM/101OLYMP/PB202135.JPG on camera
...
[11/11] DOWNLOAD: /DCIM/101OLYMP/PB202144.JPG
[11/11] WRITE: /home/pi/photos/E-M1MarkII/PB202144.JPG (4,466,991 byte)
[11/11] DELETED: /DCIM/101OLYMP/PB202144.JPG on camera
Power off

オリンパスのカメラ用のAPI

USB経由で叩く場合、カメラAPI抽象化ライブラリであるlibgphoto2を使うと大抵の操作はできるのだけど、WiFi経由で利用がしたかった。オリンパスのカメラのWiFiアクセスポイントモードで起動し、そのアクセスポイントにアクセスすると、http://192.168.0.10/ という IP 決め打ちでカメラが建てている httpd にアクセスができ、そこのエンドポイントを叩くことで操作ができる。

以前のカメラでは http://192.168.0.10/DCIM という URL にアクセスすると、HTMLを返す簡易画像ビュワーを表示でき、この HTML をスクレイピングすることで画像の取得が可能だった。たとえば、olympus-photosync というツールでは、/DCIM を叩いて画像のダウンロードを行っている。

しかしながら、例えば E-M1 mark III などの最近のカメラでは /DCIM にアクセスしても画像ビュワーが表示されなくなった。これはスマートフォンのアプリ経由で使ってね、ということでレガシーなインターフェイスが無くなるのはしょうがない。

オープンプラットフォームカメラ通信仕様書

他に叩けそうなAPIは無いのかと調べてみると、どうやらオープンプラットフォームカメラ通信仕様書 [english]なるPDFがあった(オリンパスのサイトからはリンクが見つけられなかった…)。これはディスコンになってしまった、意欲的なカメラ OLYMPUS AIR A01が出た時に作られたようだ。そういえば2010年台は大手企業がこれからはオープンプラットフォーム・オープンイノベーションや!と言っていた時期があったね…。

ただこの通信仕様書は、ちゃんと実装されてるのは OLYMPUS AIR だけと思われ、ほかのカメラは API の形式が微妙に違ったり、APIが増えたり減ったりしている。

get_commandlist.cgi から API を作る

じゃあオリンパスが出している、カメラ操作ができるスマートフォンアプリは何を元に叩いているのかと調べると、そのカメラで叩ける API 一覧が出力されている http://192.168.0.10/get_commandlist.cgi を元にしているようだ(get_commandlist.cgi のレスポンス例)。ただもちろん、カメラごとにこの get_commandlist.cgi の出力は違う。例えば、ファイル削除API の exec_erase.cgi は PEN-F には無いが、E-M1-2/E-M1-3 には存在する。

そのため、get_commandlist.cgi の結果から ruby のメソッドを define_singleton_method で作るようにしている。また response も XML だったり text だったりするので、そのへんもよしなにしている(text/xml でレスポンスが返ってくるのに空BODYだったりするので、あんまり当てにならない)。

なおE-M1-2/3で利用できそうなget_camprop.cgi を叩くと500になってしまい、問題ないAPIの叩き方がいまだに解らない…。

よく使いそうな cgi の path

単に cgi を叩けば良いので、わざわざこのライブラリを使わなくても curl などでも簡単 API を叩くことができる。

  • /get_imglist.cgi?DIR={path}
    • いわゆる ls。ただ ?DIR=/ ではエラーになり、?DIR=/DCIM と画像格納 path /DCIM をまずは叩かないと何も表示されない。
  • path そのまんま
    • オリジナル画像をダウンロード
    • http://192.168.0.10/DCIM/101OLYMP/PB120009.JPG とかね。
  • /set_playtargetslot.cgi?targetslot={N}
    • ターゲットにするSDカードスロットを変更
  • /exec_erase.cgi?DIR={path}
    • いわゆる rm
  • /exec_pwoff.cgi
    • 電源を切る

その他:撮影して WiFi に繋いで即アップロードはとても便利

jpeg の撮って出しは自動で Google Photos にアップロードされるようにしているのだけど、とても便利。

家においてある Raspiberry PI は各種カメラのアクセスポイントにつながったらスクリプトを自動実行をするようにしているので、写真を撮ったら カメラの WiFi ボタンをタッチするだけでほおっておけばアップロードされるので便利に使ってる(参照: ftp・ftps でアップロードしたファイルを Google Photos にアップロードする)。

# !/bin/bash

/sbin/iwgetid > /dev/null || exit 1

DOWNLOAD_DIR="/home/pi/ftp_uploads/photos/"`ruby -r 'olympus-camera' -e 'print OlympusCamera.new.get_caminfo["model"][0]'`
/usr/local/bin/rlock /tmp/olympus-dl.lock -- /usr/local/bin/olympus-camera-dl -c 2 --delete --power-off $DOWNLOAD_DIR

Next.jsを10へ・markdown 処理をちょっと変えた / 2020年11月23日

今日から旅行の予定だったのだけど、昨日の午後から妻の体調が崩れ、夜には明日から旅行できる感じの体調ではなくなってしまったので、昨日の晩にキャンセルしたのであった。早く良くなるとよいな。

することも(看病以外は)特に無くなったので、午前中は仕事をして午後はこれまた安オールドレンズであるロシア製 Helios 44M を持って少し散歩をする。トップの写真、釣りおじいちゃんたちはカスタマイズした釣りチャリに乗って釣り場に現れるのだけど、その自転車。電動自電車も多く、お年寄りの負担も軽そうだ。


Next.js 10 が出ていたので、このウェブサイトの Next.js を 9 から 10 にする。とりわけ問題無く動いている、ように思える。このウェブサイトは国際化しないから関係ないけど、Internationalized Routingが標準機能に入ったのは嬉しいね。これで ja.example.com / zh-cn.example.com などのドメインや example.com/ja/xxx なんかのpathでの言語ごとの変更が簡単にできるように。

そろそろ実装されてもよいのでは、と思っている rss(xml) などの html ではないコンテンツの静的な出力は需要がないのか未だに Next.js ではできないのだけど…。


ついでにmarkdown周りの処理にも手を入れたくなってきた。いままで markdown から html への処理は、何も考えずにremark-htmlまかせにしていたのだけど、unifiedを使った処理へと変更。まずは remark-html と同じような出力にするために

remark().use(remarkHtml).processSync(markdown).toString()

unified()
  .use(remarkParse)
  .use(remarkRehype, { allowDangerousHtml: true })
  .use(rehypeStringify, { allowDangerousHtml: true })
  .processSync(markdown)
  .toString()

みたいな処理へと変更する。実際の処理工程は remark-html のときと変わっていないはず。実装やドキュメントをちょっと読むと、各種処理の内側では rehype のほうでは HTML に特化したASTの hastを、remark のほうでは markdown AST のmdastを、hast-util-*mdast-util-*、大本ツリー仕様であるのunistunist-util-*を使っていじる感じなのね。

2020年11月22日

昼間、買ったまま使っていなかった、暗くても安くて評判が良い SMC Takumar 35mm F3.5 を持って散歩をする。全然うまく使えない、精進~~。


朝ジョギングは30分。昼間は暖かいのだけど、朝はだいぶ涼しい。

自動車練習・森田屋総本店 / 2020年11月21日

実家に戻った大きな理由が、自動車の練習がしたかったためだ。前回レンタカーを借りた歳、きちんとバック駐車ができなかったこと(バックモニターを見ながら適当に入れていた)、かつ次に借りる予定のレンタカーはバックモニターがなく、適当にはバック駐車できなさそうなことからちゃんと練習することに。

教本や解説記事を読んだり、YouTube を観たりしてイメージトレーニングを行い、田舎のほぼ車がない広い駐車場で父親に教えを請いながら、数十回練習する。これで前回よりはだいぶマシになった、と思いたい。なお、駐車場周辺は紅葉がとても綺麗だった。

バック駐車の後は、高速の練習をする。首都高はペーパードライバー講習で乗ったのだけど、ふつうの(?)高速に乗るのは20年ぶりぐらいだ。ちょっと乗って佐野市まで来たので、せっかくなので昼食は父親が好きという、佐野ラーメンの森田屋総本店で佐野ラーメンを食べる。

スープは美味しいのだけど佐野ラーメンの特徴的な、手もみの加水率が高い縮れ麺は、太さが厚いもっちり麺が多く、もうちょっと薄い(細い)佐野ラーメン麺のほうが好みかな。

実家あたりは素朴な家が多くて、これはこれで良い。

夕方、横浜に戻る。今日も小春日和で澄んだ青空だったなぁ。

先週に引き続き、夜は土曜の花火を観に行く。二回目だからか、だいぶありがたさ・感動が薄れてしまった。

実家に戻る / 2020年11月20日

妻が作ったクッキーやお菓子類を持って、夕方から実家に帰る。

帰り道や実家での夕食など。