hsimyu's diary

ゲームなどをします。

8/16 ラーメン

8/16 (金)

台風は何事もなく過ぎ去ったようで何より。

娘は割とずっとご機嫌ななめ。熱がある訳でもなさそうだし、単純に家にいるのに飽きた?

昼にラーメンを食べに行く。取り付けベビーチェアを貸し出してくれて有り難かった。あれいいなあ。食いすぎた。

ごはん

朝: ハムチーズトースト

昼: ラーメン

夜: 冷やし中華

IPsec

Security Architecture for Internet Protocol

IP パケット単位で改竄検知や秘匿機能を提供するプロトコルipv6 では必須とされた時期がある。

FlatBuffers

Google が開発したデータシリアライズ形式 & クロスプラットフォームのシリアライザライブラリ。

FlatBuffers: FlatBuffers

強い静的型付けでデータが表現されている上、データアクセスに parse / unpack が必要ないために速い。必要ないというか、必要になるまでパースを遅延するので速い。コードのフットプリントも小さい。もともとはゲーム開発 (cocos2d-x?) 用に作られたようだ。内部でメモリ割り当てを行わない代わりに、外で確保したメモリ領域を渡してあげる必要がある。

Protocol Buffers とかなり似ているが、速度面で FlatBuffers のが速い。その代わり、コードサイズが大きい。

スキーマファイルを書いて flatc コンパイラに食わせると、指定した言語で読み込むためのコードが出てくる仕組み。

出てきたコードを使えたばかんたんに使えるようにみえて、セットアップに必要な手順がやばい雰囲気。

最速という噂のFlatbuffersの速度のヒミツと、導入方法の紹介(Go) - Qiita

ZeroFormatter 速そう。

ZeroFormatter - C#の最速かつ無限大高速な .NET, .NET Core, Unity用シリアライザー

8/15 ひきこもり

8/15 (木)

台風が来ていたが、予想していたよりは穏やかに過ぎ去った。

娘は割と一日中ご機嫌斜め。なんでだろう。分からないなぁ……

娘の右脇腹に大きな引っかき傷を発見。おそらく昨日のみかん飛び乗り事件の時にできた傷。みかん~~~~ 頑張ってみかんの爪を切った。

ソウナンですか?を観た。女子高生がガチのサバイバルしてて面白い。まったり観られてよい。

発育指数

カウプ指数: 3ヶ月から5歳まで

ローレル指数: 小中学生

ボディマス指数: 高校生以降

VA-11 Hall-A

そういえば一昨日くらいにクリアしていた。12月の家賃払えなくてバッドエンド。

3 章が特に良かったな〜 全員「ジルと話して救われたよ」って感じのことを言ってくれるのが、よかったねえ!って保護者みたいな気持ちになっちゃうし、最後にはジル自身の後悔も昇華されてなんか明るくなってるし。

2 周目はそのうち進める。

VSCode: Remote WSL

Windows10 のバージョンを上げたらオススメされたので入れてみたら、神だった。

開発リポジトリ上で、Reopen folder in WSL するだけで開発環境が WSL 上になる。ターミナルも WSL のものになる。ビルドタスクを cl.exe じゃなくて clang 使って構成できるし、lldb も使える。WSL、ずっと前に Ubuntu 入れてみただけでずっとメンテしてないのに、体験が良すぎる。

WSL: パスワードを忘れた時

wsl.exe -u root すれば root でログインできるので、パスワードを変えればよい。

wsl でパスワードを忘れてしまった際の対処 - Qiita

ごはん

朝: 黒糖パン

昼: 牛丼

夜: 肉じゃが、かぼちゃと人参のポタージュ

VSCode: tasks.json をカスタマイズする

https://code.visualstudio.com/docs/editor/tasks-appendix に有効なオプション一覧が載っている。とりあえず reveal を silent にしたら大分煩わしくなくなった。

C++: std::allocatorstd::allocator_traits

std::allocator<T>STL で使われる標準のアロケータであった。自前の型に使うこともできる。

    #include <iostream>
    #include <memory>
    
    using std::cout;
    using std::endl;
    
    class MyClass {
    public:
        MyClass() {
            cout << "My Class is constructed!" << endl;
        }
    
        ~MyClass() {
            cout << "My Class is destructed!" << endl;
        }
    
        void Print() {
            cout << "My name is MyClass." << endl;
        }
    };
    
    int main()
    {
        std::allocator<MyClass> allocator;
        cout << "allocate(1);" << endl;
        MyClass* instance = allocator.allocate(1); // 1つだけ確保
        cout << "construct();" << endl;
        allocator.construct(instance);
        instance->Print();
        cout << "destroy();" << endl;
        allocator.destroy(instance);
        cout << "deallocate();" << endl;
        allocator.deallocate(instance, 1);
    
        return 0;
    }

C++11 から std::allocator_traits<T> が追加された。これはアロケータへのアクセスを行う中間インターフェースクラスで、各種デフォルト実装も提供する。テンプレート引数にアロケータ型を渡せば、自動的にそのクラスの実装を呼び出してくれる。実装が提供されていない場合は、デフォルト実装を使う。STLstd::allocator_traits<T> 経由で std::allocator<T> を使用するように変更された。

自作のアロケータを書く場合は value_typeallocate()deallocate() が最低限あればよい。例えば、デバッグログ付きのカスタムアロケータはこんな感じで書ける。

    template<class T>
    class MyAllocator {
    public:
        using value_type = T;
    
        MyAllocator() {}
    
        T* allocate(size_t n)
        {
            cout << "Allocate: " << typeid(T).name() << "(" << n << ")" << endl;
            return reinterpret_cast<T*>(std::malloc(sizeof(T) * n));
        }
    
        void deallocate(T* p, size_t n)
        {
            cout << "Deallocate: " << typeid(T).name() << "(" << p << ", " << n << ")" << endl;
            static_cast<void>(n); // unused 警告避け
            std::free(p);
        }
    };

メモリ使用用途をテンプレート引数として埋め込んだカスタムアロケータなども、かなり簡単に書けるようになった。

std::allocator<T>construct() destroy() address() rebind() max_size() などは不必要になったため C++17 で非推奨になり、C++20 で削除される。

Interactive Connectivity Establishment

Interactive Connectivity Establishment は NAT トラバーサルのための仕組み。

特に SIP ベースの VoIP クライアントが、リモートユーザーとネットワークの間に存在するかもしれない様々なファイアウォールを通過できるよう用いられる。また、XMPP のジングル拡張にも用いられる。ジングル拡張って何?

Interactive Connectivity Establishment

Session Description Protocol

Session Description Protocol(SDP)は、ストリーミングメディアの初期化パラメータを記述する形式の一つである。SDPは、セッションの告知やセッションへの招待、他のマルチメディアセッションを開始するために必要な情報を記述することを目的としている。

VoIP の端末間通信などに使われている。SIP (Session Initiation Protocol) の Body 部が SDP?

通常、VoIPではSDP(Session Description Protocol)と呼ばれる記述構文を使い、音声などのメディアストリーミングのIPアドレスや圧縮形式といったセッション情報を、このボディ部に付けています。

5分で絶対に分かるSIP (3/5)

8/11-14 Tsukamari

8/11 (日)

お休み二日目。昨日発見したのだが、書斎で膝の上に娘を座らせて一緒に動画を見ると、1時間弱くらい静かにしていてくれる。ママの顔が見えないと泣くのも大分落ち着いてきたかも。これを活用して妻の睡眠時間を稼ぐぞ。

ごはん

朝: ドーナツ

昼: そうめん

夜: ハンバーグ、大量の野菜

8/12 (月)

記憶が消失した。京都にパンケーキを食べにいったような気がする。

ごはん

昼: パンケーキ

夕: 焼きそば

夜: お茶漬け

8/13 (火)

夜暑くて眠れず、リビングの床で寝たら体がバキバキになって死んでいた。

今日は平日。みなさん年休を取得しているのかと思いきや、意外と出勤率7割くらいあった。その割にミーティングは全部なしだったので最高。

娘はにこにこ。つかまり立ちも安定してきた。

ごはん

朝: オールブラン

昼: チキンライス

夜: 鶏の唐揚げと天ぷらの中間のもの

8/14 (水)

仕事はまあまあ。最近試してた OSS が意外といい感じなことが分かり、運用のためのユーティリティを書いたりしてた。上手く行けば来週から実運用できそうで何より。

古いコードを書き直す作業もちまちま進んでいて、ようやく「動いてるな〜」ってところまで来た。良かった良かった。

娘は午前中機嫌悪めだったようだ。夜、寝かしつけた後にみかんが飛び乗った?かなんかで大泣き。わるい猫さんだね〜

明日から 4 連休です。台風だし引きこもるか。

ごはん

朝: ホットドッグ

昼: ラーメン

夜: すき焼き風

8/8-10 あつい

8/8 (木)

仕事はまあまあ順調。大きなタスクの CI 待ち、ビルド待ち時間に小さいタスクを潰すと CPU 空き時間がなくて進捗が出る。

娘はご機嫌。寝付きもすんなりだったが、21時ごろちょっと泣く。お腹空いてたかな?

ごはん

朝: 薄皮クリームパン

昼: 生姜焼き

夜: 鯛、なすとオクラの煮浸し

8/9 (金)

娘はぐずりぎみ。朝おむつを開いたら大量のうんちをしてて、めちゃ慌ててしまった。幸いおれのズボンが死んだだけで済んだ。

仕事は休みムード。今週は古いコードを現代的に書き換える作業をやっているのだが、思ったより巨大で辛い。この作業からなにか得られるものがあるのだろうか……。

夜の寝付きはすんなり。電気暗くしたら、ほとんど泣かずに、トントンもせずに寝たらしい。すげーな、ねんとれ。

ごはん

朝: オールブラン

昼: とり?

夜: 伊勢丹の惣菜

8/10 (土)

お休み初日。今年は年休使って穴埋めしてないので、3連休→2出勤→4連休です。混む時期に帰省するのもアレだし。

娘は本格的につかまり立ちするようになる。親の支えなしで1分以上つかまり自立するのも何度か。成長しとるね、君。

ふきんなどの洗い方

洗濯のみ、わたし流、洗い5分、すすぎ1回、脱水3分、洗剤少なめ、柔軟剤なし、漂白剤入れる

Slay the Spire

ついにディフェクトでも 3 章ボスを倒した。3人で一回ずつクリアだと心臓止まらないのか。まだまだやるか、別のゲームに行くのか迷う。VA-11 Hall-A とかもそろそろクリアしたいね。

ごはん

朝: ?

昼: 豚肉となすの肉味噌いため

夜: ↑、オクラなっとう豆腐、もやし

8/6-7 ねむり+

8/6 (火)

娘は卵黄チャレンジ開始。初日は問題なし。

ねんトレの効果が本当にすごくて、めっちゃ寝付きがよい。 「ねんトレ、慣れた布団以外で寝なくなったりするっていうしなぁ……」と思って妻共々渋っていたのだけど、そもそも慣れた布団ですら寝ない(授乳しないと寝ない)という状況だったので、もしそういうことになったとしてもマイナスにはならないはず。妻の体力も回復してきているようだし、本当によかった。

仕事は色々。改めて書き出してみると明らかにタスクの量が多くない?非協調的マルチタスク

先々週買った東京西川マットレスが届いた。寝るぞー!

屍人荘の殺人

ジャンプ+ で読んでいたが、原作読みたくなって読了。

ミステリだ!本格の方の!見取り図にも意味があるし、トリックも動機も、この舞台設定だからこそのトリッキーさで、よく上手くまとめたなあと感心。色々混ぜて詰め込んで、その上でミステリとしてしっかりまとめきったのが非常に良い。各人のアリバイ確認時のセリフがやたら詳しく説明口調だったり、犯人が自白シーンになるとやたら格調高い言葉を使いはじめたりで「うお~~おれ久しぶりにミステリ読んでる~~」という気持ちにさせてくれた。

シリーズ二巻も出てるっぽいので、そのうち読みたい。

僕ヤバ

mangacross.jp

やば!!!!!!!!!!!

みかん

おむつ箱にお入りなさるの図

ごはん

朝: オールブラン

昼: 忘れた

夜: 味付き焼き肉

8/7 (水)

仕事は一つずつ片付けていく作業。大きめの PR がマージできたので良かった。大きめのタスクの合間に小さめのタスクをしっかり潰していくようにしないと、無限に増えていくなあ……。

娘は今日も平和。おしゃべりが増えてきた。7ヶ月頃から母(父)の言葉を真似しようとする仕草が見られることもあるらしい。早く話せるようになるといいね。

Wwise

Audiokinetic Blog

Wwiseをコーダーがインプリするのは簡単で、Wwiseを使えば、オーディオエンジニアの希望通りの音をつくるために必要なコーダーの作業が、グッと減ります。

「インプリする」の響きが良かった。

ショートカットおしえてくれる君

生産性向上へのショートカット - Qiita

これいいなあと思ったら、製品の宣伝だった。自社製品の宣伝記事を Qiita に書くの、アリなの?

Argdown 記法

Argdown - 文章構造を可視化する記法

ちょっと面白いけど、直感的には書けない & 読めないので辛い雰囲気もあるなあ。

The Last Spells

これかなり好きな雰囲気を感じる。

計算モデルとプログラミング

4章まで読み終えた。 チューリング機械によって計算可能 = 帰納的関数として構成可能、みたいな感じで、結局どの計算モデルでも計算可能な関数の集合は同一だよね、という話。面白いというよりは再確認という感じ。これ、量子計算モデルだとこれらとは等価じゃない気がするな(詳しくない)

次からようやく面白いところなのでパッと読んでしまいたい。

ごはん

朝: チーズトースト

昼: おにぎり、麺

夜: 焼き鳥

8/3-5 ねんトレ

8/3 (土)

あつい。ケーキ屋さんでケーキを買いました。

娘は全体的に機嫌が良かった気がする。お座りも安定してきて(6ヶ月なのに!)、二回食もぱくぱく食べて、君はもう大人だな。

夕飯は久しぶりにクリームパスタ。95点。麺の量を多めにしたが、美味かったのでもう少し増やしてもよかったな。

ごはん

朝: チーズトースト

昼: ケンタッキー

夜: えびとアスパラガスのクリームパスタ

8/4 (日)

京都で買い物。履ける靴が1足しかないので買い足そうかと思ったが、高いのでやめた。

本格的に寝んトレを始めるかどうか悩みつつも、まだ始めないことに。準備期間としてできるだけ授乳で寝かせるのを減らしつつ、無理せず対応する期間ということになった。この一週間で様子が少しでも変わってくれるといいのだけど。

まちカドまぞく

1巻が Prime Reading で無料になってて読んで、そのまま5巻まで読んだ。シャミミシャミトレスシャミ子が一歩ずつ成長する様子が良すぎる。だんだん賑やかになってきて、読んでて楽しい。小倉さん一体何者なんだ。

ごはん

朝: フルーツロール

昼: 冷麺

夜: 塩麹鶏肉やさいいため

8/5 (月)

準備期間……といいつつ妻が頑張ってくれて、夜ひたすらに授乳なしで寝かしつけトライ。朝は 6 時間くらい授乳間隔が空いた上、日中授乳での寝かしつけなし、昼寝したら起きずに3時間、夜も10分くらいトントンで寝るという、大きな成果が出た。希望の光がさしてきている。

仕事はそこそこ快調。とはいいつつあまり実装はしてない。これまでやってきたことの片付けが多かった。下回りをしっかり支えるぞ。

トマト 中のタネとドロドロを除外して裏ごし

ぶろこり 茎を切り落としてすり潰し

ギルティギア新作!!!!!!!!!!

ごはん

朝: オールブラン

昼: 揚げたもの

夜: すだちぶっかけうどん

7/31, 8/1-2 二回食

7/31 (水)

娘が久しぶりに4時間半連続で寝てくれて感動。ありがてえ〜

仕事は順調だが、ミーティングが多くて作業時間が少ない。減らしたい。

娘は離乳食をばくばく食べた。二回食はまだ。昨日あたりから離乳食とか眠りとかの様子が少し変わって、新しいフェーズに入った感がある。夜たくさん眠ってくれること、それだけが私たちの望みです。

ごはん

朝: 焼きそばパン

昼: うなぎ

夜: ミートソースパスタ

8/1 (木)

娘の眠りは今まで通り。願いは届かず。

仕事は割と順調。お盆前に色々と片をつけたいなあ。

娘は今日から二回食。しっかり完食したそうで良かった。

ごはん

朝: チーズトースト

昼: うどん

夜: 肉じゃが、真鯛ポワレ

8/2 (金)

娘、夜めっちゃ起きる。(泣)

朝おむつを換えていたら、おしりを拭こうとした瞬間にうんちがぷりぷり。めちゃくちゃ混乱してしまって「うんちが、うんちがー!うんちがー、でちゃったー!うんちがー」って連呼してしまった。人間は混乱する。

仕事はまあまあ。来週は集中して 1 タスクをがーーーっと進めて終わらせる予定。

夕方、妻からうんち漏れ災害の速報を受け取りコアタイム終了即退勤。うんちな一日だ。

夜寝付きが悪く、大泣き。妻が辛抱強く対応。ありがとうございます。

ごはん

朝: オールブラン

昼: 麻婆豆腐

夜: イオンの餃子(意外とうまかったので悔しい)

7/29-30 ご

7/29 (月)

朝から夜まで頭がボーとし続けていた。

仕事はいろいろ。抱えているタスクが増えすぎていて、コンテキストスイッチのコストが辛い。一つ一つ片付けるんや。

娘はかなりご機嫌。前向き抱っこしやすい抱っこ紐(というよりヒップクッション付き腰ベルト)が届いたのだが、結構心地いいのかも。おしゃべりも活発

ごはん

朝: オールブラン

昼: 冷やし中華

夜: 豚しゃぶサラダ

7/30 (火)

仕事は最近やっていたやつが徐々に片付き始める。明日残りのやつも終わりへのアクションを実行して一段落だ。

娘はご機嫌だったらしい。離乳食をもっと食べたがっているような様子も見せ始めた。 開始から一ヶ月経ったし、小麦アレルギー疑惑以外は順調なので明日から二回食へ。

読書会活動 to ごらく部

七森中ごらく部とは一切関係のない活動です。

  1. 毎月課題図書を決めるのはコストが高い上に誰も読まなかったので廃止。自由読書制へ
    • 毎月まとまった読書感想文を書くのではなく、非同期に感想を Discord へ投稿
    • 毎月末に振り返りだったり来月なにを消費するかを共有する
  2. 読書のみだけではなく、ゲーム・映画などの感想も投稿 OK に
    • 参加しやすさ向上を狙う
    • 毎月の振り返りで「今月自分がどんなコンテンツを消費したのか」を知れるので意外と楽しい
      • 他の人のコンテンツ消費ログを見るのも楽しい
    • Closed な場所でやることで、Twitter に投稿しにくいような感想も書き放題

という改革をした。今月から運用する。すでに大分反応がいいのと、割と気に入ったので続きそう。

あと、Slack の分報を真似して個人チャンネルに投稿する形式をやってみている。会社じゃないから気楽に書けるし、意外とこれはアリなんじゃないか。

Forager

『Forager』Nintendo Switch/PS4版が7月30日に国内配信。とにかくクラフトしまくる2Dオープンワールドゲーム | AUTOMATON

待ってたぜ

Users hate change

https://gist.github.com/sleepyfox/a4d311ffcdc4fd908ec97d1c245e57dc

「ユーザーのより良い体験のために」既存のものを意味なくリデザインしたりするのはやめろ、みたいな意見。

The idea that it is impossible to support more than one version of a product presupposes that a) work is required to upgrade both versions simultaneously, and b) that the esxisting product isn't stable i.e. still many bugs being surfaced. We have many known solutions for the second malady (q.v. software crafting) but the first problem overlooks a simple strategy: Extensible Product Portfolios (EPP). The idea of EPP is thus: when you have a product that works, and an existing customer base - freeze it. Instead of a major redisgn because 'Material Design is so 2014' simply leave the product the way it is, bar minor BAU and bug-fix work. Instead devote effort into building a new, next-generation product that addresses (hopefully) a new customer segment, and allow existing customers to add this new product to their portfolio for a incremental fee. This allows existing customers to self-select into a new product, protects revenue and reduces the risk of existing product customers leaving due to badwill.

ここがコア。今動いていて、ユーザーがいるプロダクトがあるなら、そこで Freeze する。意味もないリデザインを行う代わりに、不具合修正などのサポートを続ける。新しいユーザーのための次世代のプロダクトに注力する代わりに、今使ってくれているユーザーが新しいプロダクトも使ってくれるように(そしてお金を払い続けてくれるように)サポートする。

同期プリミティブの復習

https://www.tokumaru.org/techterm/primitive.html

https://docs.microsoft.com/ja-jp/dotnet/standard/threading/overview-of-synchronization-primitives

  • Mutex
    • 排他ロック
    • プロセス並列にも使える(名前付きミューテックス
    • 明示的に解放する必要がある
  • Semaphore
    • 排他ロック
    • プロセス並列にも使える(名前付きセマフォ
    • スレッドアフィニティがないため?リソース取得とは別スレッドでも解放できる
    • おはじきを取り合うシェフ
  • Monitor
    • 使いやすい排他ロック
    • Enter と Lock のタイミングが別。リソースマネージャー自体に排他アクセスするイメージ
    • レンタルビデオ屋の入店権を取り合って、リソース自体はゆっくり取得できる
    • 明示的に解放する必要がある
  • SpinLock
    • Monitor と似ている
    • 定期的に確認する

ごはん

朝: チーズトースト

昼: 棒々どり

夜: からあげとか

7/27-28 睡眠 Improvement

7/27 (土)

台風なので午前中に買い物したあとは引きこもり。

昼過ぎに妻が歯医者で1時間ほど不在にしたが、抱っこひもに入れてゆらゆらしてたら神がかり的なタイミングで寝てくれたので気づかれることなく終わった。立ちながら Slay the Spire をすすめることができた。

Slay the Spire はサイレントのナイフビルドに挑戦しているが、レリックの引きに依存しすぎて難しい。序盤でナイフ用レリック拾えなかったら諦めるのが良さそう。

夜まっくらにしないで保安灯をつけたまま寝てみる作戦を遂行。親の姿が見えなくて泣いちゃうのを軽減できたりしないかな。

ごはん

昼: 牛丼

夜: ねばねばうどん、ミニ牛丼

7/28 (日)

昨夜は結局3回ほど起きた。 ただ、そのうち 2 回は外的要因(おれが書斎でものをぶつけた音 & 自動給餌器の音)の可能性が高いので、今夜も試してみようかな。

台風も去ったので京都へ行く。伊勢丹マットレスとオーダーメイド枕を注文した。 マットレスはダブルがなくて取り寄せになったので、届くのは来週。楽しみだな〜 枕は今日から使用する。

今年頭くらいから(娘が生まれてから)活動停止になっていた読書会活動部の活動内容改めを検討。娯楽消費活動部として新生する。

症状チェッカー

症状チェッカー

精度が気になる。

ごはん

朝: ナイススティック

昼: 鴨南蛮そば

夜: 冷やし中華

7/25-26 ドタドタ

7/25 (木)

仕事は昨日の波乱の余波でドタバタ。

娘はホワイトソースでアレルギーっぽい症状を発症。湿疹が少し出ただけだが、小麦が怪しいかもとのこと。小さい頃に食物アレルギーがあっても消化器官の発達に伴って治まる例もあるようなので、慎重に対応していきたい。

娘が割と早めに寝て、少しゲームをする時間が取れた。キアイレゾナンスと Slay the Spire をやった。Slay the Spire、開幕の選択肢で「倒した敵が持ってた毒を他の敵に移動する」レリックを手に入れて、開始すぐに有毒ガスも手に入れたので勝った!!!と思ってたが、ブロック足りなくて死んだ。ぬーん。デッキ圧縮が足りないのかも。序盤で良い選択肢を手に入れた時はカードを増やさないのも大事。久しぶりに 1.5h ゲームしたら、目がしぱしぱする。目薬買おうかな……。

ごはん

朝: オールブラン

昼: なんだろう

夜: すし的なもの

7/26 (金)

昨日一区切りついたと思ったら火種がわいてまたドタバタ。ぐえー。

娘ははいやいやー

妻がだいぶ疲れているので、明日から寝室で一人で寝てもらう作戦を開始することに。できるだけ夜中の授乳なしで抱っこで乗り切るぞ〜

土日に東京西川マットレスを試しに行く予定だったが、明日は台風が来るようなので延期。日曜日にいけるといいなあ。

ベビーサークル 176 cm だとソファと合わせたときに微妙に入らない 再検討

ごはん

朝: オールブラン

昼: たべもの

夜: イオンの惣菜