Archive for 5月, 2022

数か月前に、メモリ使用量が多くなってしまったFirefoxに見切りを付けてVivaldiに乗り換えた。ところが、それから少ししたら、なぜか、Vivaldiのメモリ使用量も多くなってしまった。丁度Chrome(Chromium)の更新後だったので、うまく整合しなくなったのかと推測し、少し経てば直ると思って居たのだが、直る気配は なかった。Vivaldiがメモリリークしているのかと思って調べたが、そういう情報はなかった。

結論を先に書くと、メモリリークのようなVivaldi自体の問題ではないが、特定のChromeのアドオン(Chromeでは"extension"だが、ここでは「アドオン」と書く)とVivaldiの相性の問題のようだ。: 具体的には、アクティブでないタブを自動でサスペンド(Chromeでは"discard"?, Vivaldiでは"hibernate")するアドオン(The Great Suspenderなど)で、どういう訳か、その「Chromeの内蔵省メモリ機能を使う」設定が うまく動作しなくなる(逆に動作するように見える)のが原因のようだ。

なお、メモリ管理はLinuxとWindowsなどでは異なるだろうから、この現象は おそらくLinux版特有と思われるので、そういう題にした。

現象は、Vivaldiを起動後 数時間から数日経つと、メモリ使用量が増大する。僕は約240個のタブを開いているが、アドオン(オリジナルのThe Great Suspender)でタブを自動サスペンドしているため、通常はメモリ使用量が10GBを超えることがない。それが、ある時に10GBを超えてしまい、何もせずに(タブをアクティブにしない)待っても減らないのだ。

Vivaldiは諦めたくないので※、どういう時にメモリ使用量が増大するか頻繁にチェックしていたら、メモリ使用量が増大している時はプロセス数(≒ アクティブなタブ数*k(1.5辺り?) + B(10辺り?))も多くなっている(例: 80以上)ことが分かった。* それで、定期的(15分ごと)にVivaldiのプロセス数とメモリ使用量を記録・チェックしてみたが、切っ掛けは分からなかった。

※実はちょっと くじけてw、(省メモリの評判がある)Edgeを試したが、Windows版には あるらしい省メモリの設定がLinux版には なかったので、すぐに止めた。

*アクティブでないタブがサスペンドされなくなるのか、サスペンドしたタブ(のプロセス)がゾンビのように復活するのだろうかと想像するが、詳細は分からない。

それから、表示するページやVivaldiの設定やアドオンに関係するかと考えて、原因になっていそうなページを開いてメモリ使用量の増加を調べたリ、Vivaldiの設定を変えてみたり、ほとんどのアドオンを無効にしたり、タブを自動サスペンドするアドオンを換えたり、そのアドオンの設定を変えてみたが、改善しなかった。

それで、駄目元(と言うか破れかぶれ)で、自動サスペンドするアドオン(今はThe Marvellous Suspenderを使っている)の設定"Apply Chrome's built-in memory-saving when suspending"(以下、「省メモリ設定」)をoffにしたらどうなるか試してみた。

VivaldiでThe Marvellous Suspenderの省メモリ設定(下側)をoffにして試した。

この設定をoffにすると、タブのメモリが「うまく」解放されないだろうから、メモリ使用量が更に増大して とんでもないことになるはずだから普通はしないが、「onにしても増大するなら、offでは 一体どのくらいひどくなるのか見てやろうじゃないか!」と思ったのだ。

すると、いつ「とんでもないこと」が起こるかと待ち構えているうちに忘れてしまい、気付いたら問題が起こらなくなって居た。信じられないことだが、再度 省メモリ設定をonにしたら現象が起こったので、どうやら これが原因だったようだ。

今も半信半疑で使っているのだが、Vivaldiを起動してから6日くらい経っても現象は起こっていない。

5/18 9:13 プロセス数: 41, メモリ使用量: 5.5GB (平均: 133MB/プロセス)

どうしてアドオンの省メモリ設定が逆になる(正確には「逆に働く」)のかは分からない。想像だが、元々Vivaldiは(Chromiumに対する)その設定をonにしていて、アドオンでもonにすると、設定が反転したり動作が無効になってしまうのだろうか。

フォーラムに出せば何か分かりそうだが、Vivaldiのフォーラムかアドオンのフォーラム(あれば)か、どちらに出せばいいか不明だ。あと、他の方が特に文句を言っていないのも気になる。そういう場合は僕の環境に問題があることがある。

なお、省メモリ設定のないアドオン(確か、Auto Tab Discard)でも現象が起こったので、設定があるもののonに相当するのだろう。ちなみに、本物のChromeでは現象が起こらない(オリジナルのThe Great Suspenderが ちゃんと動く)ので、Vivaldiに何かありそうだ。あるいは、ChromeとChromiumに違いがある?

書いたあとで思い付いたのだが、Vivaldiにはタブをhibernateする機能がある(惜しいことに自動でない)。それで、アドオンがタブをChromeの省メモリでない方法で「サスペンド」すると(そういう機能があるのかや、それに意味があるのかも不明)、うまい具合にVivaldiのhibernate機能が使われて、メモリが「うまく」解放されるのだろうか? 逆に、Chromeの省メモリでサスペンドすると、Vivaldiの管理とズレてしまって うまく解放されないことがあるのかも知れない。

とりあえず うまく行って良かった。もうしばらく様子を見たい。フォーラムは疲れる(気力が要る)ので、覚えていて余力がある場合にするw

 

PS. そういえば、Firefoxでも同様な現象が起こっていたが、まあ、あっちは構造も仕組みも全く違うから、単に腐ってメモリリークしているだけなのだろう。。。

PS2. 本題には関係ないが、Ceronでちらっと目にした、「検索にクソブログしか出て来なくてムカつく」とかいう件について書く。

まず、そのスレに書かれていた、最後に「いかがでしたか?」と出るのは ブログでなくアフィリエイトや まとめサイトだ。一緒にしないで欲しい。そして、ブログやWordpressサイトをひっくるめて「クソ」と言われたり、一括して検索結果から除外したいとか言われるとムカつく。まあ、ブログサイト全体を平均すると役に立たないものが多いだろうが(でも、今はアクティブなサイトが減っているから、アクティブなものだけなら有用なものが多い気はする(希望))。

個々のブログサイトの質、検索結果に出て来る候補のマッチ度合いは玉石混交だけど、それは(昔の)図書館などで目的の情報を探せるかどうかに似ている気がする。: 検索する側の能力・努力や探す気力・情熱も関係するのではないか。

細かい経験則として、英語でも検索すると、目指す答えに近付く可能性が高まることはある。個人的には、分野によるが、コンピュータ関係は英語のほうが ずっと効率が良い気はしている。

とは言え、英語のサイトにも、新しいページに古い情報をそのまま載せていたり、他サイトのコピペや最後に「いかがでしたか?」のような類のクソは多いので、安心はできない。

そして、自分で碌に考えも試しもせず、ちょっと検索してパッと「答え」を得ようとするのは安直過ぎると思うし、それでは無理だ。「そんなに世の中は甘くない」だ。そもそも、今は昔よりずっと情報が多いではないか。

  •  0
  •  0

なぜか僕は臭いにも敏感になってしまい、日々闘っているw

とは言え、鼻は良くない(いつも詰まっている)し、自分の臭いだって いろいろあるはずだけど、そういうのには気付かない(たまに、通常とは違う狭い空間に行くと気付くことがある)から、相対的とか主観的な話だ。

近頃は、(以前から書いている)部屋の異臭(外から来る煙草、薬品・農薬のような臭い)が、いろいろな苦労の末に どうにかなりそうだけど、まだ気が抜けない状態(効果の確認中)だ。それとは別に、以前から嫌だった別な臭いに対処した。

それは、一時使っていた(けど、いろいろ ひどいので止めた)iVideoというモバイルプロバイダのレンタルWi-Fiルータなどのソフトケースに付いていた臭いが しつこくて、全然抜けないことだ。: 旧居から引越す前後に使っていたので2年以上経つのだが、引越しの時の梱包で その「臭いケース」を入れた段ボールに一緒に入っていたコード・ケーブル類に臭いが付いてしまって消えないのだ。

更に、引越しの日に、ルータのケースを一時的に車に入れていただけなのに(コード類の箱は大きいから車に載せなかったはずなので上の記述と矛盾するが、貴重品なので気が変わったのか別の時に入れたのかも知れない)、車内にも臭いが付いてしまい、つい近頃まで抜けなかった(今も わずかに臭うことがある)。

ちなみに、引越しの前も その「臭いケース」に困ったので、密封した袋に入れて保管していた。上記の梱包や車に入れる時もそうして居たはずだが、気を抜いたのか、狭い空間で溜まったのか分からないが、臭いが漏れてしまったようだ。

それから、コードの被覆は主に軟質塩ビで、特有の臭いがあると言われているが、僕は気になったことがない。これは、そういう素直な・生易しいものでは ない。

どういう臭いか表現が難しいが、近頃検索して分かったのは「クッサい香水」だ。香水ほど強くはないが、周りのものに まとわり付いて離れない嫌らしい臭いだ。妙なことに、臭いに手触りがあるようで、それに侵されたコードは変な手触り(粘り気のない油っぽさが手に まとわりついて、気持ち悪い)に成り果てて居る。

昔のドラマ風に書くと、「お前なんて うちのコードじゃない! 出てけっ!!」、あるいは、「この薄汚ねえコード、どっから来た!!」って感じだ。全く。

iVideoの発送担当者が そういう下品な香水などを付けていたのか、返却後にケースに散布したと思われる除菌スプレーの類※が そういう臭いだったのかと想像している。

1回だけでなく、数回レンタルした時のケース全部が臭ったので、たまたまではない。

※書いたあとで気付いたが、歯科に行ったら 問題の臭いに似た臭いが身体に付いたので、除菌スプレーの類ではないか。まあ、歯科でどういう薬剤を使っていて、どれがその臭いなのかは不明だが。 (5/18 15:06)

今の家では、その臭いコード類は 口を少し開けた押入れケースに入れておいて、臭いが発散して消えるのを期待していたのだが、丸2年経っても消えないので、業を煮やして何とかしたくなった。

確か、以前も(全部か一部か忘れたが、)水で拭いた気がするが、効果はなかった。ケースの口を少し開けるようにする前には中に脱臭剤を入れて居たが、その効果もなかった。

以下の順に試行錯誤した。4のウォッシャー液までは効果がなかったため、作業を追加して行った。

  1. 全部を台所用除菌アルコールで拭いた。
  2. 窓際に干した
  3. 臭いの消えない数本に掃除用ウェットティシュー、車の洗剤、液体石鹸を試し、効果を比較した。
  4. 全部を車のウォッシャー液で拭いた。
  5. 窓際に干した
  6. 臭いの消えない数本を湯(約60℃)に漬けて試した。
  7. どうしても臭いの消えないものを選別し、隔離した。

最初に台所用アルコールで拭いて干してみた。効果があるものはあったものの駄目なものも多く、今一つだった。それで、手元にあった掃除用ウェットティシュー、車の洗剤、液体石鹸を試したところ、ウェットティシューは少し効果があったが車の洗剤は全く効果がなく、石鹸は多少効果がありそうだったが、それ自体の臭いが付くので却下した。

なお、臭いの有無は、コードを折って平たいループにしたところに鼻を近付け、息を吸って確認した。それぞれのコードを同じ条件で調べるため、なるべく同じ量(長さ)のコードを嗅ぐ必要がある。

どれも今一つだったので、消臭方法を検索してみた。: 一番近いと感じたのは、ビニルのバッグに付いた香水の臭いの取り方だった(それで臭いの表現方法を思い付いた)。方法・使うものとしては、(濃い)アルコール、重曹、クエン酸、塩素・酸素系漂白剤、マイクロファイバーの雑巾、湯などが出て来た。アルコールは(濃度は薄いけど)試していたし、重曹やクエン酸はコードには使いにくいし、漂白剤は扱いにくいので止めた。マイクロファイバーは多少効く気がしたが、そのページは それらの宣伝だったので却下した。

それで、ふと思い付いて(何となく効きそうな気がした)ウォッシャー液を試してみた。成分を見ると、界面活性剤やメタノール※などとなっており、後者には結構危険を感じたが、換気に気を付けて試したら、まあまあ効果があったようだ(実際には、単に長時間干していた効果だったのかも知れない)。

※ウォッシャー液に(エタノールなどでなく)メタノールが入っていることは全く意識して居なかったし、そういうのを人や自転車やバイクも居る道路で噴霧していいのか、結構疑問だ。濃度が薄い訳でもなく、約17%(重量)だった。全部のウォッシャー液が そうではないのかも知れないが、そのうち健康被害の問題になるかも知れない。

なお、湯は熱湯で なかったためか、効果がなかった。長時間煮ないと駄目なのかも知れないし、仮に効果があったとしても、全部を処理するのは大変なので、却下した。

妙なのは、(どの方法でも)処理した直後は効果があっても、時間が経つと臭いがぶり返すことがあることだ。温度も関係しているようで、部屋が暖かくなる(大体25℃以上)と臭いが強く出て来る。それから、臭うコードとそうでないものを近くに置いても、臭いが転移することは少なそうだった。

あと、コードの被覆によって臭いの吸着力が違うようで、臭いが取れないコードが結構あった。例えば、EthernetのTPケーブルは概ね駄目だった。他に比べて被覆が薄い(成分が少し違う?)ことや、長いために臭い成分が付く量が多いのが関係あるのだろうか。あと、JVCやソニーを含むピンコードや、パナを含むACのテーブルタップのコードも駄目だった。これも成分の関係か。そして、いかにも被覆の厚いAC電源コード(3端子のもの)は駄目だった一方で、なぜかUSBケーブルは優秀(「臭いが消えた」の意)だったので、被覆の厚さよりも成分が関係して居そうだ。

そういえば、一緒に入れていた機器(ポケットWi-FiやPCファン)のケースなどやコード類を入れていた押入れケース(PP?)自体は臭くなかったので、軟質塩ビが臭いを吸着しやすいのかも知れない。

一週間近く拭いたり干したりしても埒が開かないので、臭いの消えないものは諦めて隔離し、袋に入れて保管することにした。捨てたいところだが、結構量が多く(全部の1/3-1/2くらい)て もったいないので、他にない時に使えるように そうした。

良くない例えだが、この臭いは、放射性物質同様に半減期が長いのではないだろうか? 少なくとも10年は ありそうだ。その「仮処分」方法も似ている・・・

臭いの有無で分けたコード類は、一旦 元の押入れケースに収めたのだが、通気が悪そうで 臭い(消えたと思っても微妙に残って居るはず)が籠もって減らなそうだったので、段ボールに入れ上面を開放してある程度通気するようにした。それを机から離れた場所に置いた。

これで一旦終了だが、少し経ってから臭いがどうなっているか、調べてみたい。

でも、「臭いコード」は見たくも ないな・・・

 

iVideoには本当に懲り懲りだ!

 

(5/17 12:55 わずかに加筆)

  •  1
  •  0

結構前の話。妙なところで いろいろ細かく、今回は、PCのメインディスプレイの左右の微妙な傾き(0.1°オーダー)が気になって対処した話。

メインディスプレイには90°回転させて縦でも使える仕組みがある。僕には必要ないが、あっても悪くはないと思って居た。が、この機種(EIZO CX241)だけかも知れないが、実は良くなかった。回転させる角度が水平でも垂直でもロックできない(クリックのようなものがない)ので、正確に水平に合わせられないのだ。※ しかも、このディスプレイは、水平にしようと思ってフルに回転させても、水平になるところから少し回転し、その若干ズレたところでに合う癖があるので(支点の精度の問題だろうか)、水平の調整も保持も難しい。あと、横長ディスプレイは左右に長いので、わずかな回転でも端での傾きが目立つことはあるだろう。

※これは一応プロ(写真など)用(僕は それで買ったのでなく、故障時に修理不能で交換品がこれだった)なのに、プロは水平・垂直には無頓着なのか、別のアームで きっちり合わせるのか不明だ。

最初の頃にも気になって、設置・移動したあとは目視で合わせていた(←で水平が合っているかは、今は不明)のだが、何かの拍子に傾いてしまったのに しばらく気付かなかった(この時は高さまでズレていた)。

気付かなかったのには訳がある。ディスプレイは必ずしも正面から見る訳ではなく、少し斜めから見たり、逆に、ディスプレイの面を机の長辺に対して平行に設置して居るとは限らず、そういう時は傾いて見える(もしかしたら水平に見えることもあるだろう)からだ。更に、僕自身の傾きもありそうだ。というのは、撮った写真が(水平を合わせて撮ったつもりなのに)大抵数度(3°以下)傾いているからだ。

写真の傾きがひどい場合、画面で見て調整するが、ディスプレイが傾いていると正しく検出・調整できず、問題がありそうだ。とは言え、上述のように、ディスプレイが水平になっていても他の要因で傾いて見えるので、実際には、ウインドウの枠などから傾き度合いを判定しているのだろう。

そういうことを考えれば、実際には厳密に水平を合わせる必要はないのかも知れないが、性格として気になる。

「曲がっては いかん!」と、物理的・強制的に水平を確保したくなった。それで、ディスプレイの左右の端の下部と机の間にスペーサー(高さ: 約2.1cm)、要するに「つっかい棒」を挟み(写真: 左右の白いもの)、ディスプレイをそれに押し付けることで、概ね水平が合うようにした。実際には、スペーサーの高さの差や入れる位置(前後・左右)によって わずかなズレは出るが、そこは良しとした。これなら、見るだけで水平と高さがズレていないか確認できるので、便利だ^^

おもしろい(というかおもしろくない)のは、こうして水平を合わせると何となく傾いて見えることだ。それまでのズレ(水平より少し進んだとことで止まるため)に慣れているのか、(上述の)僕の傾きなのか、実際にスペーサーの高さが合ってないのか、分からない。

↑ 気になってスマフォのアプリで測ったら、机上に置いた場合とディスプレイの下の縁の段に置いた場合で(0.1°単位で)同じ角度だったので、スペーサーは大丈夫なようだ。なお、スペーサーがなくても目視で合わせられるが、やはり不安定で、水平より「行き過ぎる」(大体0.5°未満)ことがある。

更に興味深いのは、地震があるとディスプレイが浮くのか、スペーサーがズレることだ。少し後ろに行っていることが多い。

スペーサーは、以前から重宝している、楽天のポケットWi-Fiの緩衝材を使った。楽天もポケットWi-Fiも使い物にならなかったが、これとACアダプタとSIM※は役に立っている。(って、結構使えているではないか)w

※と書いていたら、7/1から1GB以下でも0円でなくなるので、SIMも「使えない」ものになった。早く解約しないと。簡単なのだろうか?? (5/13 11:58)

→ 少し様子を見ようと思って居たが、トップの発言を書いた記事を見たら、自分でも具体的に何かは分からないのだが、どうにも「だめだこりゃ」状態になった感じで、即座に解約した。なお、まだサーバは空いていたようで、全く つつがなく解約できた。その簡単さは ありがたかった。 (5/13 18:51)

なお、サブディスプレイは回転しないものの、本体とスタンドの精度で傾いている可能性はある。が、不思議と水平が合っているかは全然気にならない。おそらく、元々机の端にあって僕に向かって画面が斜め(水平方向の回転)になって居るのと、これで写真やドキュメントを見ることがないからだろう。

 

PS1. 大画面で湾曲しているディスプレイに僕は耐えられるのか、興味がある。元々そういうのは邪道なので絶対に嫌だと思っているが、(怖いもの見たさで)実際に使ってみたら どういう印象になるのだろうか?

PS2. 傾きには関係ないが、ディスプレイ繋がりを。: ディスプレイにコードを挿す時、どこにコネクタがあるか分からなくて(コネクタが段の下面に下向きに付いているため)四苦八苦し、首や腰が痛くなるので、別の作業(机の定期オイル塗り)のついでにマスキングテープで目印(ACとHDMI)を貼った。繋ぐコードが多くなければ、これが便利そうだ。

それから、背面にUSBハブを付けた(順序は こっちが先だった)。それまでは、支柱に結束バンドで付けていたのだが、遠くて不便なので手が届きやすいところに両面テープで貼ってみた。ただ、この位置は たまたまHDMIコネクタに重なって、上述のマスキングテープの目印が見やすいところ(上側)に貼れなくなったという落とし穴があった。ハブを剥がして少し動かしたかったが、貼り直すのが面倒なので そのままにした。

ディスプレイの背面にUSBハブを付けた。また、コードを挿す位置を分かりやすくするため、マスキングテープの目印を貼った。

 

昨日だったか、たまたま、ニュースの見出しに「ディスプレイの背面に貼れるUSBハブ」というのがあった。そういうのは、こうして(テキトーな安いのを)両面テープででも貼ればいいと思うが、何か特別な機能でもあるのだろうか?

↑ 記事を見てみたら、VESAのネジ穴に付けられて上下にスライドできるそうな。でも、そのスライド、本当に使うかなあ・・・ それに、VESAのネジ穴に付けるなら、スタンドが付かないのでは? (そこはうまくやってる?) あと、USB3対応のせいもあるが、随分高かった(> 5千円)。まあ、録画用HDDを繋ぐとかにはいいけど、それでも高い気がした。

ただ、TVの録画用HDDならUSBポートに直接繋げばいいから、ハブは要らない気がする。何台も繋ぐ? TVだってポートは2個くらいありそうだが、そうでもないのか? まあ、興味ないし関わりたくないので、どうでもいいやw

一方、PC用として考えると、ますます用途が不明だ。PCのHDDをディスプレイ裏に置くのか? 落ちたりして怖いと思うな。まあ、今は いろいろディスプレイの上や裏に置いて場所を「有効活用」するのが流行っているから、そういうことか。でも、リスクが高いな。他に、webカメラやマイク・スピーカーなどはUSB2で充分だろう。

結局、僕の感覚では、「USB2の安いハブを両面テープで くっ付ければ充分」ということになる。が、まあ、好きなものを使って好きなことをすればいいので、余計な話だ。

  •  0
  •  0

去年の夏に作った、YL-40の温度センサ(サーミスタ)で室温を測定する仕組みの続き。冬に低温での補正をしたが、予想どおり、その時に調整した範囲を超えたらズレて来た。本物の温度計と比べたら、25.5℃以上で、補正式の想定する温度差より0.3℃くらい低い(→ 温度計からは0.6℃くらい低い)感じだった。合わないのは嫌けど※、測定も調整も面倒なので延期して居たものの、段々差が大きくなったので 仕方なく先月の中頃に着手した。

※とは言え、そもそも、0.6℃くらいの差なんて「誤差の範囲」なんだから気にしなくていいという話(悪魔の声)もあるw

気分ならぬ気温次第でチェック・調整できる温度が決まるので なかなか進まなかったが、近頃は暑い日も出て来て大分進んだ。今日は室温が26.5℃くらいまでチェックできたので、去年の夏の出来上がった頃の温度(室温: 27.5-28℃くらい)まで もう少しだ。

サーミスタの温度の補正に関しては、素子の特性の温度変化(下を参照)以外に、基準として使った温度計(「シチズン大」)と温度センサの応答速度(熱容量)の違い、シチズン大の特性・精度、ADCの分解能や性能※や特性変動、それに、隣にあるディスプレイの熱の影響や空調とそれに伴う室内の気流も関係しているので、なかなか単純ではない。

※当初は、オフセットのグラフ(赤の点線)に見られる、不自然な変曲(屈曲)点はADCの性能(オフセット(上下)、直線性(曲がり)、変換精度(傾き))によると思って居たが、今はサーミスタの特性によるものかと思っている。

それでも、なぜか飽きずに(暇に飽かせて?)温度の測定・差のチェックと補正式の改良を続けて、どうにか満足できる感じになった。

冬には一つの直線で補正したが、(ちょっと前から薄々感付いて居たように、)それではうまく行かず、今は4つの直線で補正している。補正のためのオフセット(センサの温度に加える量)はグラフの赤の点線である。どうも、センサの特性に いくつかの変曲点があるようで、妙な形になっている。

書いてから思い出したが、冬に試行錯誤していた時、どうも19℃辺りに変曲点がある気がして2つの式にしていたが、それは不自然だと却下して1つにした。(グラフ: 黒の点線) 当時は低温だけだったので1つでも何とか合ったが、今となっては最初の勘が当たっていた。

補正パラメタの調整は、補正後の温度の線(グラフ: オレンジの直線)が上下に広がる測定点群の中央を通るように、あるいは、センサとシチズン大の温度差のグラフ(これは補正後の温度の線に沿って上下を拡大したものと等価である)で点群の分布が正負(上下)均等になるように、補正式(オフセット)が通る点を設定している。欲を言えば あと2本くらい増やしたいが、面倒なので しないで済ませたい。プログラムの作りを、直線の本数(実際には、補正式が通る点の数)を任意に増やせるようにすれば少しは手間は減るだろうが、それも面倒だw

まあ、そこまでやるなら、きっと「うまい曲線」があるはずで、補正(オフセット)のグラフは いかにも良く見る形だけど どういう式かは浮かんで来ない。: 3次式を45°の軸でフリップさせた形? → 1/3乗の式? (← 似ては居るが、0付近が垂直になるので違うようだ。 ← 式の構成によっては そうでもなさそうだ。) だとしたらなぜ?

そこで画像検索してみたら、サーミスタのBという定数は温度で変わるので(だから、実際には「定数」ではない)、温度とBの関係を求めて正確な温度を求めている方が居た。だから、理想的な補正式(曲線)のグラフを描けば そういう(温度に対するBから温度の補正値を対応させる)形になるのだろう。※ 実際、参照したページの「図6:出力電圧から「変数B」と「定数B」でサーミスタ温度に換算結果」は僕の補正のグラフと何か関係ありそうな雰囲気だ。

※実際には、上の方法では正確な温度が直接求められるので「補正」する必要はなく、補正式のグラフも意味がない。

ところで、この方は どうやって任意の温度を生成しているのか分からないが(恒温槽?)、僕にはそれができない(実際には、現在と同様に いろいろな室温で測定すればいい)のと、補正式を作り直すのが面倒なので(こっちが大きいw)、とりあえずは現状のままにしておく。

温度域別のグラフでオフセットを比べると、低中温域(21℃くらいまで)は従来(グラフ: 黒の点線)と改良版(グラフ: 赤の点線)の差が小さいので問題なかったのだが、中高温域では差が大きくなって、最初に書いた「温度が合わない」問題と辻褄が合う。実際、23℃以上(→ グラフ)でのオフセットの差は大ざっぱには0.3℃以上で、(最初に書いた)僕の印象に合う。

改良版の補正式を使用したところ、現在のところは、(室温が急激に変化しない状態では、)シチズン大との温度差が概ね(ひいき目に見て)±0.3℃以内※に収まるようになった。

※測温系の分解能(ADCと回路構成に依存する)が約0.24℃なので、これくらいなら許せる。

夏に近づいて室温が28℃くらいまでになれば(、一周回って)、補正の調整は ひとまず終了だ。

が、上に挙げた、サーミスタのパラメタBを温度の関数として温度を求める方法が結構良さそうな気が しつつあるし、センサ類の経時変化や夏の測定方法が今一つだったかも知れないので、また差が出る気もしている。

まあ、その時はその時だ。

なお、Bを温度の関数として温度を求めるにしても、その式は僕の補正式を含めた温度計算式を滑らかにしたものに近いはずであるだろうから、現状からの大きな精度向上は期待できなさそうな気はする。今の温度差は温度計算式以外の要因(特に熱容量の差)も大きいと思うからだ。

 

 

PS. 本題には全く関係ないが、y= x1/3のグラフを探していたら、「y=1/3x二乗のグラフらしんですけど−」という質問(?)があって、僕だったら何を答えていいか分からないところを ちゃんと答えている方が居て感心した。

偉そうだけど、「これの何が分からないのか全く分からない」というのが正直なところだ。その質問を理解して教える教師は偉いと思う。ただ、その教え方(「考え方」)が学校式とか受験用の気がして、本当に実用になるのか疑問はある(もちろん、教師次第だろう)。

 

更に離れるが、上の前か後に、「実はE= mc2の"2"は1.9・・・とかじゃないのか」という質問に、正しいだろうが全然説明になってない、「当たり前のことだ。勉強してないの?」みたいな回答をし、その後、良くある訳の分からない深過ぎる話(δだの数直線だの間隔・連続だの)を書き連ねた人が居たが、そういうのが居るから物理とか数学が嫌いな人間が増えるのだと思う。

実際にグラフを描くと、E= mc2とE= mc1.99は全く違う(値になる)と思うが、式の見た目は近く見える。それに、上の木で鼻を括ったような回答の奴自身も「近似的に証明されている」とも書いているのだから、1.99・・・だったら かなり近いかも知れないではないか。(数学嫌いなので知らんけどw)

 

更に脱線して、別の質問「数学が特異な人たちは、こういう数式が分かるんですか?−」でもやっぱりオタ偉そうな人が多くて苦笑した。数学嫌いの僕は こんな面倒な式は理解する気は全くなくて、必要ならプログラムを書くだけだ。

しかも、この式には間違いがあるではないか(回答を読んで分かった)。なのに、気付かずに したり顔で偉そうなことを書く連中って一体???

あと、回答にあったが、これが誤差を計算するものなら、絶対値でなく2乗の理由が理解できない(全部の回答を読めばいいのかも知れない)。「幾何学的な性質」とか サラッと書かれても「は?? 何ですか?!」だよ!!

だいたい、以下は すごい違和感しかない。

誤差には正も負もあるので、打ち消しあってゼロになったりするのは困る。
だったらを2乗すればいい。
全部プラスの数字にして、それを全部足し合わせて、足した個数で割り算する。
もともと2乗していたんだから、ルートすることでもとに戻せば、1回あたりの誤差として使える

僕にすれば、正負で打ち消し合うのが困るなら、まず、絶対値だ。なぜか2乗して、それを加算したのをsqrtしたって元に戻るとは思えない(ここは すごく強引だと思う。: 2乗は非線形だから、そのあとに加算したものをsqrtして線形に戻るかって話だ。まあ、多くの専門家が何も言わずに使うのだから問題ないのだろうけど、それが本質的に問題ないのか、実用的になのかは重要だ)。それよりは、絶対値を加算して平均したほうが ずっといい(素直だ)と思う(実際、上の回答の2乗に関係する行(2, 4行目)を除けば、絶対値のほうが適しているのに、なぜ2乗なんてして処理を増やすのだろうか)。まあ、きっと何か理由があるんだろう。

僕は(正しかろうがそうでなかろうが、自分の用途に問題なく使えるのであれば、考えるだけ無駄・本質でないので)「そういうもの」として粛々と使うだけだ。

 

と、最後はなぜか 数学(が得意気な人)に対する怨嗟になってしまった。。。

  •  0
  •  0

少し前から気になっていたのだが、バックアップに使っているクラウドストレージの認証情報を平文で保存しておくのは良くないので、ちゃんとしようと思った。

ストレージに限らず、サーバのアプリ(例: 某有名ブログサーバ)では、時代遅れ(そのうえ、恥知らずにも長年弱いままにしている)にもID, パスワードをテキストファイルに平文で保存しておくものが多い。

ユーザの認証情報はDBに暗号化して(実際にそうしているかは不明)格納しても、DBのID, パスワードは平文という間抜けさだ・・・

(5/4 18:34) ブログサーバソフトの設定が暗号化できないか調べたら、やっぱりなさそうだ。それどころか、Stack overflowみたいなフォーラムで、ある人が「設定を暗号化しても使う時は復号化するだろうが。そこをハッキングされたら同じことだから無意味だ」みたいに回答していて苦笑した。

確かに文面としては間違っていないが、そういう1/0の考えをするなら、DBの暗号化どころかキーリング(以下参照)でもなんでも、すべての保護機能・手段が無意味・不要になってしまうが・・・ こういう輩が被害に遭うのではないか。

ちょっと考えたが、(面倒かつ重くなりそうだけど)設定にアクセスするところを改造すれば暗号化できるように思う。誰もやってないのは 不可能なのか興味ないのか。いずれにしても、「鍵をどうするか」(以下に書いている)っていう問題はある。

問題は、そういう情報を暗号化する(それ自体は容易)として、それを使う時には復号する必要があり、その暗号化・復号化のための鍵をどこに保存し、どうやって取り出すかである。誰でもアクセスできるようなところに保存したら、全く意味がない。特定ユーザ(のプロセス)に許可するとしても、それに成りすまされたら駄目だ。

調べてみると、「ログイン」のような操作をしないシステムでは暗号化して保存するのが難しい(復号する鍵をどうするか?)ので、上述のサーバの弱さは どうしようもない面があることが分かった(けど、多くのシステムは「それなりに」ちゃんとしているのではないか?)。

「ログイン」の操作自体が重要なのでなく、そのコンピュータの外(部外者が容易にアクセスできない場所: ログインの場合は、ユーザの頭(注: ポストイットの場合も多いw))に鍵を保管し、そこから鍵を入れることが重要なのだと理解した。

これは推測だが、Windowsは必ず(一度は)ログイン(ログオン)をするので、この辺りが結構うまく行っているのではないか。Windowsサーバは使ったことないが、普通のデスクトップではログイン情報を保存できるから、それに似たような感じなのではないか。ただ、保存したログイン情報の暗号鍵は どうしているのだろうか?

更に推測だが、その辺りはNTの時に苦労していたのかも知れない(昔、そんなことを本で読んだ記憶がある: 内部で抗争しつつ作ってたんだったか?)。

そういう訳で、デスクトップなら、前に書いた(その稿の暗号化の話は、この問題を考えていて思い付いた)GNOME keyringが使えそうだが、サーバでは難しい。

というのは、GNOME keyringは(デスクトップの)ログイン時にキーリングをアンロック(≒ 復号化)するが、ログインせずに動いているサーバではアンロックするタイミングがないからだ。

GNOME keyringの処理を少し調べてみたら随分原始的で、ログイン時に入力したパスワードをそのままアンロックする処理に送り込んでいるだけのようだ・・・

ここはもう少し賢く、パスワードのハッシュを比較するとか、認証サービスに問い合わせた結果でアンロックの可否を判定するとか やりようはあると思うが、遅れているのだろう。その辺りで使われているPAMには そういう上等な機能があるのだと思って居たが、そうではないのか、GNOME keyringが使っていないのか。

ところで、僕のデスクトップは自動ログインでログインする(パスワードを入れる)タイミングがないのに なぜか使えているので、不思議に思って調べたら、自動ログインの場合はキーリングのパスワードがなく(空)、暗号化されていないことが分かった。

実際に確認したら、キーリングは単なるテキストファイルで、普通に読めた。。。: 間抜け過ぎる!

そういえば、忘れて居たが、結構前に、ログイン後にダイアログが出るのが鬱陶しいのでパスワードを空にしたような気がする。 (← 良くやる「馬鹿なこと」そのもの!)

 

結局、デスクトップもサーバも脆弱だったというオチだった。それで(、まずはデスクトップを)どうにかしたくて考えたが、余りいい案はなかった。以下に書く。

  • × GNOME keyring以外(例: gpg)を使う。: 安全に鍵を保管する問題は同じなので無意味。
    • GNOME keyringでもgpgでも、TPM (Trusted Platform Module)の機能を使えばできそう(な気がした)だが、PCもサーバも非対応である。
      • ただ、TPMへのアクセスの許可はどうするのか分からない。それを保存したユーザならできるとかでは余り意味がない。これに認証が要るならログインと同じことだ。
  • △- [デスクトップ] 自動ログインを止める。
    • もしもの時に、家族がPCにアクセスできなくなる。
      • 一応、起動したあとで見るべき場所が分かるようにしているし、PC以外の手段も用意しては居るが、「面倒」とか「分からない」とかでアクセスしない可能性が99.9%と思われる。(その時は僕の手を離れているので、それでも良い。)
  • △+ [デスクトップ] GNOME keyringにパスワードを付けるが、自動ログインのままにし、ログイン後にGNOME keyringを最初に起動した時に入力する(ダイアログが出るはず)。
    • サーバでは、gnome-keyring-daemon --unlock にパスワードを入れればアンロックできるので、どうにかして入れれば良い。
      • なお、Xの動いていないサーバでは、dbus-run-sessionでgnome-keyring-daemonを動かす必要がある。
    • アンロックしない限り、キーリングを使うプログラムは動かなくなるが、(上記の)家族がアクセスできなくなる問題は回避できる(家族がアクセスするファイルは暗号化しないとする)。
  • △ [デスクトップ] 外付けUSBメモリなどに鍵を保管しておき、最初に読み込んでキーリングをアンロックする。
    • 盗難などに弱いが、自動ログインしている時点で脆弱なので良し?
    • サーバでも、最初(再起動後)にデスクトップから鍵を送るようにすれば、同様にできる。ただ、sshでアンロックするプログラムを起動するほうが楽かも。
    • 面倒な割に実効性は少ない?
    • ちゃんとやるなら、生体認証デバイスのようなものを使うのがいいのだろう。
      • 単なる思い付きだが、銀行の認証のようにスマフォで指紋認証できたら便利だがなあ・・・
        • でも、これは既にありそうなので、あとで調べたい。
        • → (既にあるものがなければ、)直接 スマフォの指紋認証を使うのは難しそうだが、スマフォから鍵を送ってアンロックするのはできそうだ(基本部分は自作の画像転送の仕組みが使える)。スマフォは指紋認証で開くので、間接的には指紋認証を通すことになる。PCだけでなくスマフォ、そのうえに この方式までハッキングされなければ、きっと安全だ(要確認)。 (18:31)

 

いつものように僕が間抜けなことを実感した。とりあえずは、GNOME keyringにパスワードを付けて暗号化し、ログイン後にアンロックしようと考えている。

どこまでしっかりすればいいか分からない(おそらく、どこまでやってもキリがない)が、とりあえずは、間違ったり予期せぬ問題で認証情報の入った設定ファイルが流出しても ひどいことにならないようにしたいと思っている。

その点でサーバ(で動かしているアプリ)は頭が痛過ぎるが、根本から駄目なものは(すぐには)どうしようもないから、デスクトップをやってから徐々に何とかしたい・・・

そこにSE Linuxが出て来るのだろうか? (すごく面倒だってことしか知らんけど) それに似たようなものにAppArmorがあり、使っているLinuxに既に入って居るが、どういう関係なのかは分からない。 (やっぱり、面倒だってことしか分かってないw)

 

(5/3 8:21) GNOME keyringにパスワードを付けて暗号化するのを試したら、いくつか思い違い(あるいは細かい情報)が見つかり、やろうとして居たことが容易にはできないことが分かった。

まず、デフォルトのキーリングが暗号化されている場合、ログイン時に自動でアンロックすることはできる。最初に入力したパスワードが保存され※、次回のログイン時にそれを使って自動でアンロックできる。ただし、(上に書いたように、)自動ログインの場合はできず、パスワード入力ダイアログが出る。

※パスワードはloginキーリングに入る。

そして、ログイン時にキーリングをアンロックする時、gnome-keyring-daemon --unlockで解除するのに指定するのはデフォルトのでなくloginキーリングのパスワードで、それはログインパスワードである。 (確かにそうで、都合良くデフォルトキーリングと思い込んでいた。)

 

それで、ログインまたは起動時にデフォルトのキーリングがアンロックできないと、それを使ういろいろな自動起動アプリに支障が出る(例: Evolutionはメール取得できない)ので、ひとまずは自動ログインを解除した。

ログインパスワードを外部から入れてloginキーリングをアンロックするとしても、ログインまたは起動時にタイムリーに入れないと不都合が起こって嫌なので、「スルっ」とできる方法やデフォルトキーリングの解除を保持する方法を考える必要がありそうだ。

本質でないところにも面倒があるな。

(5/3 19:44) 例によってしつこく粘り強く試行錯誤していたら、大分近づいた。: 自動ログインで起動したあとで、そうでない時のようにloginキーリングをアンロックして、デフォルトキーリングのアンロックを自動でできるようにする手順が分かった。以下のようにすれば良さそうだ。

  1. キーリングを使いそうなログイン時の自動起動アプリを停める。: 完全には無理だった(使っていそうなもの(以下に例を示す)を随分停めたが、まだ起動後にログインパスワード入力のダイアログが出る)が、何とかなる。
    • GNOME keyring daemon, seahorse, Vivaldi, Firefox, Spotify, Thunar, Dropbox, Evolution, Seamonkey, Joplin
    • 上の他に、Policy kitとNetwork Managerも怪しかったが、起動しなくなりそうなので試さなかった。
  2. 再ログイン(自動ログインを設定してreboot)する。
  3. 起動後、起動してしまったgnome-keyring-daemonを停める。
    • pkill -TERM -f gnome-keyring-daemon
  4. gnome-keyring-daemonにログインパスワードを入れて起動し、loginキーリングをアンロックする。
    • echo -n LOGIN-PW | gnome-keyring-daemon -r --unlock
      • 注: パスワードの最後に改行があるとアンロックに失敗する(が、エラーにならないので分かりにくい)。なので、キーボードから手で入力するとアンロックできず、うまく行かない。
      • gnome-keyring-daemonのオプション -r は不要だが、念のために指定した。
    • パスワード入力ダイアログを出す例
      • zenity --password | tr -d '\n' | gnome-keyring-daemon -r --unlock
  5. キーリングを使う(自動起動)アプリを起動する。
    • 例: seahorse, Evolution
    • 実際に使う場合はスクリプトで一括自動起動がいいか。

いろいろな落とし穴があって苦労したが、どうにかなりそうな感じだ(いろいろ作るのは面倒だが・・・)。デフォルトキーリングのパスワードは複雑なので入れるのは手間だが、ログインパスワードはsudoコマンドで いつも入れているから、それほど面倒ではない。それに、この方法なら、上に書いたような、スマフォからパスワードを入れるといった複雑な処理が不要になって好都合だ。

結局、最初にログインパスワードを入れるなら自動ログインでない場合と同じではないかと思われるが、そうではない。僕から見れば同じだが、(もしもの時に)家族が起動した時に、パスワードが分からなくてもデスクトップが開けて ある程度のことができる点が違う。できないのは、上の例に挙げたようなアプリを使う作業だが、そういうのは不要だし することもないだろう。

他に分かったこととして、dbus-daemonを停めるとデスクトップが終わってしまうことがある。以前から何度か、突然画面が真っ暗になって「全部終わり」になってしまうことがあったが、これだった(スクリプトの作成・確認中などに間違って停めてしまった)ような気がする。詳しくは分からないが、重要な要素なのだろう。

(5/12 9:03) 上の手順で使う自動起動アプリを起動するスクリプトの詳細を考えたものの、作るのとデバッグが面倒で保留(うだうだ)していたら、何も作らずに済ませる うまい手を思い付いた。

デフォルトキーリングにパスワードを設定して自動ログインで起動すると、デフォルトキーリングを使うアプリが起動した時点でデフォルトキーリングのパスワード入力のダイアログが出るので、それにパスワードを入れれば良い。: ごく当たり前の手順である。

アプリによっては、パスワード入力が遅いとエラーになる可能性もあるが、今のところは問題は起こっていない。

今までは、デフォルトキーリングのパスワードを複雑なものにして覚えられないから、ログインキーリングに(覚えている)ログインパスワードを入れることで済ませようとしていたが、デフォルトキーリングのパスワードを覚えられる・覚えているもの(例: 何かの使い回し)にすればいいのだ。

セキュリティ上は若干弱くなるが、そもそも自動ログインにしていること自体が弱いので、多少は目をつぶろう。

これで、残りはサーバの対処だ。やり方は分かっているものの、やっぱり面倒ではある。

  •  0
  •  0