2020年4月6日月曜日

医者の外来対応

以前から不満だったのが、病院の待合室。
ゲホゲホしてる人も、そうでない人もごちゃまぜに同じところで待機している。これでは感染ってくださいといっているようなもの。総合病院でも同じだと思う。
感染症にかかっている人もそうでない人も同じところに詰め込むのを「普通」と思っているのがおかしい、と思う。
ドイツにいたとき、普通の町医者のところに、どうも麻疹と思われる患者を連れてきた婦人がいた。婦人もその可能性はわかっていたみたいで受付でその旨いったらしい。すると激怒したドクターが外に追い出した。そこではその手の感染症の専用の待合室があり、患者がかぶらないように完全に予約してから受け付けているのだそうだ。そのドクターはドイツ人だけど、カナダでPh.Dをとった人で英語も話せるので大使館の人とかがよく行くところだ。だからちょっと厳しいのかもしれないが、小さな町医者でもそのようにして病院での2次感染を防ぐようにしているのに、日本では総合病院でさえも、動線の分離すらできない。するつもりもないのだろう。
そろそろちゃんとするときなのではないの。

2020年4月3日金曜日

新型コロナウィルスの集団免疫

英国のジョンソン首相が言っていた集団免疫、だれかが言っていた人口の5,6割が免疫を持つことによって感染の流行が終了すると。
東京を例に上げると、今東京の人口が920万として、その6割とすると552万人。一年で収束させるとしたら、一日あたり1.5万人が感染しなければならない。この内2割が何らかの症状がでるとしたら、一日3千人のコロナ患者が発生しなければならない。この内、例えば2%が重症化し入院が必要となると、1日あたり60人の入院患者、ということになる。退院するまで10日かかるとなると、600床が必要となる。今東京都は700床確保と言っているから、ざっくりこういった筋書きで行こうとしているのだろうか。オーバーシュートが起きるとこのシナリオから外れることになる。すると救えただろう命が医療崩壊によって助けられなくなるわけだ。
今現在500床くらい埋まっているらしいけれど、厚労省の退院ルールが足かせになって元気になっても退院できないらしい。サッカー協会の会長がおっしゃっていた。
この話を聞いても、最初のクルーズ船にしても、厚労省ってやっぱり人材がいないというのがわかる。多分計算ができないんだろう。
厚労省の最初の目論見はSARSのように完全に封じ込めるつもりだったのだろう。それで厳しいルールを設けた。医師たちも飛沫感染だからと高をくくっていた人たちもいた。ところが思っていた以上に感染力が高く、クルーズ船で厚労省の人間が真っ先に罹患してしまったし、振り上げた手を下ろすことが、プライドが邪魔をしてできなくなっているんだろう。国会の答弁でもそんな雰囲気が感じられる。
なんで未知のウィルスに対して高をくくれたのか。テレビ番組にでて中国の前線で戦っている医師たちの警告に対しそんなに感染力があるはずがないとコメントしていた医療研究者にはおごりが感じられた。

2020年3月8日日曜日

software RAID settings on macOS

RAIDは複数のディスクを使って、便利な機能を提供してくれる仕組みである。
一般にはハードウェアでRAID機能を使うのが一般的なのだろうが、macOSについてくるDisk Utilityを使えばかんたんにRAIDにしてくれる。このやり方はRAID Assistantを使うのだが、一般的な話は他に書かれている。
ちょっと確認してみたのだが、できそうなのでここに記録する。
ディスクが4つあって個別のインターフェースでMacにつながっているとき、Disk UtilityのRAIDアシスタントで設定できる。RAID機能を入れ子にできるのか試してみた。
まず、SPANで2つづつ別ディスクとして設定する。すると4つのディスクが2つのディスクになる。ここでまた、Mirroringを選ぶと選べてしまう。つまりトータルのディスクが半分になってしまうが、ちょっと冗長なシステムができる。
ただ、ディスクの一つが壊れたときにどんなになるのかがわからない。まあ、こんなことをしたがる人は少ないかもしれない。私も現用にはしなかったけど。

2020年3月3日火曜日

TimeMachineをどうにかして速くする方法

TimeMachine (Apple R)は便利だが、遅い。速くしたい。
TimeMachineの実態は、backupdというDaemonである。これは通常バックグランドで動作しているので、フォアグランドのプロセスよりも優先順位が低い。これはそうでないと、コンソールの前のユーザがイライラするから。
ネットワークで調べると、バックグランドの処理の優先順位を下げないという設定を行っているのが多い。具体的には、
sudo sysctl debug.lowpri_throttle_enabled=0
とTerminalの中でコマンドとして打ち込む方法である。戻すときは=1にする。
それとは別にUNIX系のOSには、各プロセスの優先順位を決めてスケジューリングする機能がある。macOSにもあって、nice/reniceというコマンドである。
優先順位は整数で-20から20の間で設定することになっているので、数を少なくすると優先順位が高くなるため、その分処理が速くなる。
sudo renice -10 process_id
とかで設定できる。これでだいぶ速くなるはず。怖くて-20でやったことはない。デフォルトでは10だそうだ。pgrepを使うと簡単になる。
sudo renice -n -10 $(pgrep ^backupd$)
あと、Spotlightの検索データ作成デーモンも鬱陶しい。こいつを一時的にも消えてもらうのはTimeMachineをとりあえず終了させたいときには有効だと思う。
これは
sudo mdutil -a -i off
とするとやめてくれる。もとに戻したいときはonにする。

それでも終わるまで3,4日は掛かりそうだ。今1日目。。。
誰かSingle User ModeでTimeMachineを動かす方法を確認してくれないかしらん。怖くて手が出せない。

2020年1月9日木曜日

Home Router for Giga-Era Internet

最近、子供からネットワークの速度が遅い、Nintendo Switchの測定サイトで余り速度が出ていない結果が出た、どうにかならないかと言われた。頭の中では、160Mbps契約、ベストエフォートだから半分くらいかと思っていたので、古いBuffalo Broadband Router BBR-4HGを使っていた。Fast.comで測ってみたらBBR-4HG直結で20Mbps程度だった。プロバイダのサポートに電話したらいつの間にか320Mbps契約になっていた。
これではまあ、現状のルータではダメかなと納得し、Aterm WG1900HP2を購入した。
ついでなので、ちょっと前にWiFiが壊れた時に買ったWiFi Router WHR-1166DHP4を含めてネット速度の計測をしてみた。
ネットプロバイダの推奨である、Radish Network Speed Testingを使って三つを比較してみた。
BBR: 39.22
WHR: 87.26
Aterm: 248.5
となり、Atermの速度は、Cable Modemに直結とほぼ同じなので、ルーターネックには成っていないようだ。
やはり、値段は値段だけのことはあるね。
有線からの設定はトリセツに書いてなかったけど、192.168.10.1がアドレスなのでここにアクセスすればどうにでも出来る。

2019年12月21日土曜日

Android: KotlinとRecyclerViewとViewModelとDataBinding

思いついたアプリを作ろうと思ったが、以前のMatch Scorerは古いデザインで作成したので、せっかくだから最新のデザインアーキテクチャで作ろうと思った。で、いつものように掲題のキーワードからググったわけだ。ところが検索の上部に出てくるのは役に立たないものばかり。こっちも分からないものだから、書いてある通りにコーディングやコピペして作ってもほとんどのものが動かない。ホントにフラストレーションがたまった。
で、行き着いたらあっという間に解決してくれたのは、本家GoogleのサイトCodeLabsだった。
どうもGoogleが定期的に行っているコンファレンスのデータが置いてあるらしい。
Codelabsには様々なチュートリアルが置かれていて素晴らしいサイトで、知ってはいたけどJavaだけかと思っていた。Kotlinでのチュートリアルは、ここからたどれる。ぐぐってもどうして出てきてくれないのか。お金にならんからか!?
さて、ViewModelDataBindingは便利な機能だが、LiveDataというもう一つまたViewModelとは異なる毛色のものが出てきてややこしい。ViewModelとかLiveDataはデバイスのオリエンテーションが変化した時にViewを消去して書き直すが、View内部のデータは保持されなかったのが、ViewModel+LiveDataを使うことでViewのスコープから外れてもデータが保持される仕組みを提供されたわけだ。このスコープをうまく使うと、異なるActivity, Fragmentでデータを共有することが出来る便利な機能だ。ViewModelProvider経由で使うとインスタンスがSingletonのようになる。
RecyclerViewとこれらを使うのにアタマが混乱していたのでこれとは別の噺なんだが。RecyclerViewはListViewよりも優秀だというので使って見たのだけれど、Listの中のItemに対するクリック処理をListenするのが「ちゃんと動くのが」全然見つからなかったけど、やはりCodeLabsのここにあった。ググったら出せよ。
Androidの世界はものすごく速く変化している。下手にググらずCodelabsに行くのがよろしい。CodeLabs内でも迷子になるのだけれどもね。

2019年12月2日月曜日

錦織圭選手の新しいコーチが決定

インスタによると、テニスの錦織圭選手の新しいコーチが決まった。Max Mirnyiコーチだ。ベラルーシの選手で、経歴からするとダブルスのスペシャリストのようだ。同胞のアザレンカとくんでロンドンで金メダルを取っている。 マイケルチャンも引き続きコーチをするようだけど、ネットプレーやサーブの強化の為なのだろうか。今後の動向に注意したい。