OkayuTech

情報系大学生の技術的なこと

独自ドメインで運営しているはてなブログがHTTPSに対応した

長かった……

staff.hatenablog.com

世間一般で言われている事の発端はこちら

japan.cnet.com

これまで「HTTPSはSecure」だったのが、「HTTPはInsecure」という風潮になりました。
これを受けて多くのサイトがHTTPSに対応する中、はてなブログはなかなか移行出来ずにいました。

そんな中、はてなは2017年10月になるギリギリにHTTPSに関するロードマップを公開しました。

staff.hatenablog.com

特定ドメインをHTTPSに対応させるのは(負荷増大を気にしなければ)それほど大変ではないでしょうが、 独自ドメインを対応させるには、ドメイン毎に証明書を取得する必要があります。
また証明書には期限があり、Let's Encryptだと3ヶ月なので、最低でも3ヶ月毎に更新をしなければいけません。
詳しくは中の人が説明しています。

speakerdeck.com

独自ドメインで運営している本ブログも早速HTTPSを有効にしてみました。

f:id:okayu_k:20180613162638p:plain

期限内に正しく更新されるのか、気にしておくことにしましょう
(更新されなかったとしても、どうしようもありませんが)

複数の計算機上のGPU使用率をモニタリングできるツールを作った

タイトルのままです。

github.com

f:id:okayu_k:20180429075256p:plain

複数の計算機上にあるGPUを複数人で共有するような場合、使用前に空いているGPUを探す必要があります*1

1つ1つ手動で探すのも面倒ですし、自動で空いたGPUに割り当てる方法もパッと思いつかなかったので、1つのWebページに複数の計算機上のGPU使用率を表示できるツールを作成しました。

仕組みは非常に簡単で、各計算機上で"ssh hoge nvidia-smi ..."を実行してその結果を集めてくるだけです。
そのためアクセスする度にssh接続とnvidia-smiが実行されるのであまり効率的ではないかもしれませんが、そんなに大人数が頻繁にアクセスすることもないと思うので妥協しました。

GPU使用率をモニタリングしていると、GPUメモリ上にモデルを載せたまま何も処理をしていない状態が発生していることに気づきます。 そうなると計算資源自体は空いているもののメモリが足りないので他の人がモデルを載せられず、実質的にGPUが使えない状態になります。
かく言う私もJupyter Notebookで学習させる際に、モデルを待避させるコードを書かないことがあるので、数分から数時間の間そのような状態にしてしまうことがあります。
そのような死んだGPUが長時間存在して、他に空いているGPUが無い場合に通知を送る、なんてこともしてみたいですね。

*1:もちろんクラスタ化すればその必要はありませんし、そちらの方が理想的ですが、色々な事情でそれが出来ない場合のことです

標準入力から与えられたテキストをSlackに流すツールを作った

タイトルのままです。

github.com

設定ファイルの例はconfig.ini.exampleにあるので、それをconfig.iniにコピーして中をいじる必要があります。
細かな書式の説明はないですが、config.ini.exampleを見れば大体分かると思います。

Incoming WebhooksのWebhook URLをあらかじめ取得しておく必要があります。
取得時にChannelの選択を求められますが、config.iniでchannelの設定をすればオーバライドされます。
逆にconfig.iniでchannelを省略した時はURL取得時に設定したChannelに投稿されます。

ソースコードは40行しかないので、気にいらない所があれば気軽にいじり倒して下さい。

f:id:okayu_k:20180411011920p:plain

f:id:okayu_k:20180411011933p:plain