Okada Hiroshi の blog

typo が多いです

骨折が治りました

f:id:OkadaHiroshi:20190806214111j:plain

実は一ヶ月と少し前にベッドの 頭部のフレームに脇腹を打ち付けて肋骨を骨折していました。

肋骨の骨折の場合、バンドで固定して自然治癒を待つしかないそうです。

しばらくして痛みはなくなったのですが、骨が完全にくっつくまではバンドを外さないようにしたほうが良いという事で、バンドをして生活していました。

きょうやっと骨が完全にくっついた事が確認できたので、バンドを外して終了という事になりました。

暑くなってきたのでバンド装着の不快さが増していたので良かったです。

Pop!_OS

自宅のデスクトップに Pos!_OS 18.04 LTS をインストールしてみました。

system76.com

Pos!_OS 18.04 LTS は System76 が作っている Ubuntu の派生 OS です。

System76 製のノートPCも使っているので、デスクトップも合わせてみました。

Pos!_OS には NVIDIA のドライバーが初めからインストールされているイメージも提供されているので、後から NVIDIA のドライバーを入れる必要が無くて楽でした。

Jupyter Widgets (ipywidgets) のパスワード入力フィールド

今日、別件で検索中に StackOverflow で見つけたのですが、Jupyter 上の Widgets に Password 入力フィールドが存在していました。

stackoverflow.com

ドキュメント には記述されていなのですが、ソースコードには ずいぶん前から入っているようです。

github.com

他の Widgets と同じように widgets.Password(value = '', placeholder='パスワードを入力') のようにして使えます。

以下は、サンプルとして作ったはてなブログのエントリー一覧を表示する Google Colaboratory のノートブックですが、API KEY 入力フィールドを非表示にできるので、スクリーショット等を公開する時にマスクする必要がなくて便利だと思います。

f:id:OkadaHiroshi:20190505172639p:plain

https://colab.research.google.com/gist/HiroshiOkada/b43dea3d79c574dcc0fb119a86a8c6ae/hatenablog.ipynb

zeit の now で Basic 認証付きで Web ページをデプロイするサンプルを作成しました。

ZEIT (ツァイト) という会社の Now という Pass があって node.js 等で作った API や静的ファイルを簡単にデプロイできます。

jpn.now.sh

(僕は有料プランにしていますが、無料でもそれなりに使えます。)

まったく何の認証もないページだと、ほぼ何にも考えなくてもデプロイできるのですが、Basic 認証をかけるにはサーバー側のコードを書く必要があり、一手間かかるので express を使ったサンプルを作ってみました。


https://now-node-express-basic-auth-example.hiroshi-okada.now.sh

(Basic 認証の ユーザー名は myid パスワードは mypassword に設定してあります。)

コードは github に置きました。

GitHub - HiroshiOkada/now-node-express-basic-auth-example: @now/node express basic auth example

basic 認証ですので、クリティカルな用途には向きませんが、最低限の認証をつけて web ページで情報を共有するには便利だと思います。(よく行くページの一覧とか)

スマートフォンが故障したので端末保証で交換してもらった

僕は Motorola の Moto G 5 Plus と言ういわゆる格安スマホを2017年の7月に IIJmio から購入して使っていました。

ところが、昨日スピーカーから音が出なくなってしまいました。ヘッドホンを使えば音が聞こえるのですが、とにかくこのままでは使い続けられません。

幸い月額380円を払って端末保証をつけていたので、5000円で交換してくれることになりました。

さらに、Moto G 5 Plus はもう在庫がないということで Moto G 5s Plus と言うちょっとだけ新しい機種になりました。(といっても2017年10月発売の機種ですが) 昨日の午後に申し込んで今日届いたので使えない期間は1日だけでした。

f:id:OkadaHiroshi:20190314220521j:plain

古い機種なので、システムアップデートを何回もしないといけない上に、交換前にはアカウントが必要なアプリを多数インストールしていたので全て元通りにするには明後日ぐらいまでかかりそうです。

骨折

昨日、14時過ぎに階段で滑って骨折してしまいました。

自力で病院に行こうとしましたが、痛くて歩行が困難だったので #7119 で相談して救急車を読んでもらいました。

レントゲンとCTを撮ったあと、痛み止めを処方してもらいました。

f:id:OkadaHiroshi:20190308165200j:plain
外来診療明細

特にギブス等で固定できる部分ではないので、痛み止めの飲み薬と張り薬を使い、サポーターを巻いて安静にしているしかないとの事でした。

完治には一ヶ月くらいかかるので、しばらくは不自由な生活が続きそうです。

はてなダイアリーをインポートしたらカテゴリーがカオスになったので Python と テキストエディタ(Vim) の力を借りて修正しました

はてなダイアリー」が終了するので、インポート機能を使って、過去の記事を「はてなブログ」にインポートしました。

ところが、「はてなダイアリー」と「はてなブログ」でカテゴリーが統一されていなかったため、カテゴリーがカオスになってしまいました。

また、初期には「はてなダイアリー」を日記モードで書いていたため、タイトルが無い記事も多数存在していました。

これらを「はてなブログ」の Web 画面上から変更することは(僕には)苦痛だったので、 一括して変更するために、記事(entry)のタイトルとカテゴリーを読み書きするツールを Python で作成し、 テキストエディタで編集して変更しました。

github.com

まず、get-tc.py というスクリプトでタイトルとカテゴリーを読み出しました。

python get-tc.py --api-key=<APIキー> <ルートエントリーポイント> <出力ファイル名>

APIキーと、ルートエントリーポイントは、はてなブログの設定画面から取得できます。

Screenshot (API_KEY)

ファイルの中身は yaml 形式で、記事(entry)の配列になっており、ひとつの記事は以下の用になっています。

- categories:
  - カテゴリ1
  - カテゴリ2
  entry_id: エントリID
  link: 記事のURL
  published: 最初に書いた日付
  summary: 記事のサマリー
  title: 記事のタイトル

テキストエディタでこのファイルを書き換えました。 なお、タイトルとカテゴリ以外の項目は変更しても反映しないようにしました。

編集が終わったら、以下のコマンドで更新しました。

python update-tc.py --api-key=<APIキー> <ルートエントリーポイント> <入力ファイル名>

なお、エディタは vim をつかって次のような使い捨ての vimscript を作成し読み込んでから編集しました。

nnoremap q#  o- C#<ESC>
nnoremap qB  o- bash<ESC>
nnoremap qC  o- C<ESC>
nnoremap qD  o- Docker<ESC>
nnoremap qJ  o- JavaScript<ESC>
nnoremap qP  o- Python<ESC>
nnoremap qR  o- Ruby<ESC>
nnoremap qS  o- SSL<ESC>
nnoremap qd  o- 読書・マンガ・アニメ・映画<ESC>
nnoremap qi  o- IT<ESC>
nnoremap qk  o- 購入<ESC>
nnoremap ql  o- 生活・健康・旅行<ESC>
nnoremap qm  o- MS Office・Googleドキュメント<ESC>
nnoremap qn  o- ニュース・時代<ESC>
nnoremap qt  o- 投資・経済<ESC>
nnoremap q/  /^- categories<CR>