0:00 ヒーリングタイム&ヘッドラインニュースを無音で観ながら寝る。 さすがに今日は疲れたようで、とっととリモコンのボタンを押して倒れる。

5:10 頃トイレ起床。毎日気が重い。最終的に 7:55 起床。 納豆とロールパンを食いながらスッキリを観る。ロールパン 5 個は多い。

区役所に行くまで少し運試し。裸単騎で混老頭和了か。

混老頭倍満

9:00 隅田公園経由で区役所へ。やりたいことは顔写真入り本人確認書類入手。 また細かいことは省くが、午前をほぼ使い切って次のようなことがあった:

  • 旧住民基本台帳カードの無効化&新カード入手できず
  • マイナンバーカードは作ろうとすると二ヶ月かかる
  • 生活保護受給者証明書入手
  • 住民票を二枚入手

11:20 押上の UFJ 銀行。通帳の印鑑確認。 目的だった通帳の入手、電話番号の空白化、および住所の更新はできず。 住所の更新が認められないというのはおかしな話だと思う。

そのままきのうのヨドバシカメラ錦糸町店の一階売り場に再訪問。 きのうの店員が接客中だったので、代わりの店員が応対。 ダメ元でさっきもらった書類を提出するが、本人確認書類としては無効だとのこと。 その際、本人確認書類のランク表を見せてもらって次回来店の参考にさせてもらう。

12:30 ハローワーク墨田でいつもの検索。求人票を三枚出力しておく。

西友やブックオフに道草しながら北上。 マルチスレッドデザインパターンなる本が少し気になる。

14:00 ビッグエー墨田業平店。192 円。

  • 大きなおむすび鮭
  • スコーンやみつきバーベキュー

スカイツリータウンに移動して書店で時間つぶしをしたり、おしなり公園上のベンチでおやつ休憩をとったりする。

15:00 オリナスに移動。テレビを観たりゲーセンに行ったりして時間をつぶす。 噴水ベンチで居眠りし始めた途端、小雨が降ってくるという間の悪さ。 夕方から MJ をプレイ。3 クレでけっこう遊ぶことができた。 頑張れば R 1800 超えるのでは。

18:35 カスミオリナス錦糸町店。486 円。

  • 豚肉と卵の炒め丼
  • 讃岐うどん

18:55 ビッグエー墨田業平店。151 円。

  • 野菜ジュース 350ml
  • レモンブール

19:10 向島に戻る。ニュースを観ながら晩飯。PC を開けてこれを書く。

20:00 電話ボックス。今日は髭アーカイブから airflow を入手。 私がビートマニアでいちばん好きな曲の一つ。

【髭アーカイブ10】airflow【2020 Rebuild】

雨が降っている。部屋に戻って入浴。

21:00 風呂から上がる。髭アーカイブを聴く。MP3 形式でダウンロードしたので、ラジオとしての完成度が高いことに満足する。 魂がこもった一曲であると言い切ってくれてうれしい。

麻雀プログラムのマルチスレッド部分の仕様を詰める。

23:40 消灯開始。きょうもドッタンバッタンして何の収穫もない一日だった。

Programming Notes

麻雀で誰かが牌を場に捨てる前後の振る舞いを明文化する。 こういうふうに文章で振る舞いを規定するのもプログラミングだ。

  • 判定スレッド
    • DiscardEvent を生成して、プレイヤースレッドに共有させる。
    • プレイヤースレッドを 4 つ start() して join() する。 手番とそれ以外とでターゲットルーチンが異なる。 それ以外スレッドから responses を得られるようにしておく。
    • responses を吟味する。
      • ロンが成立する場合
      • カンが成立する場合
      • ポンが成立する場合
      • チーが成立する場合
      • 無反応の場合
  • 手番プレイヤースレッド
    • プレイヤーがリーチ宣言済みの場合
      • 自動ツモ切りとする。
      • 前巡のリーチ宣言牌が鳴かれているならば捨牌を曲げる。
    • プレイヤーがリーチ宣言済みでない場合
      • プレイヤーが捨牌を指定する。あるいはタイムアウトでツモ切りになる。
    • DiscardEvent オブジェクトに属性として牌を代入する。
    • DiscardEvent オブジェクトを set() してスレッドを終わる。
  • その他プレイヤースレッド
    • 手番プレイヤーが牌を切るのを待つ。つまり wait() する。
    • ブロック終了後、その牌を DiscardEvent の属性として得る。
    • 待っているプレイヤーが反応できるかテストする。
      • 反応不能、またはタイムアウトの場合には responses にノーリアクションを書き込んでスレッドを抜ける。
      • キャンセルも含み、反応できる場合には responses にその反応と応答時間を書き込んでスレッドを抜ける。