Archive for the ‘日記’ Category

サーバのIPv6対応の一環でブログ関係の対応チェックと調整をしたついでに、ページ表示が遅いのを改善してみた。

実は、今までにも、MySQLの調整をしてわずかに速くなった「気が」していたw

無駄な処理やコメントを省いたら、気のせいか少し速くなった。

それから ちょっと調べたら、想像どおり、OGP(Open Graph Protocol, 説明)の画像の読み込みでの遅れがかなり効いていたので、LazyLoadというプラグインを使って画像を遅延読み込みにした。スクロールさせると画像がワラワラ出るのは個人的には余り好きでないが、遅いよりは良かろう。

最初は、画像が大き過ぎる場合(OGPに幅1000画素以上とかサイズ数MBの画像が指定されている、馬鹿みたいなサイトが多い)は使わないことを考えたが、画像のサイズを取得する時に読み込むので速くならない。

あと、OGPの処理(+画像取得・表示)をJS(= ブラウザ)にやらせて非同期にすれば綺麗だしかっこいいし軽い(仕事を押し付けられたブラウザにすれば迷惑かもw)が、JSは苦手でなかなか面倒なので※、上記の遅延読み込みにして、結果的に非同期に近くなるようにした。

※探せば、OGPを上記のようにJSでやるようなプラグインがあるかも知れない。 → ちょっと探した限りでは、なさそうだ。

そうしたら随分速くなって、今までは最初に表示する時は1秒を超えることがほとんどだったのに、新しいページなら0.3秒くらいで出るようになった。まあ、処理を後回しにしているので当たり前ではあるが、余り手間を掛けずに3倍速くなったw

(12/2 18:41) その後、やっぱり遅いことがあることが分かった。1秒以上掛かることがある。画像の遅延読み込みでOGPは速くなっても、MySQLが遅い場合がありそうだ。別のDBに換えたいが、なかなかいいものがない・・・

  •  0
  •  0

Ceronに出ていて読んだら、爆笑した上に感心した。

宮崎駿が38歳で監督デビューした時の鬼畜エピソードクソワロタwwwwwww

彼のことはほとんど知らない(し、作品を好きでもなかった)が、読む限り(あと、あの老舗K書店のトップをクビになった太ったお兄さんを一喝した件も合わせて)、こういう人は「ジジイ」ではあるが、きっと、「老害」ではなさそうだ。

全くの想像だが、スズキの爺さんも近そうだ。

でも、一緒に居たら、きっとムカつくだろうから、「うるせージジイ!」って言いそうだw

 

(と、無事にネタを消化。今日のネタは今日消化する、まさに、地産地消。じゃないかw)

  •  0
  •  0

(題は微妙に違うかも。題と「毒を喰らわば−」と「背に腹は−」を足して3で割った感じかw)

先日の、IPv4(以下v4)だけがネットに繋がらなくなったトラブルの予防的対処のため、仕方なく、IPv6(以下v6)が使えるところは使って行くことにした。

いや、僕はそんな仕様はどっちでも良くて、そもそも「アドレス枯渇する・した」とか「遅いからv6にする」なんてのがおかしいと思って居るので、積極的にIPv6を使う気持ちはさらさらなかったのだが、ああいうトラブルがあると、さすがに全面移行とまでは行かないが、代替手段を用意して可用性を高めておく必要性を痛感したのだ。※ それが無料(自分の時間は別)で実現できるし、各アプリ・プロセスの通信速度が向上・安定する可能性がある(といっても、IPoEにしてから全体でも個々でも速度が遅いと感じたことはほとんどないが)から、まあ悪い話ではない。

※そもそも、可用性を高めることが必要なことをしているかどうかは別でw、「気分の問題」であろう。

それで、まずは、自分のサーバから始めた。サーバは、プロバイダがv6対応の環境で提供してくれていて、OSも対応しているので、設定すれば使える状態だったが、面倒なので今までは有効にしていなかった。

最初にサーバのv6関係の設定をした。普通にできて、デスクトップPCからpingが通った(v6のアドレスを直接指定した)。試しにwebサーバにアクセスしてみたが、通らなかった。Webサーバの設定をしていないので、v6では接続を受け付けていないためだ。

次に、設定を誤ると面倒なことになるwebサーバの、比較的単純な部分をv6対応の設定にした。試しにブラウザからv6のアドレスでアクセスしたら、例によって「怪しいサーバです。これ以上は駄目よんw」みたいなのが返って来て(HTTPSでSSL証明書がおかしいため)、めでたく繋がった。

それからDNSサーバにv6用のホスト名(サブドメイン)を登録した。今はv4とv6のホスト名を共通化する(同じ名前で両方に対応)のが一般的だろうが、予期できないさまざまな問題が起こりそうだったので(実際に問題は起こった(後述))、ひとまず別にした。作業としては、v6用のサブドメインにAAAAレコードだけを設定した。設定してから数分で反映され、ホスト名の検索(nslookupコマンドなど)に出るようになった。

次に、HTTPSをちゃんと使えるようにするために、Let's EncryptのSSL証明書にv6用のサブドメインを追加した。証明書の生成時にサーバの設定の調整が必要だった。証明書を作る時には、確認のためそのサーバにアクセスされるのだが、それを忘れていてwebサーバはHTTPSだけ有効にしていたが、真っ当な証明書(これを作ろうとしている!)がないのでアクセスされず、HTTP接続しようとして失敗した。それで、仕方なくHTTPも有効にして、無事(でもないけど)作れた。新しい証明書を作ってからブラウザでアクセスしてみたら、ちゃんと"404 Not found"が返って来た。

設定が複雑なので間違うと面倒なことになるブログは落ち着いてからにすることにして、まずは、普通のweb(BNoteを含む)とDAV(カレンダー・アドレス帳やJoplinで使っている)をv6対応にすることにした。とは言え、webサーバに関しては証明書を作るために調整してほとんど出来ているので、DAVサーバやクライアントアプリなどの設定変更や追加がほとんどだった。クライアント側の機器やアプリが多いので手間は掛かったものの、ほとんど問題なく終わり、ちゃんとv6でアクセスできるようになった。

とりあえずできたので、しばらく使って問題がないかをチェックすることにした。使っているうちに、以前から気になって居た、v6のプライバシーの問題※の解決策が見付かった。デスクトップPC(Linux)のv6の設定に、"IPv6 privacy extensions"というものがあるのに気付き、調べてみたら、僕の懸念を解消できそうなものだった。

※IPv6のアドレスは全世界でユニーク(かつ、不変なものもある)なので、そのクライアント(PCなど)からアクセスしている個人の特定や追跡が容易そうだという僕の懸念。

その機能を有効にし、モードを"Prefer temp. addr."にしたら、PCのv6のアドレスが増えた。今までのもの(通常のグローバルアドレス)に加え、一時アドレスが表示されている。このアドレスは通常のアドレスより秘匿性(?)が高いらしく、また、定期的に(1日-1週間のようだ※)変わるので、個人の特定や追跡が困難になるとのことだ。

※設定後1日経った今現在でもアドレスが変わっていないので、しばらくは観察する必要がありそうだ。 → 忘れると嫌なので、愛用のcrontabで自動チェックするようにした。

→ (12/2 19:35) 昨日くらいからアドレスが変わるようになった。大体30時間で変わった。設定変更後、OSの再起動またはNW IFの切断と再接続が必要だったようだ。

ただ、これには欠点もある。アドレスがコロコロ変わるので、僕がサーバのログを見て、本当に自分でアクセスしたのか分からないということだ。でもまあ、他の情報から判別できるし、プライバシーの問題の方が重要なので、Privacy extensionsを使うことにした。

一方、Androidはその点はどうなのかと調べたら、結果的には問題なさそうだ。rootになれないのでprivacy extensionsを有効にしたりすることはできないが、挙動を調べたら、v6アドレスが結構頻繁に変化することが分かった。

そもそも、Androidスマフォには2つ(以上)のv6アドレスがある。モバイル(LTE)とWi-Fiである。モバイルは、詳しいタイミングは分からないが、基地局に接続するたび(基地局が変わるたび?)に変わるようだ(機内モードをon/offした前後でアドレスが変わっていた)。Wi-Fiも同様に、APに接続するたびに変わる。

だから、僕の観察が間違っていなければ、Androidに関しても、v6で概ね問題なさそうだということになった。

なお、僕のスマフォ(AQUOS sense lite)はAPN登録時にはv6は無効になっていたが、APN設定でv4/v6のモードに切り替えたら、v6が使えるようになった。MVNOの場合、プロバイダによってはv6が使えないことがあるらしいが、僕は(IIJが下回りらしい)イオンモバイルで、全く問題なく使えた。

随分調子良かったので、このあともこの調子でスルッと行くかと思って気を良くして居たが、やっぱり、そうは問屋が卸してくれなかった。問屋というのは そんなに厳しいのだろうか?w 作業面での手間はなかったが、原因不明で解決が難しそうな問題が残っている。

切っ掛けは、欲を出して早くも(サブ)ドメインをv4/v6両用にしたくなって、v6用に作ったものをそうしてみたところ、一見うまく動いているのだが、Joplinだけがおかしかったことだ。本来の動作は全く問題ないのだが、なぜかサーバのv4のアドレスにアクセスしてしまうのだ。PCのOS(Linux)のv4とv6の優先順位がおかしいせいだろうと考えて、いろいろ調べて調整しても、結局直らなかった。

それで、Joplinのフォーラムに質問を出しつつ、更にJoplinのソースなどを調べたら、確定はできないが、どうやらJoplinの下回りのNode.jsのnode-fetchという通信用モジュールの仕様(または「現状」)によるのではないかと推測している。というのはnode-fetchのcustom agentオプションのうち、v4とv6の切り替えに関係するfamilyは、socket.connectによって以下のように規定されている。

family <number>: Version of IP stack. Must be 4, 6, or 0. The value 0 indicates that both IPv4 and IPv6 addresses are allowed. Default: 0.

字義通り解釈すれば、デフォルトの0で、v4/v6どちらも使える場合に、どちらが使われるか不明(不定)だ。※ 「普通」ならOSの優先順位(Linuxではv6が優先)と同じになると期待するが、実際の動作はそうではない。もちろん、Joplinに「v4優先」という意思や仕様があれば別だが、そうする理由は全くない。また、familyには優先順位が指定できないので、「v4優先」を実装するのは面倒だ。

※Node.jsのそこのソースを読めば分かるだろうが、なかなか面倒だ。一体、Joplinから何階層下がらせるつもりだ!?w

そこで想像してみると、OSまたはシステムコールまたはライブラリからホスト名に対応するIPアドレス一覧を得たあと、familyが0以外ならv4かv6でフィルタリングする。そして、残ったものを使う。複数あっても気にせず、「最初の1個」を使うのだろう。

結局、OSなどからどういうふうにIPアドレス一覧が来るかが問題だ。どうも、単にソートされているだけのような気がする。その場合、v4が先に来る可能性が高そうだ。 (まあ、余計なこと考えてないで、実物を読めば速いのだがw)

(11/29 0:01) 書いた後で更に調査・実験して、ほぼ原因が分かった。Node.jsのDNSモジュールのdns.lookupという関数は、ホスト名からIPアドレスを取得する(これをnode-fetchが使っているかは未確認だが、おそらく使っていると思う)。そのデフォルトの動作はDNSリゾルバの結果をv4のアドレスをv6より先に並べ替えて出すため、Joplinはv4/v6両用ホストに対しては(Linuxの標準・通常動作とは逆に)v4のアドレスにアクセスする。参考のため、dns.lookupの設定を行うオプションverbatimの説明を引用する。

verbatim <boolean> When true, the callback receives IPv4 and IPv6 addresses in the order the DNS resolver returned them. When false, IPv4 addresses are placed before IPv6 addresses. Default: currently false (addresses are reordered) but this is expected to change in the not too distant future. New code should use { verbatim: true }.

確認のため、簡単なプログラム(→ 参照: そのページ下部の"Live Demo"から開けるOnline Node Compilerが便利。ただし、そこではDNS検索は失敗してしまう)で、dns.lookupをv4/v6両用ドメインに対して実行したら、本当にv4アドレスが返って来た。そして、オプションを追加してverbatimをtrueにして実行したらv6アドレスが返って来た。。。

どういう理由か知らない(IPv6の実装が今一つだった頃からの経緯?)が、折角OSが苦労して(そのうえ、ユーザから文句を言われたであろう: )RFCに準拠して並べ替えたIPアドレスを、ライブラリごときが勝手に並べ替えてしまうなんて、余計なお世話もいいとこだ! 上の説明に「近い将来は逆になる」と書いてあるが、現行版ですらこの勝手な動作なので、当面は直りそうにない。ということは、Joplinの問題も直りそうにない。

直すとすれば、自分でNode.jsに手を入れることだろうが、そもそもビルド環境を作るのが面倒だ。更に、Node.jsは結構更新されそうなので、僕の修正を残すようにするのが難しい(でも、できれば爽快だろうな・・・)。

(11/29 12:57) 直し方を検討したが、「まあ不可能」という結論になった。まず、dns.lookup(DNSモジュール)はNodeに埋め込まれている(コンパイルされているようなので、パッチはまずできない。さらに、NodeはJoplinに埋め込まれている)ので、Node(この場合、Joplinも)をビルドし直さない限り入れ替えられない。

次に、dns.lookupは最終的にはLinuxのgetaddrinfo()を呼ぶが、これはlibcまたはlibnssに入っているようで(未確認)、どちらも大変基本的なライブラリなので安易には改造できない。うまくしてライブラリとNodeの間に割り込めばいいが、さすがに、いくら暇でもクソのためにそんな面倒なことはやってられない。

ってことで、気に入らないけど我慢するのがベストだ。

 

てな訳で、別に大きな問題ではないが、喉に魚の小骨が刺さったような気持ち悪さが残っている。しかし、そもそも論とか現実問題としては全く問題ない。というのは、最初に書いたように、v4が使えなくなった時の代替手段が欲しかった。そして、この仕様では、v4が駄目になったら自動でv6に切り替わる(正確には、アクセスする時に、生きているであろうv6が使われる)はずだからだ。

が、通信速度の向上・安定化とか、前回書いた、JPNEのMAP-Eのv4のポート数の上限の問題も改善したいという欲があるので、気に入らない。それで、今は、v6用に作ったドメインをやっぱりv6専用に戻して使っている(他の方にすれば「は?」って感じだろう)。

まあ、(気分は悪いが、)自分用サーバはv6専用でも何も問題ないから、このままでもいいかという気はしている。一つだけ問題が起こる可能性としては、何らかのトラブルでv6だけ通らなくなった場合にアクセスできなくなることだ(そんなことが本当に起こるのか、検討の余地はあるw ただ、ルータ故障時にv6非対応の物に交換したらそうなる)。その時はv4/v6両用の方がいい。ということは、そもそも論で言えば、v4/v6両用にして、Joplin(と他のNode.jsのアプリ?)だけはv4でも見逃すべきなのだろう。もう少し考えよう。

→ 全体的には、しばらくv6用ドメインで試して問題なければ、基本ドメインをv4/v6両用に変更し、v6用ドメインに換えた自分用サーバを使っているアプリの宛先をそっちに戻すのが一番美しそうだ。多くのアプリの設定を戻すのは手間だが、これなら、v6用ドメインは本当にv6用で筋がとおるし、基本ドメインはv4/v6両用で今風になるし、可用性も高まるから、いいことづくめだ。 (本当に?w)

それから、Joplinと似たような問題がEvolution(メーラー)でも起こった。通常時はv6をアクセスするのだが、スリープからの復帰後にv4に戻ってしまうのだ。どうやら、Linuxの動作なのだろうが、復帰時にv6が使えるようになるのが少し遅れるようで、※その関係で先に使えるようになったv4にアクセスしてしまうようだ。

※推測だが、v6の初期化の処理が多いために遅くなるのかも知れない。確かに、普通の処理(v6アドレスの取得・調整?)ですら重そうだし、上に書いたPrivacy extensionsは複雑そうだ。そういう処理はv4には全くないので、時間差ができても不思議はない。

それで、効果確認中だが、Evolutionのネットの設定の"Method to detect online state"を"Always online"にして試している(今まではNet Managerから取得するようにしていた)。これは他の普通のアプリと同じ動作(ネットの状態には関知しない)と考えられるから、一旦v6にアクセスしたら、そのまま使い続けることが期待できる。気になるのは起動時で、その時にv4だったら嫌だから、ログイン時の自動起動では数秒送らせて起動するようにした(ログイン時はスリープと違ってOSは普通に起動しているので、必要ない気もするが・・・)。

 

最後に、v6化した効果というのか、v4のポート数の削減率を調べたところ、当然ながらあった。僕のサーバ以外にもv6対応のサーバ・サイト(例: メールサーバ)があるため、アイドル時(例: Webブラウズしていない時)のv4のポート数が半分くらいに減り、その分がv6になった。以下に例を示す。

デスクトップPCで使っているTCPの全ポート数

  • アイドル時
    • v4: 15
    • v6: 15
  • アクティブ時
    • v4: 38
    • v6: 14

デスクトップPCで使っているTCPのポート数(自分用サーバとプロバイダのメールサーバ宛のもの)

  • アイドル時
    • v4: 3
    • v6: 10
  • アクティブ時
    • v4: 15
    • v6: 10

v6を使わない場合に比べ、v4率は、全ポートでは約27-50%減少し、自分用サーバなどに関しては約40-77%減少した。

とはいえ、もちろん、「Webの表示やJoplinの同期が倍速になった!」とかいうことは全くないw

 

という訳で、少し前までは使いたくもなかったIPv6を頼まれてもいないのにゴリゴリ使うことになって、いつものように疲れたでござるw

  •  0
  •  0

今朝、PCを起動したら、いきなりメールがエラーの山になった。ブラウザの各タブも軒並みエラーになった。調べたらネットが繋がっていなかった。「やれやれ」と とりあえずルータを再起動しても直らず、VDSLモデムを再起動しても直らなかったので、ちょっと慌てた。ルータの表示やログにはエラーは出ていなかった。

それで、スマフォ(LTE)でプロバイダ(DTI光)に問い合わせを出した。※ が、まあ、ルータの故障の可能性が高いので、プロバイダに問題がない場合は、一時的にPPPoEに戻してもらって古いルータに交換して、修理依頼しようと思った。

※案の定、サポートのページはPC前提のようで、文字が小さくて見にくいのはいいとしても、なぜか、問い合わせの文字を入れると全体の高さが増えて、フォームの下にある送信のボタンが隠れて送れない(ChromeとOperaどちらも)という謎仕様だった。仕方ないので、非会員用のフォームから送った(なぜか、こちらはまともだった)。

もちろんこれで諦める訳でもなくw、もう少し調べたら、IPv6(以下、v6)のサイト(例: v6対応のDNSサーバ, JPNEのIPv6チェック, Googleニュース(ただ、内容が古い), FASTの速度測定)には繋がった。

あと、DTIのサポートサイトも実はv6で繋がるので、上記のようにスマフォで苦労して入力する必要はなかったが、その時は分からなかった。

ちなみに、v6で繋がるかは、Linuxだとnslookupコマンドやhostコマンドで分かる。対応している場合はv6アドレスが出る。ただ、v4でもv6でも繋がらない場合は、そもそも何も出ない。

それで更に調べたら、ルータ(I/Oデータ WN-SX300GR)のファームウェア(以下、ファーム)が今月頭に自動更新されていたことが分かった。それから、今朝(3時頃)、プロバイダが障害を起こしていた。

偶然の一致だとは思うが、丁度その少し前(2:52)からAWS(US)が障害を起こしていた。もし関係しているとすれば、IPv4関係のサーバにAWSを使っているのだろうか。 (18:19)

ということは、プロバイダの障害対応に問題があった可能性はわずかにあるものの、ルータの新しいファームがおかしい可能性が高いので、一つ前のに戻してみることにした。すると、嘘のように問題なく繋がるようになった。

ファームを戻すのに、ルータの「初期化」でできるのか分からなかったので、スマフォでダウンロードした。それをUSBでPCに送り(ネットが駄目なので、最初はどうしたものかと思ったw)、EXE形式だったので※、一旦VirtualBoxのWindowsで展開してルータに入れた。

※それにしても、なぜ、単に展開(「解凍」)するだけのものをEXEにするのか意味不明だ。普通にZIPで圧縮すればいいものを・・・ (もしかして、外部ツールを使わずに展開できるようにしたのか)

しかも、笑える(笑えない)のは、そのEXE(EXEpressというもので作ったらしい)の方が中身のファームより大きいことだ。圧縮の意味はなく、単にreadme.txtを同梱したかっただけのようだ・・・ やっぱり、今話題の「暗号化ZIP付きメール」みたいなものだ。

ということは、プロバイダ(実際にはJPNE?)の障害対応で あちらの機器を再起動したので、ルータも接続処理を最初から始めようとして、そのネゴシエーション時にバグとか相性が発現して駄目になったのではないだろうか。だから、新しいファームになってから こちらのルータを再起動したら駄目だったはずだ。

書いたあとで気付いたが、ファームの自動更新後にルータは再起動するはずで、その時に問題が出なかったのは腑に落ちない。プロバイダ側にも、近頃や今回何か変わったなど、問題の原因があるのかも知れない。いまだに回答が来ないので、何とも言えないが。 (18:22)

プロバイダの回答にもよるが、まあ、向こうの機器がおかしかったらもっと大量の苦情が出るはずだから、このルータの問題だろう。時間が経ってから問題が出るのは怖い。とりあえず、ファームの自動更新はoffにした。

でも、他の人は大丈夫なのだろうか? 問題が出ていないのかユーザが少ないのか、これから出るのか(「全然繋がらない」、「突然壊れた」?)。プロバイダの回答が来たら、ルータのメーカーに連絡しようと思う。

プロバイダから回答があり、今回は設定の変更などはないとのこと。上記のように腑に落ちない点はあり、もしかしたら、(今回でなく)近頃変わった可能性はわずかにあるが、90%以上はルータ側の問題だろう。

って訳で、やっぱり時限爆弾だったようだ。 (18:40)

(22:02) ルータのv4通信が駄目になったことの遠因として考えられるのは、上にも書いたようにAWSの障害だ。Downdetectorグラフ(リンク先はキャプチャ)を見ると、ルータがおかしかった9時頃には日本からの報告が最初のピークになっている。ということは、落ちたAWSに国内からアクセスしている端末が頻繁にリトライを繰り返してフレッツ網が重くなったために、ルータのv4通信が正常に動かなくなってしまった可能性がある。実際、14時頃に速度を測定したら、遅いうえに変動が激しかった。ただ、リトライでそこまで通信量が増えるとは考えにくい。それとも、通信量でなくセッション数がオーバーして駄目になったのだろうか。IPoEのIPv4はそれがないはずだが・・・

(22:58) 寝ようとして もう一個思い付いた。IPoEのIPv4はMAP-Eで、今のプロバイダはJPNEを使っているので、ルータ当たりで使用可能なポート数は225個である。以前検討して通常時は問題ないとしたが、今回は、PC起動時には全く接続できない状態だったため、PCとスマフォからのリトライが多発してポート数が足りなくなって、接続できない状態が続いたのかも知れない。確かに、ルータを再起動した直後の短時間(1分間程度)は通信できていたがすぐに駄目になった。通信が回復した途端に多くのプロセスが通信し出して、また駄目になっていたのかも知れない。特に、ブラウザは多くのタブがあるので、一度に通信し出したらとんでもないことになる。

最初のPC起動時に駄目だった理由は分からないが、ポート数の問題だとすれば、しばらく(結構長い)待てば回復するはずで、それが丁度、ファームを古いものに戻した頃だったのかも知れない。

最初のPC起動時に駄目だった理由として考えられることは、新しいファームは微妙にタイムアウトが短いなどネット(フレッツ網)の輻輳に弱いためかも知れない。

ポート数の問題だったかは、ファームを再度最新にして試すか、今のファームでも、ルータをモデムから切り離してしばらくしてからPCを起動すれば分かるが、どちらもなかなか面倒だ。 → 後者を寝る前に試す。

(11/27 5:49) 完全に同じ状況ではないが、ポート数不足は起こらなそうだ。PCの起動時に一番多いのはメーラー(Evolution)のIMAPでのメール取得で、ブラウザは自分でリロードなどしない限りは接続しない。メール取得中にブラウザでいろいろ開いた時の使用ポート数は81だったから、余裕がある。一方、スマフォはしばらくWi-Fi経由で接続できないと自動で無効にするようなので、接続再開時に一気に接続が増えることはなさそうだ。

つまり、何らかの原因でルータのファームとプロバイダとの相性のようなものが発現した可能性が高い。それをメーカーに指摘しても、大抵は分からず仕舞いな気がする。

それで、ポート数不足の予防や同じ問題が起こった場合に何もできない事態を減らす事前対処として、なるべくv4での接続を減らすようにした。具体的には、Evolutionの各IMAPアカウントの同時接続数を1に減らし、使っているメールサーバ(さくらのメールボックス)のv6対応をonにした(知らなかったが、そういう設定があった)。あと、バックアップに使っているオンラインストレージBackblaze B2もv6対応しているようだが、バックアップソフトduplicacyは使わないようだ。積極的に使わないのでなく、APIで指定されたホストがv4なのかと想像している。※

※近頃のログを見たらいつも同じホストなので、もしかしたら、最初にバケット(記憶領域)を作った時にホストが決まり、それがv4のみに対応しているのかも知れない(ストレージは容易に移動できないので、その可能性が高い)。今後の対応に期待したい。

 

それにしても、僕にとってはネットはライフラインであることを再認識した。今回はスマフォがあって良かったが、もしなかったら、本当に にっちもさっちも行かなかった(電話じゃファームのダウンロードなんてできない!)。だから、無駄なようだけど二重化は意味がある。

そして、そういうすごく重要なところに安いルータを使っているのは良くないことに気付いた。十年近く使えるのだから、1-2万円くらいのにしても良さそうだった。※ が、時既に遅しだ。それに、国内のN社は評判はいいけど(近頃は微妙な感じ)好きじゃないし、Y社はすっごく高いしWi-Fiのはないからな。まあ、問題が頻発したら交換を考えよう。

※思い出した。当時はv6にする効果(高速化)に疑問があったので、とりあえず試すために安い物を買ったのだ。今はv6でないと使い物にならないので、次は高目のものを買えばいい。

 

PS. 今回、意外にIPv6対応のサイトが少ないのを実感した。Googleはまあ優等生だが、tenki.jpとかYahoo!天気など、いかにも対応してそうなところが駄目だった。そもそも このブログも駄目だしw

あと、こういう時のために自前でv6→v4変換サービス(プロキシみたいなもの)を作りたくなったが、なかなか面倒だし、今回のようにv4だけ駄目っていう障害は稀だろうし、ファームを戻したら回復したので、早くも「喉元過ぎれば」となって「また今度」にしたw

でも、意味があるかは疑問だが、とりあえずこのサーバをv6対応にしたい気もしている。

PS2. ネットが駄目な状況でもJoplinは問題なく使えたので、感心した。PCからもスマフォからも何事もなく読み書き出来(もちろん、同じノートは同時に変更していない)、ネットが繋がったら普通に同期した。某Evernote(web)ではエラーが出て使い物にならなかっただろう。

  •  0
  •  0

スーパーの前だけどちょっとひなびた場所に、「鬼滅の刃」の類似品(「鬼刻の刀」: 少し前にネットで話題になったようだ)のガチャガチャがあった。やっぱり田舎は昔ながらでパチ物が多いなと、なごんだ。でも、今はスマフォとかが発達しているのに、こういうのを買ってしまう子どもはまだ居るのかと疑問に思った。

あ、親が頼まれてとか お土産(子どもが日頃から「鬼滅鬼滅」とか言っているので)にうっかり買って、「あれ買って来たよ、鬼のなんとかいうの」とか言いながら出して がっかりされるパターンはありそうだ。何ともほのぼのとしてしまうw

でもまあ、ガチャガチャは親は頼まれないし、大人が自分ではやらないか・・・

 

PS. ちなみに、僕はこの作品は全く知らない。絵柄とかが好きでないから、知ることはなさそうだ。でも、キャラの名前が古風なのはいいかも知れない。ちょっと凝り過ぎ(字の画が多くて力んでいる感じで、読むと疲れそう)だけど。

  •  1
  •  0

Evernoteからの脱却の一環として先日作った、WriteNoteの代わりのメモアプリ・システム BNoteを改良、というか何度も作り直して居た。いろいろ試したものの、結局、25年くらい前を彷彿させる※素っ気ないwebとなった。

※でも、marqueeやアニメGIFは使ってないので許されそうだw

僕にとって一番重要なのは、主に外出先で手軽に「サッと」ノート(タイムスタンプ付きメモ)を書くことができる、しかも、入力欄が大きくて見やすい・書きやすいということで、それらは充分に満たしているし、自分だけで使うものなので、やり過ぎるのは疲れるうえに馬鹿らしいから、とりあえずは良しとした。

以下にその変遷を書く。

  1. Automagic版
    • Automagicに問題はなかったが、この夏に終了になってしまったため、なるべく移行した方がいいと考えた。
    • また、入力欄が小さい(ほとんど調整できない)のがちょっと気に入らなかった。
  2. Automate版: 初期の機能確認まで
    • Automagicの代替アプリのひとつ、Automateを試してみた。
    • 機能的には使えそうなことは分かった(入力欄はAutomagicより良かった)が、有料だし面倒(グラフィカルなプログラミングはスマフォでしかできないので、結構疲れるし、何をするにもやり方が違う)なので止めた。
    • 入れたら電池消費が増えた(本当かは不明)気がしたのも、止めた理由の一つ。
  3. Web版 (作らなかったかも: 記憶が曖昧)
    • 試しに作って動いたが、ちゃんと使うには認証が必要なので、WordPress版に移行した。
  4. WordPress版
    • WordPress(以下WP)の非公開の投稿(ログインしないと表示できない)に無理やり(<pre>の中に入れた)HTMLとプログラム(PHP)を書いて、ノートが書けるようにした。
    • WPで認証できるメリットがあったため、やってみた。
  5. Web版 (WPで認証)
    • さすがに(中身が)綺麗でなかったので、単独のwebページにした。ただ、認証は必要なので、(無理やり)WPの認証を使った。
      • どういう仕組みかは分からないが、wp-load.phpを取り込むと、ログインしているかの確認ができる。
  6. Web版 (Joplinに保存): 中止
    • サーバにJoplinアプリ(コマンドライン版)をインストールすれば、自動でJoplinに取り込めて便利だと考えたが、以下の理由で中止した。
      • サーバにJoplinのストレージのNextcloud(以下NC)のアカウント情報を保存するのは良くない。
      • Joplinアプリのキャッシュ(Joplinのノート全部が入る)は暗号化されないが、それではNCのストレージを暗号化している意味がなくなる。
  7. Web版 (NC管理下に保存)
    • ノートのファイルをNCの管理下に保存し、NCでデスクトップPCに同期できるようにした。
    • NCの仕様により、ノートは平文で保存している。
      • BNoteのノートは量が少ないので、許容することにした。
  8. NCのFormsアプリ改造版: 断念
    • ファイルはNCに保存するのに認証がWPなのは変なので、NCの認証が効くNCのアプリを利用しようとしたが、断念した。
    • Formsアプリ(アンケートなどに使うアプリ)が結果が見やすいので試してみた。
      • Formsの入力ページを外のページのIFRAMEに入れて位置情報を追加しようとした。
        • しかし、どうしてもFormsの入力フィールドに位置情報を設定(自動記入)できなかった(設定してもサーバに届かない)ので、諦めた。
  9. NCの外部サイト版: 断念
    • NCから外部サイトを開ける機能にBNoteのweb版を指定して、NCの認証を利用しようとしたが、手軽に使える認証情報はなかった。
      • その情報(例: 外のNCのページのrequesttoken)とNCのDB内に保存された値を比較すれば、認証しているか確認できそうだと考えたが、DB内には見つからなかった。
    • NCのOAuth2機能が使えそうだったが、それほど手軽ではなかったので断念した。
  10. WP版 (Basic認証+α) ← 今ここ
    • 既にある手軽な認証機能を使うのを諦め、(昔ながらに)自分で認証することにした。
    • HTTPSなら、Basic認証は(カッコ悪いけど)それほど脆弱でないので、そうした。
    • また、愉快犯によるブルートフォース攻撃を避けるため、URLのパスを"bnote"のような分かりやすいものでなく暗号みたいな文字列にして、ログインを試すこと自体を難しくした。
      • 仮にログインできても、ノートが書けるだけで読めないので、(DoS攻撃は別として)致命的な問題は起こらなそう。
      • とは言え、変な引数やバッファオーバーフローなど、考慮していない脆弱性があるかも知れないので慎重を期した。

以下に、作った(出来た)ものについて書く。

BNoteの機能

  • スマフォで(PCでも)短いノート(タイムスタンプ付メモ)が書ける。
    • ブラウザで動くのでアプリのインストールは不要。
      • ただし、スマフォの場合、Operaでは位置が取れず、Firefoxはなぜかハングして表示できないので、事実上はChrome系しか使えない。
  • 各ノートには時刻と位置(取得可能な場合)が追加される。
    • 各ノート間は空行で区切られる。
    • その日の最初のノートの前には日付も入る。
  • 一日分のノートは1個のファイル(ファイル名に日付が入る)にまとめられる。
    • ユーザ(一人しか居ないが)・年ごとに別のディレクトリになる。
  • ノートのファイルはサーバに作成され、自動でデスクトップPCに同期される。
  • ノートを新規作成・更新したらメールで通知が来る。(Joplinへの転記忘れを防ぐため)

 

実装メモ

  • 認証: Basic認証
    • 上記のとおり、HTTPSならそれほど脆弱でないと考えた。
  • ノートの入力: HTML(FORM, textarea)
    • ノートをJavaScriptで送るためPOSTは面倒だったので、GETを使っている(URLのクエリー文字列にノートを含めている)。それぞれのノートは短いので、GETでも大きな問題はなさそうだと考えた。
  • 位置の取得: JavaScript
    • 送信ボタンを押した時に位置を取得し、ノートと一緒にサーバに送る。
    • 位置取得条件は「何でも可」(高精度でなくても可、無限に過去のものも可)にして、電池消費を増やさないようにしている。また、「あればいい」スタンスなので、取得タイムアウトを0.5秒と短めにした。
  • ノートへの時刻・位置情報の自動付加: PHP
    • ノートの送信時刻を各ノートの前に付け、位置(送られて来たら)を後ろに追加して、ファイルに記録する。
    • 時刻は、クライアント(ブラウザ)から送られて来たらそれを使い、なければサーバでの受信時刻を使う。
  • ノートの保存先: 通常のファイル (NCで同期)
    • NC(暗号化ストレージ)以外で作成・更新したファイルの取り込みを容易にするため、「外部ストレージ」の機能を使った。
  • ノートの同期: Nextcloudアプリ
    • 今までは別のファイルをrcloneで同期していたが、こちらのほうがリアルタイム性があって便利なので、全部を切り替えた。
  • 新規作成・更新ノートの通知: crontab+find
    • 定期的に検索している。
      • 最後に最新だったファイル名を保存しておき、それより新しいものを調べている。

問題点・TODO

  • サーバが停まっていたり、通信出来ない場合はノートが書けない。
    • そういう時は、エディタやJoplinを使うとか、手で紙に書けばいいか。。。
      • 通信できる場合は、元祖のWriteNoteを使ってもいい。
    • ブラウザのローカルストレージを使う手もありそうだが、なかなか面倒そうだし、やり過ぎだろう。
  • 複数のセッションで同時に書き込むと、きっと良くないことが起こる。
    • 対応するとすれば、書き込む時に排他制御するのだろうが、一人で同時に別の端末から書き込むことは物理的にできないので、対処しなくても大きな問題ではない。
  • 位置の取得条件などを変えられると便利かも。
    • そういう設定を付けても、いじることはまずなさそう・・・

その他

  • FirefoxのAndroid版は、上記のようにハングしたり位置が取れないだけでなく、viewportの動作がChromeやOperaと違っていた(textareaの幅がものすごく広くなった)ので、以前もそうだったが、相変わらず使えないと思った。
  • Operaで位置が取れないのは、navigator.geolocation.getCurrentPosition()のオプションの高精度("enableHighAccuracy")を有効にしていないからかも知れない。(未確認: これを指定すると電池を食いそうなので、余りしたくない)
  • 今はノートの記入にはChromeを使っていて、電池消費が気になるが、使いながら確認したい。
  • JavaScriptを使うと、(セキュリティ上の条件はあるが)iframeの親(外)や子(中)にアクセスできることが分かり、なかなか強力だと感心した。

 

PS. Evernoteからの脱却はほとんど終わったようなものだ。近頃はEvernoteでノートを書くどころか、全然アクセスしていない。あとは残りのノートをJoplinに移行する「だけ」だからロボットにでも頼めばいいが、適当なものがないのでw、やる気が出た時にやろうと思っている。ノートの数が多いので、重要なものだけは目で確認し、残りは一括処理しようと思っていて、その準備は大体できている。あとは一括処理するスクリプトを書く「だけ」だ。これもロボットに頼みたい(爆)

なお、Joplinは最高とは言えないが、少なくともEvernoteの10倍は いい。自分でいろいろ いじれるのもいい。ただ、Androidアプリはもう少し頑張って欲しい(大きいノートではビューア以外に使うのはキツい)。今はデスクトップ版に注力している感じなので、今後に期待したい。

PS2. その後、Hacker newsを見ていたら、僕と同じようにタイムスタンプ付きメモをしたい人(→ 元のスレッド: jlduggerという人のコメント)が居ることを知り、そのためのツール(jrnl)があることを知った。ノートの記録(表示)のされ方がBNoteそっくりなのに驚いた。 (11/26 14:16)

  •  0
  •  1

(だるいので ちょっと小ネタを)

先日、Hacker Newsで見て ちょっと吹き出しつつ「まさに!」と思ったコメント:

Hacker Newsのコメントより: 「−するだけで直る」ってのは駄目なことが多い。(意訳)

画像が見えにくいので、文字に書き出した:

mehrdadn: You can just use FILE_SHARE_WRITE if you don't want to lock out other programs...

VBprogrammer: If I know one thing about files it's that any fix beggining with "You can just..." is probably wrong.

題は僕がいつも思っていることで、上に引用したものとは若干違う(場面も違うし、ニュアンスの理解についてもちょっと不安だ)が、まあ同じ方向だ。これを自分に言って・思う(そして、結局うまく行かない)のならいいが、大抵、脇で見ているだけなのに他人にドヤ顔で言う奴(ジジイに多い)が居て、そういう輩が居なくなるだけでいいと思うw

更に、引用した話も(ファイル関係に限らず)本当に良くある。「−するだけで直る」ってのをすると、最初はうまく行ったと思うが、大体、少し経って復活したり、その「ちょっと直した」ことが他の問題を引き起こしてしまって、まさに「ぬか喜び」が多い。

 

PS. 少し前に偶然見付けたHacker Newsだが、なかなか役に立っている。日本のCeronに近い感じ(ただし、技術系がメインだし、元ネタがツイッターなものは ほとんどない)だ。技術的な最新の情報(たまに昔のも出る)が分かる以外に、生きた英語に触れられる。そのため理解できないことも多いが、それも含めて、「これはこういう意味か?」と想像したり、「(こんな時は)こういう言い回しがあるのか!」と気付いたりして、勉強にはなる。

ただ、投稿もコメントも多いので、しっかり読むのは疲れる・・・ 苦手な単語や言い回し(いつも意味が分からない。例: Aとその正反対のBとどっちだったか分からない)がバンバン出て来て、いつも調べないと分からない(でも、面倒だから調べないことも多い)wせいもあって、疲れて居る時には余り読む気にはならない。

それにしても、これの正体は何なのか、そこが一番気になるw

  •  0
  •  0

AppleのM1プロセッサが速いとのこと。基本的に、「ARMだからすごく速い」ということはないので、本当の理由は分からないが、メモリをプロセッサ内蔵にしたこと(記事を斜め読みして知った程度)が大きいように推測する。もちろん、Appleも頑張っただろうが、コアなどの基本要素は いくら頑張っても飛躍的には速くできないと思うのだ。

ただ、メモリ内蔵だと拡張性が制限される(大容量にできず、追加もできない)ので、今後はそこが問題になりそうだ。

一方、Intelについて一つ言えるのは、x86は太古のプロセッサで、ずっと無理して(これが美しくなくて昔から嫌いだった)高速化し続けているから(車で言えば、USの「ガソリンダダ漏れ」的イメージのある、OHVのマッチョなエンジン)、どうしたってすぐに限界に達し、それをさまざまな細工で何とかしているために、無理が大きくて効率(電力、熱)がすごく悪いということだ。そういう意味では、ARMにすれば、同じ条件ならすごく速くなるだろう。

僕は以前からARMの省電力性(+上記のようにIntelのようには無理してなくて汚くないところ)を期待していたので、(Appleの製品やプロセッサと直接関係はないけど、)いよいよ(ようやく)ARMプロセッサのデスクトップPCが出回り出すかと期待している。

 

まあ、そういうところで、ARMも終わりが始まった(終わりが見えて来た= 飽きたw)ので、次は何だろうかと考えてしまう。

PS. と褒めつつも、ARMは悪くない(実際、いい)んだけど、作りが素直で(そこがいいんだけど)なんか「普通の優等生」って感じで全然おもしろくないので、次は変わった物が出て来て欲しい。が、そういうのは大抵失敗すると相場が決まっているw

PS2. 一方、その頃、窓の人たちはどうやらWSLを台無しにしてしまった(WSL2は仮想マシンになったとのこと)ようで、「やっぱり彼らは裏切らないよなぁw」と、安心感と感慨にふける今日この頃(爆)

まあ、Hacker newsの白熱したスレッドを少し読んでみると、WSL1には先がなかったようだから仕方ないのかも知れないが、何とも中途半端で、(僕が最初から思って居た)「だったら最初から本物を使ったほうがいい」ってことになる。

  •  0
  •  0

今までにもひどいソフトは数多くあったが、近頃いろいろ出て来たので書く。

Snap(Linuxのソフト配布システム?): 自分勝手・押し付けで全くひどい。とりあえず使わない方がいい。

  • システムディスク(ルートパーティション)を食ううえに、好きなところに移動すらできない(どういう訳かsym-linkすら拒否される)。
    • 調べると、結構多くの人が嫌がっていて、移動しようとして苦労しているようだ。
  • ホームディレクトリに勝手に作られたディレクトリ(snap)も移動不可(sym-linkも不可)。
    • この下に各自のキャッシュ(.cache)なども(通常のものと重複して)作られるので、ディスク効率が悪いこと この上ない。
    • アプリの設定(.config)も別で、sym-link不可で通常のものと共用もできないから、とにかく使いにくい。
  • 上記以外に、snapのリポジトリのディレクトリが勝手に大量にマウントされる。Snapのアプリを増やしたら際限なく増えるのではないか?
    • Authyを使っていた時の例:
/dev/loop1 56704 56704 0 100% /snap/core18/1932
/dev/loop0 56704 56704 0 100% /snap/core18/1885
/dev/loop2 165376 165376 0 100% /snap/gnome-3-28-1804/128
/dev/loop3 63616 63616 0 100% /snap/gtk-common-themes/1506
/dev/loop5 31744 31744 0 100% /snap/snapd/9607
/dev/loop4 166784 166784 0 100% /snap/gnome-3-28-1804/145
/dev/loop6 31744 31744 0 100% /snap/snapd/9721
    • AppImageもアプリのファイルをマウントはするが、ちゃんと、見えないようになっている。
  • システムを重くするようで(サーバに通信するため?)、Linux Mint 20に更新後にパネルのメニューが出るのが遅くなったり、ターミナル(シェル)が時々遅くなったのはこれのせいだった。Snapをアンインストールしたら直った。
    • 以前書いたpreloadは関係なく、やっぱり不要だった。
  • 更にひどいのは、今までsnapでなかったパッケージが無断で・気付かされずにsnapに移行することがあることだ。それに気付かないと、自分で設定を変更しても反映されないことが起こりうる。
    • なぜかMintのテーマ(Mint-Y)もsnap版になっていたので(アンインストールする時に気付いた)、それでテーマの修正がうまく行かなかったのかも知れないと思っている。
  • これを作ったUbuntu(Canonical)はかなり邪悪、あるいは、技術力・センスがない。UNIX, Linuxの文化に明らかに合っていない・無視している。

なお、似たようなシステムのFlatpakは随分マシな感じだし、AppImageは全く問題ない。ただ、どれもディスク容量は食う。

CanonicalはSnapを押し付けたいようで、将来的にはサーバでも使わざるを得ないようになりそう(今でも一部そうらしい)なので、やはり、Ubuntuからの脱却は不可避なようだ。

 

Authy(ワンタイムパスワード(TOTP)生成ソフト): Snapでなければ良かったのに・・・

  • Linux版はSnap版しかない。
    • ディストリビューションごとのパッケージが無理ならAppImageにしてほしかった。
  • 上記のようにSnapがひどくて削除するため、Authyを使うのを止めてKeePassXC(PC)とKeePassDX(スマフォ)に換えた(あとで書く予定)。
    • 登録したアカウント情報のエクスポートができないので、全部のサービスを再登録する羽目になって面倒だった。

退会手続きをしたら、直後だけでなく翌日にも通知メール※が来たので、30日後の期限まで毎日メールが来るかと思って あらかじめムカついてw 迷惑メールのマークを付けたが、そうではないようだ。

※間抜けなことに、HTMLの背景?が大き過ぎるため、スクロールして文字を探さないと読めなかった。

 

MySQL(DB): MariaDBとグルで嫌がらせ? 互いにロックイン状態をキープして、持ちつ持たれつ?

  • Mint 20(Ubuntu 20)に上げたらバージョンが8に(勝手に)上がり、設定やDBの互換性がなくなり、MariaDBに容易に移行できなくなった。
    • 勝手にバージョンを上げたのはUbuntuなので、やっぱりCanonicalも悪い。
  • 8になったらデスクトップもサーバも結構遅くなった気がする。
    • クエリーキャッシュなど、5からなくなった機能があるせいか?
    • また自分で最適化しろってこと?

下記のMariaDBの件もあって気分が悪いので、デスクトップPCのdigiKamでMySQLを使うのを止めて、SQLiteに移行(逆戻り)中(これがかなり遅い・・・)。サーバはPostgreSQLに移行かな?? (すごく面倒そう)

 

MariaDB(MySQL互換だったDB): 不親切なうえに出来が悪い。これは駄目。

  • MySQL 8からの移行が至難の業。
    • なぜか、MySQLでダンプしたデータ(SQL)を取り込めない(エラーになる)。
      • InnoDBが悪いのだろうが。原因も出ないのでお手上げ。
      • 僕が詳しくないせいはあるだろうが、なぜか、デフォルトのストレージ(AriaだかSonataだか何だか忘れたが、まともに使えれば何だっていいよ)でなくInnoDBが使われてしまう。
    • その前に、互換だと思って「普通に」起動したら、DBが一部変更されたようで、MySQLに戻しても開けなくなった(FREEZE状態になった)。
  • そもそも、コマンド名をMySQLと同じにしているのだから、互換性を保証して何の苦労もなく移行できなくちゃ、それこそ偽物や詐欺ではないか?
    • まったく「馬鹿かな?」だ。
  • サイトはごちゃごちゃしていて分かりにくく、全く不親切。
  • 名前(作者のガキの名前らしい)もセンスがない!

昨日だったか、MySQLから移行しようと随分苦労したが、結局上記のエラーでできずに諦めてMySQLに戻した。

  •  0
  •  0

近頃はPCなどに掛かりっ切りで随分篭っていた感じなので、昨日散歩した。ふと思い出した、ちょっと離れた公園の銀杏がまだあれば、それを観たかった。あと、先日作った、WriteNoteの代替(BNoteと名付けた)の屋外での動作確認や使い勝手の評価も兼ねた(実はこっちが主な動機だった?)。

着いたら、間に合ったのが分かったので ちょっとうれしくなった。いつもながら、ここの銀杏は なかなか綺麗だ。多くはなかったが、紅葉も綺麗だった。

その並木の下で、中国のイケメン(?)と女の友達数組が、ポーズを付けて(銀杏の葉の上に脚を伸ばして座ったりなど)撮影会(ってこともないだろうが)をしていた。いかにも中華系の若い人たちの元気な雰囲気で、なかなか楽しそうだった^^

公園を歩いて居たら、小さい保育園児4人くらいが(全然うるさくなく)おとなしく※並んで縁石にちょこっと座って、保育士さんたちに話し掛けられながらおやつを食べていた。何とも のどかで良かった。

※まだ歩くのもおぼつかなくて、うるさく走り回れないだけなのかも知れない。確かに、その子たちの大半は、あの柵付きトロッコのような手押し車に乗って来たようだ。

それにしても、あそこまで無口でおとなしいと(実際には、内心はそうでもないのかも知れないが)、さすがの僕も不思議と優しい目で見てしまう。そして、そういう幼い子どもの行動は、実は自然の本能なのかも知れないと、余計な想像を巡らせて仕舞った。

歩きながら、ラフマニノフのピアノ協奏曲 第2番 第1楽章の行進曲のようなところ(指示が長いなーw)が浮かんで来た。そこら辺は以前はそれほど好きではなかったが、近頃はいい(うまい)演奏を聴いたせいか、なかなかいい感じに思える。短い和音が連続するのを いかに滑らかに弾けるか(これはすごく難しそうだ)、しかも、行進曲のようにはガチガチにせず、ロマンティックな感じを残す、それでもパワーはちゃんと出すのがポイントのような気がしている。

それから、眺めがいいだけあって、カメラ女子(昔の能年的な雰囲気)と同オヤジw(例: 一眼+一脚+帽子+ベスト)が結構居た。平日だけど若い子は休みなのだろうか? 多いと言えば、赤ちゃんや幼児や犬を連れた人も多かった。一方、猫連れはもちろん おひとりさまの猫も見掛けなかった。

帰路、ちょっと遠回りして川沿いを歩いたが、なぜか、以前良く見た鯉も鳥も居なかった。

全部で2時間くらい歩いた。なかなか気持ち良かった。帰ったら昼時だったが、暑かったので とりあえずブローリーを飲んだ。

AQUOS sense liteで撮影

 

BNoteは問題なく使え、動作していた。散歩の経路を記録したり写真撮影してGPSが頻繁に更新されたためか、ノートに記録される位置情報もほとんど正しかった。ノートが、撮影した写真と一緒にPCに取り込め、メールで通知もされて、(細かい改良に結構苦労した甲斐あって)なかなか便利だと悦に入ったw そして、そのノートをそのままJoplinの日記に貼り込み、更に、この投稿の元ネタにできているのも便利だ。

なお、電池消費が少し多いようだったので、ノートのDropboxへの保存は止め、スマフォ内だけに保存するようにしてみた(でも、GPSやカメラの方が電池を食うので、変わらない気はする)。ただ、ミッションクリティカルな場合(例: 潜入取材)にはDropboxにも保存した方が確実そうだが、果たしてそういう機会はあるだろうか?w

 

PS. 歩いている途中で、埃っぽかったり目が痛くなることがあったので、部屋でたまに少し臭うのは(環境騒音と同様に)仕方ないのかも知れない。ただ、ジジイが吸って居た電子(加熱式)タバコの臭いは、部屋でもしたように思う。あの臭いも結構強く、しかも、煙草とは違った特性があるようで、始末が悪い感じだ。

  •  1
  •  0