7:00 起床。外出して隅田公園、浅草へと進む。なんか蒸し暑い。

西友に入店するが、どうにも食欲がないのでいったん店を出る。悪い癖が出た。 松屋に行くとオッサンでいっぱい。安い弁当屋はまだ温存しておきたい。 コンビニに寄ってみたりして、結局西友に戻る。そんな気がしていた。

7:50 西友浅草 ROX 店で朝食を調達。271 円。近所の弁当屋の弁当のほうが安くついた。

  • 白身タルタルロール
  • おにぎりおかか
  • おにぎり梅

真っ直ぐ向島の部屋に向かう。テレビを点けておにぎり等を食う。8:50 落ち着く。

  • paste のマニュアルをまず読む。
  • 今頃気がついたが、Info のキーバインドは Emacs のそれを派生して定義されている。
  • --block-size のマニュアルを読む。
    • kB はキロバイトで $10^3$ バイトの意。
    • k, K, KiB はどれでも acceptable で $2^10 = 1024$ バイトの意。
      • これをキビバイトという。
      • K だけは特別(大文字と小文字を構わない?)だが、 SI prefix は小文字の k を、ISO/IEC prefix は Ki をそれぞれ用いる。 伝統的な使い方と POSIX とは小文字の k を KiB の意味で用いる。
    • MB はメガバイト。$10^6$ バイト。
    • M, MiB は $2^20 = 1048576$ バイトでメギバイトと読む。
    • GB はギガバイトで $10^9$ バイト。
    • G, GiB はギビバイトと読み $2^30$ バイトを意味する。
    • この要領で G 以降は T, P, E, Z, Y と続く。
      • 10, 2 に対する指数は 3, 10 ずつそれぞれ大きくなる。
      • ギガ以降の呼び方はテラ、ペタ、エクザ、ゼッタ、ヨッタ?

12:20 曇天になる。まだダラダラドキュメントを読む。 麻雀の練習をする。少し眠る。

13:20 外出。今日はスカイツリーの一階回廊を通行する。涼しくて良い。

14:05 ビッグエー墨田業平店でおやつを調達。219 円。

  • カラムーチョ
  • ソーセージパン
  • コッペパンブルーベリー

オリナス錦糸町ベンチでおやつ休憩。

錦糸公園、アルカキット錦糸町を廻るが人が多くてまともに堪能できず。 いつものオリナス錦糸町に戻る。またぞろベンチで休憩。 なぜか今日付けの日経が置いてあるので読ませてもらう。

15:55 カスミオリナス錦糸町で晩飯を買う。328 円。バンバンジーサラダ。

16:25 再びビッグエー墨田業平店で食料を調達。147 円。

  • バナナ (4)
  • 小粒納豆 (3)

向島の部屋に戻る。郵便受けに見慣れぬ黄色いはがきが投函されている。 東向島郵便局から氏名と住所がマッチしているか判定できないから、代わりのこのはがきにマルを書いて返事をくれとある。 表札を出していないから配達人は当然困惑するのは理解できる。 しかしこの問い合わせは意味があるのか。ニセ住人が成りすましてマルを付けたらどうするね。 とりあえず水戸街道のポストに投函して部屋に戻る。

17:15 PC を持って電話ボックスへ行こうかと思ったが、明るいので見送ろう。 テレビでドラえもん、報道特集などを観ながらプログラミング。 麻雀の一局のフローをいきなり実装するのは無茶なので、設計するか別のところを組むか。 さっき散歩のときに思いついた一面子一雀頭麻雀でもやるか。

ケロロ軍曹を観ながら麻雀の練習をする。小三元見逃し同巡フリテンでロンできず。

同巡フリテン

と思ったら中がまだ山にいてくれて大三元ツモ。 これが MJ プロ卓東風戦だったら小三元ロンでアガっていると思う。

ツモ

19:00 雷が鳴り始める。晩飯。バンバンジーサラダと豆腐とバナナ。 向島はスカイツリーが近所にあるから、住宅地への落雷の心配はないだろう。 構わず PC をやる。

19:40 傘も持って電話ボックスへ移動。インターネット作業。

今日はノルマがないので Cygwin の更新をしたり IPython と Pytube の更新をする。 YouTube から Pytube を用いた自作スクリプトで何かダウンロードしようとしたらエラー。 かんたんな検索により pytube3 に差し替えて、ロガーや属性アクセスを回避してなんとか動くようにする。

向島の部屋に戻って入浴。あまり使っていないはずの便器がよく見ると汚れている。 ブラシはあるので洗剤くらいは保護費から支出するか。

21:00 風呂上がり。さっきのダウンローダーの修正をちゃんとやる。 ここはインターネットがないのでテストは御無礼。

Passing Breeze の末尾が一分くらい無音なので VLC Media Player でカットする。 シークを 0 にしてから録音ボタンを押して再生ボタンを押すのが正しい手順? 試行錯誤の末、Ctrl+LeftArrow で 0 に合わせた瞬間 REC ボタンをクリックするのがましと判明。

23:30 info tee を読む。なるほど。同じデータを二度読み込むような処理に便利なのか。

Programming Notes

さっきインストールした pytube3 のコードで次のような処理がある。 よく不具合の生じる title 周りの処理なのでユーザーも調べる必要がある。

# Fix for KeyError: 'title' issue #434
if "title" not in self.player_config_args:  # type: ignore
    i_start = self.watch_html.lower().index("<title>") + len("<title>")
    i_end = self.watch_html.lower().index("</title>")
    title = self.watch_html[i_start:i_end].strip()
    index = title.lower().rfind(" - youtube")
    title = title[:index] if index > 0 else title
    self.player_config_args["title"] = unescape(title)

これが元々 Pytube のオリジナルコードなのか、誰かがオリジナルコードを修正したのか調べていないが、 その人にはまずは正規表現を習うことを強くお勧めする。

BeautifulSoup などの HTML/XML 解析パッケージを使えるようになるとなおいい。