ブログのコメント欄をクローズした

このブログはWordpressで構築されていて、Wordpressは記事にコメントできる。これまでずっとオープンにしていたのだけど、クローズすることにした。

コメント欄をクローズした理由はいくつかあるが、まずはほとんど使われていないということ。ありがたいことに、数年に一度はコメントがつくのだけど、それ以外は基本的にスパムコメント。Twitteでツイートしてくれている数の方が多いと思う。また、スパムコメントが邪魔であること。アンチスパム用のプラグインをいれているのでほぼ自動的に処理されているのだけど、たまにすり抜けてくる。ほぼ使われていないのにスパムの処理だけし続けるのもリソースがもったいないな、とも思った。

そういうわけでコメント欄はクローズした。クローズするのは簡単で、 Settings>Discussionを開いて Allow people to submit comments on new posts のチェックを外した後、Automatically close comments on posts older than... の数値を1とか適当な数字にしてチェックをいれ、保存すればOK。見た目もすっきりして気持ちいい。

もし、記事に対して何かコメントする場合はTwitterでリンクつきでツイートしてもらえると気づけます。(送る人はいないと思うが)メールでコメントを送ることも可能です。ryo.takaishi.0 [at] gmail.com へどうぞ。書いた記事についてメールが届くとすげーうれしいんだろうなあ。

スマホのホーム画面を大幅に構成変更した

最初に見る画面にはウィジェットを多めに配置して、継続的に目に入れたい情報を表示するように変更した。また、SNSやエンタメ系のアプリを表示しないようにした。

スマホ、特にSNSやエンタメ系をダラダラ眺めてしまうのを辞めるために使いにくい場所に追いやって、トップ画面にはウィジェットと本当にすぐにアクセスできないと困るようなアプリを配置してみている。ウィジェットはスクリーンタイム、フィットネス、Kindle、歩数。歩数がホーム画面で見えるのは結構いい。

スマホ、便利で楽しいけど煩わしくて、でもないとさすがに不便すぎるので結構悩ましい存在だよね。

GoogleHome対応のシーリングライトを作業部屋に設置

作業部屋の照明がやや暗い気がしていたのと、壁のスイッチが微妙に押しにくい場所にあったりリモコンがうまく動かなかったりと不便があったのでシーリングライトを買い換えた。で、せっかくなのでGoogleHome対応の製品にしてみた。

買ったのはアイリスオーヤマ LEDシーリングライト CL12DL6.0AIT。部屋のサイズよりは大きめのものにしたが、明るさ調整ができるしいずれ引っ越して部屋が広くなっても対応できるようにした。

設置してからしばらく使っているけど、これは便利。デスクライトにHueを使っているのでGoogleHome経由でシーリングライトとデスクライトの両方を制御できるのがいい。もちろん音声でも操作できるので、一手間が解消された。

惜しいのは、Homekitには未対応という点。Homkit対応のシーリングライトもあるにはあるんだけど、そっちはGoogleHomeには未対応なのだった。Hueのように両方に対応してほしいなあ。


AWS Lambdaを使ってnetatmo weather stationから取得した温湿度やCO2濃度などのデータをMackerelに送る

最近、Mackerelにいろいろデータを貯めて活用したい気持ちが再燃してきて、ちょうどNetatmoウェザーステーションを買ったのでこれから取得できるデータをMackerelに投げるのをやった。

これをやっている人は結構いたのだけど、aerealさんがGoで実装してGAEで動かしていたのでこれを参考にしてLambdaで動かすものを作った。

で、完成物はこれ。なんとなくコンテナにしちゃったけどコンテナじゃなくてもよかったかも。

https://github.com/takaishi/lambda-go-netatmo-ws-to-mackerel

ECRにイメージをアップロードして、CloudWatchEventを使って10分に1回定期実行するように設定して完成。

ダッシュボードを作って、データが貯まるのを待ってみた。結構いい感じ。後はアラームを設定したりすれば加湿器の水切れやCO2濃度の上昇にシステム的に気づけるようになるはず。

部屋で使っている加湿器はHTTP APIを持っているので、そのメトリクスをMackerelに投げてNetatmoと組み合わせて使えるようにしたいなあ。

Podcastにチャプター情報を設定する

Podcastを配信していると、1つのエピソードが長くなった時にチャプターを設定したくなる。チャプターの設定ができること自体は知っていたのだけど、どうやるか知らなかったので調べて設定してみた。方法は2つあって、ひとつはid3タグでチャプター情報を埋め込む方法。もうひとつはPodcastの概要欄に「05:50 hogehoge」のようにプレーンテキストで書く方法。前者はApplePodcastやPocketCastsなどが対応していて、後者はGooglePodcastが対応しているようだ。

id3タグでチャプターを埋め込む

全然知らなかったのだけど、id3v2にはチャプターを扱うための仕様が存在していて、これを使う( https://id3.org/id3v2-chapters-1.0 )。どうやって埋め込むかはおそらくいろんなやり方があると思うが、自分の場合は以下のようにしてみた。

  1. Adobe Auditionでチャプターとなる箇所にマークを設定
  2. Adobe Auditionでメタデータを含めてwavファイルに出力
  3. Forecastでチャプター情報を含めてmp3ファイルにエンコード

Auditionでmp3ファイルを直接作っていたのをForecastで作るようにするくらいで、そこまで手間も増えていなくていい感じだと思う。

プレーンテキストのチャプター情報を生成する

id3タグでチャプター情報を埋め込むことはできるようになったが、問題はGooglePodcast向けのチャプター情報の生成である。「05:50 hogehoge」のような形式で概要欄に書く必要があって、たぶんYoutubeと同じ方法をとっているんじゃないだろうか。何にせよ、GooglePodcastはid3タグのチャプターを認識しないのでプレーンテキストで用意しないといけない。しかし手で書くのは面倒で、できればid3タグのチャプター情報から生成したい。

というわけで、https://github.com/takaishi/ced を作った。以下のように、id3タグを読んでプレーンテキストで出力する。

~/s/g/t/ced $ ./bin/ced ~/Projects/kimagurefm/kimagurefm-046/kimagurefm-046.mp3
 00:00:00 オープニング
 00:01:11 自分で図面から家具を作れるEMARF
 00:09:30 書籍プレゼントという形で繋がる恩について思うこと

Goでid3タグを扱うライブラリの選定や機能追加でちょっと時間がかかったが、これでチャプター生成のコストはかなり押さえられたと思う。

しかしid3タグなんで触るのは何年ぶりなのか…CDをリッピングしてた頃に触ったきりだったので懐かしくなった。