logデータの突き合わせプログラムを書けという自分への指令(5)

ログの原簿であるLog200のデータにある交信レコードをup-to-dateにしているメインのデータベースであるMariaDB (MySQLコンパチブル)のデータと照合して,MariaDBに欠落しているレコードがないか,を確認するプロジェクトですが,照合スクリプトの最終形が吐き出したエラー分について手で確認をしました.

MariaDBとの照合は,日付,時刻(±5分のマージン)とコールサインで検索しました.参考の為に,モードの違いについても,検索してヒットしたレコードと原簿のレコードについて照合して,違う場合はwarningとしました.

原簿にある7万9千レコード全部について照合するのに,190分ほどかかりました.そのうちほとんどがMariaDBが占めていて,PerlのCPU占有は30秒余りです.

その結果,モードの違いまでも含めると,540ありました.検索条件が違うので(4)の293件より多くなっています.

このうちwarning扱いのモードの違いをのぞいたエラーは,128件で,手作業で照合しました.

ほとんどが,コールサインの間違いです.もらったQSLカードで修正したものがほとんどです.また,時刻の違いも何件かありました.時刻は,PCの時計データを取り込むようにしていますが,そのPCが仮想マシンのため,仮想マシンが再起動した直後に時刻データが不正確であった可能性があります(これは仮想マシンの特定のバージョンにより含まれているバグです).可能性は低いとはいえ,自分が間違っている可能性もあり,間違っているのは自分か相手か断定できません.しかし,もらったQSLカードに返信の形で発行するQSLカードは相手の時刻に合わせた方が無難なので,ほとんどのケースで相手に合わせて修正してます

完全な漏れは,先に判明したUR2FEO局の2交信分の他は,8N2SEA/2局との1交信のみでした.いずれも追加済です.思っていたよりうんと少ないレベルなので,安心しました.

これで,少なくとも原簿であるLog200に記録されている交信は全てメインの交信データベースにあるという状態にできました.

ただし,多くはない思いますが,原簿に漏れている交信もあるはずです.それらについてはどうしようもないです.QSLカードが届いて,該当する交信レコードがないときはこっそり追加するしかありません😓

ただし,あり得ない時間や明らかにJST/UTCの計算違いの場合は,こちらの時間にしています.

logデータの突き合わせプログラムを書けという自分への指令(4)

最初のバージョンでは,日付とコールサインとモードが一致するという条件にしました.レコードが完璧に抜け落ちていたのは,2QSOのみで,それがいずれもUR2FEO局です.全くの偶然か,そのコールサインだけひっかかるような原因があるか,当時のLog200からMySQLにexportするスクリプトは残っていないので,全く探りようがありません.

この段階で,レコードの不一致があったものは,293件です.全レコード数は,7万9千件ほどなので,0.37%です.先日発表された,東京の新コロナの抗体保有者とコンパラです😓

目だったレコードの不一致は,モードの不一致です.50MHz帯の交信のSSBとCWが入れ替わっていることが多いです.周波数からモードを自動的に決める機能が,50MHzではあだとなっています.交信相手からQSLカードをもらって,気づいて修正しているところが多いです.

MariaDB(かつてはMySQL)のデータは修正しますが,オリジナルのログデータは修正しないことにしているのでこの不整合が発生します.

考えてみれば,ログソフトからMariaDBに取り込むときの漏れを問題にしているので,モードの不一致はドントケアーとします(警告だけ出すようにします).

その代わりに,時刻を±5分のマージンで絞ることにしました.この制限を付けても,全体の処理時間はほとんど変わりません.

そんな感じで何度か試行錯誤して練ってきたほぼ最終版を今走らせています.一度走らせると3時間待たないと結果が出ないので,試行錯誤のサイクルは長いです

関連項目

MariaDBのデータをMacかCore i7のWSに移して,テストすればたぶん何倍か早くなると思いますが,慌てることはないので😓

数値データに基づかない政策

7月1日からレジ袋が有料化されました.私は意識高い系なので😓,とっくの昔からスーパーやコンビニでのレジ袋を拒否してきました(たぶん10年くらい前から).

しかし,これこそ意識高い系の陥る罠にはまったのだと猛省しています(反省の為あえて自分に,意識高い系と自称する罰を与えています).

池上彰氏やNHKの解説委員なども言っていたと思いますが,実はレジ袋のプラスチック全体に占める割合は多くなく,この清水化学工業のサイトによれば,特に問題視されている漂着ゴミについては,重さも容積も点数も,1%未満なのだそうです.

同じくこのサイトによれば,量が少ないばかりでなく,実は石油精製で出る厄介者を活用し,製造エネルギーや輸送費用も紙袋に比べてずっと安いエコな製品であるそうです.

もちろん,量が少ないものでも,環境の負荷になるものを減らすことは意味のあることですが,代替物が余計に環境負荷を及ぼすようでは本末転倒になります.

たまたま生活の端々に登場するから仮想敵にされ,ポピュリズム的政策に利用されたということになります.

科学や数値データに基づかない政策を続けていれば,人類滅亡は早まるばかりです.

パチンコ店の換気は良いらしい

パチンコって行かない人は全く行かないですから,3密の巣窟みたいに言われていますが,実態はどうだか,よく解らない人のほうが多いんじゃないでしょうか.

かくいう私も若い頃好奇心で何度かパチンコ店に入ったことはありますが,今では他にやることが全くなくても選択肢に入らないと思います😓

最近,パチンコに行った人の話を聞くと,パチンコ店はもともと客がタバコを吸う前提で設計されているから,ものすごく換気が良いそうです.

また,検索で見つけたこの記事はパチンコを推奨する立場のサイトのものですが,換気量について具体的に書かれていています.

記事にあるように,パチンコ店内で大声で会話する人もいないでしょうし,対面せず横を向いて並んで座っているわけです.実際,私の知るところでは,これまでにパチンコ店がクラスターになったという報道はないです.

一方で複数のライブハウスやカラオケのできるバー・スナックなどでクラスターが発生したことを考えると,3密(密集・密閉・密接)というより,

  • 大きな声を出す
  • 換気が良くない

の2点が重要な要素なのではないかと思います.

もちろん,医療機関や福祉施設でのクラスター発生は,

  • 直接・間接的な接触

による感染が主なのでしょう

パチンコ店の換気については自治体の現場担当者も当然知っているはずです.そうこう考えると,弱者切り捨てが得意技の首長たちの仮想敵に仕立て上げられた感があります.

なぜ自分では全く関心もなくどうなっても知ったことではない😓パチンコ店について考えたかというと,「彼らが最初共産主義者を攻撃したとき」に通じるところがあると感じたからです.

結局は従来の3密に大声(深い呼吸)が加わっただけ😓

logデータの突き合わせプログラムを書けという自分への指令(3)

今日は少し元気なので,課題に😓実質的に着手しました.

とりあえず今日のところの成果物は,日付とモードとコールサイン指定して,検索して,もし結果が返らなかったら”die”する,つまり最初に未登録のデータを見つけたらそこまででおしまいというプリミティブなものです.

作業的には元のスクリプトから削除するのが大部分となりました.

走らせたところ,3時間ちょっとで終了です.Perlの実行時間はなんとそのうちの33.7秒で,ほとんどはmysqldの所要時間です.

topからも,そこら辺が解ります.

まだ,dieしなければ,何にも返ってこない仕様なので,これだけではスクリプトが正しいかどうか解りません.また,日付とモードとコールサインだけで指定しているので,コンテストなどだと,複数レコードが返ってくるはずなので,そこら辺を表示するように改良したいと思います.

関連項目