厚生労働省の都道府県別陽性者のフォーマットががらっと変わってしまった

こんな感じで都道府県別の感染者数を表示できるようにしてるわけですが、厚生労働省のフォーマットが変わってしまったのでまとめておく。
nowokay.hatenablog.com

新しいものはこれ
f:id:nowokay:20200510034204p:plain https://www.mhlw.go.jp/content/10906000/000628667.pdf

いままでのはこれ
f:id:nowokay:20200510034235p:plain https://www.mhlw.go.jp/content/10906000/000627630.pdf

いままでも連番が入るとか数値にカンマが入るとかちょこちょこ変更は入ってたのだけど、今回はデータの意味も結構かわってしまった。
重症者やPCR検査数も入ったので、データとしては よりよくなったわけではあるけど。
東京のデータも都の発表値と一致するようになって、改めて都のデータをとりにいく必要がなくなったのもいいですね。

ということで困ったところ

  • 「不明」・・・いままでゼロとして扱ってたものが明確に不明になったのかな
  • 「確認中」の項目が・・・いままでは入院者に入ってたぽい
  • 徳島の死者も不明に・・・1名亡くなっていたはずだけどどうなった
  • 都道府県名にスペースが・・・取り除くの面倒
  • たまに全角スペースが・・・取り除くの面倒
  • 「県」「都」がなくなった・・・あわせるの面倒
  • 長野の最初の文字が「⾧」に・・・区別つかないけど別の文字

最後の「⻑」はこの文字だと教えてもらった
https://ja.wiktionary.org/wiki/%E2%BB%91
通常の「長」はこっち。
https://ja.wiktionary.org/wiki/%E2%BE%A7
「部首「⾧」の呼称として用いる場合の書体」って、なんでこんなのが入ったんだろう。🤔

追記
新型コロナウイルス感染者等情報把握・管理支援システム(仮称)」というのが5月から運用されて、そろそろ先行利用がはじまるみたいですね。
集計結果もそれにあわせて変わったということかな。
https://www.mhlw.go.jp/content/000626714.pdf
f:id:nowokay:20200510163808p:plain

Cubaseでピアノロールのノートの色を変える

DTMやるのにCubaseというソフト使っているのだけど、ピアノロールの音の色が非常に見づらい。
ので、変えてみる。

これがCubaseのピアノロール。

f:id:nowokay:20200429072326p:plain

そんな見づらくない気もする。
けどこれ、3小節目の真ん中のノートを選択中で、実は隣の4小節目の真ん中と同じ音が並んでいる。
これがちょっとぼくには全く見えなくて、作業するときはほぼ記憶と勘でやっている。

ただ、これではちょっとつらいので、色を変えることにする。
設定見てもよくわからなかったし、ぐぐってもすぐには出なかったのでブログを書いている。

これはイベントカラーで設定されている。

f:id:nowokay:20200429072954p:plain
どういうことかというと、これはノートにどういう基準で色をつけるかということで、デフォルトではベロシティで色が変わるようになっている。 「グリッド」に変えると赤になって見やすくなるのだけど、やはりベロシティによって色が変わるほうが便利。

イベントカラーで「ベロシティ」が選ばれている状態でドロップダウンから「設定」を選ぶ。

f:id:nowokay:20200429073357p:plain

そうすると表示色が選べる。

f:id:nowokay:20200429073507p:plain

ベロシティが高い場合に赤になるようになっているので、これを緑にしてみる。

f:id:nowokay:20200429073557p:plain

これで見やすくなった。気がする。

f:id:nowokay:20200429073852p:plain

気のせいか。

都道府県別の新型コロナ感染状況を一覧できるサイトをつくった

都道府県別に傾向を一覧で見たいとおもって、JSならほかの人にも見やすいだろうなと作ってみた。
新型コロナウィルス都道府県別感染者数の傾向
f:id:nowokay:20200420020501p:plain

都道府県ごとの数値を見るだけであればNHKがまとめていたのだけど、時系列グラフがほしかった。
特設サイト 新型コロナウイルス 都道府県別の感染者数・感染者マップ|NHK
いまはNHK都道府県を選択すれば個別のグラフが見えるようになっている。

一覧で見れることの他には、感染拡大度合いで地図の色付けをしているのと、感染拡大率のグラフを見れるようにした。
f:id:nowokay:20200420021024p:plain

地図の色付けは、NHK東洋経済など他のサイトでは感染者数で色付けをしているのだけど、一旦最高値の色になると変化がなく、また人口が少ない県では感染がひろまっても色付け基準にならないなど、ほとんど情報量がなくなってしまっている。
ここでは、感染拡大率によって色を変えているので、感染が拡大しているところは色がかわるし、感染拡大が落ち着くと色が戻る。
色は2日間の伸び率で決めていて、1.5倍だと赤い。これは1日あたり1.22倍で、アメリカで感染拡大がひどいとき1.2-1.3倍で伸びていたので、このくらいになると混乱がひどくなるというとこから決めている。色が日々変わる方がいいので、こちらは期間が短い。

感染拡大率は1週間で何倍になっているかの数字。1に近づくほど感染が収まっている。
地図のほうとは違って、ある程度安定した値が見たいので、7日間でみている。7日間にすることで曜日ごとの差も吸収できる。 緊急事態宣言でも、対象都道府県を決めるのに感染者数が2倍になる日数が重要な指標になっていたらしい。
感染者の急増、地方でも 2倍になる日数、富山で4日:朝日新聞デジタル
この拡大率rについて\frac{\log 2}{\log r^ {\frac{1}7}} とすると感染者数が2倍になる日数を出せるので、これとリンクした数字になっている。 2なら1週間、1.6なら10日、3.3で4日くらい。

データとその収集方法

データは厚生労働省のサイトから「新型コロナウイルス感染症の現在の状況について」という資料が追加されるのを毎日チェックしている。
報道発表資料 2020年4月 |厚生労働省

これがHTMLがあったりなかったりで、結局PDFを見ることにした。
最初は福岡県がまとめていたのが便利だったのだけど、更新がいつになるかわからなかった。いまは更新が止まっている。
新型コロナウイルス感染症の発生状況についてお知らせします。 - 福岡県庁ホームページ

上に書いたNHKのサイトが見ているJSONが便利だったので、一瞬それを使った。
けど、結局もっと古いデータを使おうと思って、厚生労働省のデータを使うようになった。まとめられはじめたのが3/8からなので、そこから。

スクレイピングJavaで書いていて、HTMLのスクレイピングはjsoupを使った。 jsoup Java HTML Parser, with the best of HTML5 DOM methods and CSS selectors.

けど、HTMLは厚生労働省のページに載っていたりのっていなかったりなので、必ず貼ってあるPDFを使うようにした。 PDFの読み込みではPDFBoxを使っている。 Apache PDFBox | A Java PDF Library

またこのPDFが気まぐれにフォーマットが変わるので、一応毎日チェックしながらやっている。
あと、4月の頭には福岡のデータが県が公表しているものと違ったので、手動で反映している。
いまは東京の死亡者数が都が公表しているものと違うので、こちらを手動で反映している。

JSライブラリ

JSライブラリは東洋経済のサイトを参考に、chart.jsJapanMapを使っている。 新型コロナウイルス 国内感染の状況

このMapをog:imageに設定しているのだけど、これも手動でブラウザから保存している。

地図の表示を日付スライダー置いてアニメーションできたりしたら便利かなと思ったけど、JapanMapがデータ更新に対応していない感じなので、とりあえず保留。 JapanMap自体を書き換えるか。

終わりに

あとは入院数が見れればいいかなーという気持ち。
早くこういうデータに興味もたなくていい日が来るといいな。

Panama(Vector API)をWindowsでビルドする

Vector APIWindowsで試そうと思ったのだけど、やっぱりビルドでひっかかった。
ということで、対処法

ml64がみつからないというエラーが出るので、アセンブラとしてml64.exeを設定する。

export AS=/mnt/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/ml64.exe

Vector APIvectorIntrinsicsというブランチで開発されているので、ブランチの変更も必要です。
また、C/C++コンパイラも指定しておく必要があります。
なので、全体としてはこんな感じになります。

$ git clone https://github.com/openjdk/panama
$ git checkout vectorIntrinsics
$ export CC=/mnt/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe 
$ export CXX=/mnt/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe 
$ export AS=/mnt/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/ml64.exe
$ bash configure --with-boot-jdk=/mnt/c/Users/naoki/java/jdk/jdk-13.0.1 --disable-hotspot-gtest                            
$ make images

試しにこんなサンプルを動かしてみます。
gist.github.com

こんな感じ

C:\Users\naoki\java\jdk\source\vector>bin\java --add-modules jdk.incubator.vector Main.java
WARNING: Using incubator modules: jdk.incubator.vector
警告:実験的なモジュールを使用しています: jdk.incubator.vector
警告1個
55617100
60240500

JITが優秀すぎてAVX256ではおいつけてない感じ・・・

2019年に買ってよかったもの

ことし買ってよかったものふたつ

ウォシュレット

まずひとつめ
まちがいなくウォシュレット。

うちにはウォシュレットついてなくて、業者呼んでつけてもらうとかもめんどくて先延ばしになってたのだけど、BuriKaigi 2019で富山に行った帰りにメシ食いにヨドバシ行ったとき、ふと自分でつければいいのではと衝動買いしてもってかえって設置して便利だった。
もっと早く導入すればよかった。

Androidタブレット

ふたつめ
安いAndroidタブレット

ふと買ってみたら、YouTubeみる用にめちゃよくって、とくにJVMLSとかDevoxxとかでビデオみながらブログ書くのに便利だった。
あと、メインPCのテレビチューナーを使ってどこでもテレビ見れるようになったのも便利。

まとめ

今年はコストパフォーマンスよく便利になった。

WindowsでのOpenJDKビルドでmspdbcore.dllがみつからないときの対処

WSLを使ってWindows版のOpenJDKをビルドできるということだったので、ずっと試してた。
Windows Subsystem for Linux を使って OpenJDK をビルド - #chiroito ’s blog

けど、configureでcがコンパイルできるか試すところで止まってしまう。
config.logを見ると、どうも

c1: fatal error C1356: mspdbcore.dll を見つけることができません

というエラーが出ている。

VC++のbin/Hostx86/x64/cl.exeというのを使っているのだけど、Hostx86/x64にはmspdbcore.dllがない。一方でHostx86/x86やHostx64/x64にはmspdbcore.dllがあって、コマンドラインで試したところこちらではコンパイルが通る。

ということで、強制的にHostx64/x64のほうのcl.exeを使うようにしてみたらビルドが通った。

$ export CC=/mnt/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe 
$ export CXX=/mnt/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe 
$ bash configure --with-boot-jdk=/mnt/c/Users/naoki/java/jdk/jdk-13.0.1 --disable-hotspot-gtest                            
$ make images

無事recordもうごいてる f:id:nowokay:20191208074736p:plain

Devoxx Belgium 2019 - Day 4

LINEでは年に1回の海外カンファレンス補助があるので、ベルギーのDevoxxに来てます。

今日はConference Daysの2日目。しかし寝坊・・・
ところで会場の向こうには風力発電が見えます。
f:id:nowokay:20191108093958j:plain

今日聞いたセッションはこんな感じ。Ask the Java Architectが一番おもしろかった。

Optimizing the Performance of Machine Learning in Enterprise Java SaaS with GraalVM, Python and CUDA

GraalVMといってもNative Imageは関係なくて、PythonなどTruffleベースの言語からCUDAが使えるようにするという話です。
f:id:nowokay:20191108101255j:plain

grCUDAという、Truffleベースの言語からCUDAが使える仕組みをNVIDIAとGraalVMチームが一緒に開発しているらしく、そうするといろんな言語から同じようにCUDAが使えるというのを目指してるっぽい。
これは楽しそう。
f:id:nowokay:20191108102159j:plain

あと、なんかNetSuiteというのを紹介してたけどなんだったんだろう?ERPパッケージらしい

The past, present and future of the Java type system

Javaの型を紹介するショートセッション
f:id:nowokay:20191108102615j:plain

Oakからenumジェネリクス、Lambda、varなど型の扱いの拡張の歴史を紹介して、Valhallaのinline classやAmberのrecordにつなげるというセッションでした。

Ask the Java Architect

Javaアーキテクトに話を聞いてみようというセッション
f:id:nowokay:20191108104420j:plain

主にBrian Goetzが話をしていました。
会場での質問や、Twitterで #askarch タグをつけた質問に答えるセッションです。 とりあえず、話題にでたもののまとめ

  • Alpine Linux対応について。Project Portola
  • 検査例外について。検査例外自体は失敗ではなく、その使い方に問題があったという話。
  • Deprecationについて。LinkedListをDeprecatedにする?という冗談が共通の話題っぽい
  • Project Loom。非同期はデバッグとかプロファイルとか大変
    構造化並列という新しいプログラムモデルが導入できるとか言ってたかな。
  • GraalVM native imageについて
  • 14で正式化されるswitch式について。13と一緒
  • 3項演算子の話?(ternary operatorと聞こえた)
  • Reflection。Valhallaで変える必要がある?specialized genericsとか。
  • モジュールシステム。Genericsが最初は複雑といわれてたけど今は当たり前になっていて、そんな感じで時間がたつと当たり前になるんでは
    JDK自身については絶対に必要

ぼくも質問してみました。

ちゃんと答えてもらえて、エスケープシーケンスや改行の扱いなどで再考する必要があるということでした。
そこからPreview featureの話になって、6ヶ月だけのpreview期間はフィードバックを集めて作業するのに必ずしも十分ではないという話をしていました。
それから、ぜひフィードバックをくれ、と。
フィードバックについては、ドキュメントをちょっと眺めて文句をつけるんではなくて、使ってみてどういう場合にどういう不具合があったかという形で報告してもらえると役立つとのこと。

Java. Migrating to 11 in real app

Java 11への移行のやりかたについて f:id:nowokay:20191108110254j:plain

リリースサイクルの変更やライセンスの変更の話をしていたのだけど、Repeat after me・・・Java・・・Eleven・・is NOT・・・PAIDってみんなやってたのおもしろかった。
f:id:nowokay:20191108110343j:plain

Bootiful Kotlin

おもしろプレゼンをするJosh Longさんです。
f:id:nowokay:20191108110519j:plain

会場のみんながたぶん(cがかぶってる・・・)ってつっこんでたと思うんだけど
f:id:nowokay:20191108110609j:plain

流れでカーソルを先頭にもっていったときに何事もなかったかのようにc消してて、すげー場慣れしてるなーと思いました。
f:id:nowokay:20191108110629j:plain

おもしろかった。

Java Packaging Tool: Create Native Packages to Deploy Java Applications

インストーラーを作るツールの話
f:id:nowokay:20191108111027j:plain

14以降でIncubatorとして入って、16で正式版になるだろうとのこと。
コマンドライン引数やAPIは確定ではないので、たくさんフィードバックが欲しいらしいです。
f:id:nowokay:20191108110944j:plain

帰りの電車とアントワープ

帰りは電車で 。 f:id:nowokay:20191108094035j:plain

アントワープ駅につくのだけど、めちゃかっこいいです。プラットフォームは4階層あるのかな。
f:id:nowokay:20191108094141j:plain

プラットフォームから外にでてもかっこいい
f:id:nowokay:20191108094236j:plain

今日のビール

結局ホテルの近くでごはん食べつつビール飲めるところというと、Bier Central一択みたいな感じでした。
まずLambicus Blanche Timmermans
ランビックでありブランシェ。すっぱくてさわやか。
f:id:nowokay:20191108095353j:plain

そしてDelirium Tremens
f:id:nowokay:20191108095440j:plain

それと、ハンバーガー食べました。 いままで食べたことがあるハンバーガーで一番おいしい。そこらで食べるパンがすごくおいしいし、チーズもおいしいし、そうするとハンバーガーもおいしいって感じです。
f:id:nowokay:20191108095520j:plain

最後はBlanche de Bruxelles
日本で飲んだのよりホップの味がする気が。
f:id:nowokay:20191108095704j:plain

そして、今日はちゃんとノンアルのヒューガルデンを買って帰りました。
f:id:nowokay:20191108095808j:plain

おやすみなさい

聞きたかったけど聞いてないセッション

Why We Hate Java Serialization And What We're Doing About It
Brianのセッションは、寝坊で・・・
Javaシリアライズについて問題意識があって、改善していくって話のようです。
http://cr.openjdk.java.net/~briangoetz/amber/serialization.html

Beyond Jakarta EE 8, by and for the Jakarta community

Back to the Future: How 80s Arcade Games Taught me Clojure
ハイヒールのヒールがかわいすぎる

Play an acoustic guitar with a Raspberry Pi

How to Build A Decompiler