20250220 下を向いて歩く

7:50頃起床。ゴミ拾い散歩(柴ーズ)、朝食、ノー体操、労働(特上)、ジム(軽、54.9kg)、夕食、勉強会、個人開発、歯磨き、今。

予告通り散歩しながらゴミ拾いをしてみた。やってみると意外と難しい。まず地面のゴミを探しながら安全に歩くのが難しい。そしてゴミに集中して歩いていると本来の目的である頭を空っぽにするというのが達成できない。タバコの吸い殻がとっくに鎮火しているのに持ち帰ってからもずっと臭う。まあときどきやればいいかな。

最近の労働は出勤から退勤までチョコたっぷりだが、余裕が失われているのであまり良くない。

個人開発はパケットキャプチャにした。というのももう一つの候補だったRustでGUIは、まず日本語入力が出来ないフレームワークは足切り、そしてせっかくRustなのにHTMLのラッパーみたいなやつ書かされるのも意味ねえなと思ったら選択肢がどんどん減ってしまいやる気をなくした。

とりあえずChatGPTに聞いてみるとpcapかpnetを使えということで、pnetの方が抽象化が親切で易しそうだったのでこちらを使うことにした。NetworkInterfaceからdatalink::channelでデータを引いてみるとEthernetPacket(このレイヤーだとパケットじゃなくてフレームじゃない?)が取れた。

https://www.infraexpert.com/study/ethernet4.html を見ながら、とりあえず何か意味のある情報を知りたくてget_ethertype()を取ってみると2048とたまに2054が出てきた。 https://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xhtml によるとそれぞれIPv4とARPらしい。ARPってこのレイヤーだったんだ…(記憶なし)。

そう言えばDota2に巨大アップデートが来て、僕がよく使っているDazzleにも大きなreworkが入った…のだが、Dazzleはいつもそうなのだが、ヒーローの本来の持ち味がなんだったがさっぱりわからない大胆というか無軌道な変更が入った。それがすごく弱い。しかもその変更が無限財産増殖グリッチに悪用でき、悪人が使うと強いというもうわけがわからないことになっている。

20250219 失敗は未定義

7:30頃起床。散歩、朝食、ノー体操、労働(上)、昼食(キッチンオリジン)、ジム(強、54.9kg)、夕食、勉強会(長)、歯磨き、今。

せっかく毎日散歩しているならゴミでも拾うかと思い、ゴミ拾い用のトングを買いに行った。それが昼。キッチンオリジンでカニクリームコロッケを買って帰ったのだが、家にソースがなくてちょっと締まりのない昼食だった(でも醤油もそんなに悪くなかったよ)。水菜のサラダは調理が楽なうえにカルシウムが豊富で結構いい感じ。

ジムはインターバルを伸ばして強度x回数を向上させた結果前より少しだけ力が増している。ジムで有酸素漕ぎながらアニメを見ていると、周囲の視線が気になってニヤついてはいけないという意識が働き、それが逆に笑いを増幅してしまうのでなぜか満足度が向上する現象が起きている。情報の内容だけではなくコンテクストも重要ということだ。

Rustで作っていたちょっとしたCLIツール(諸事情により非公開)が完成したのでもう一発Rustでなにかやってみたいなと思っている。もうwebサービス(というかHTTPリクエストとDBを中継するコントローラ)はどれだけやっても大した経験値にならないだろうしRustの得意分野でもなさそうなので、GUIデスクトップアプリケーションか、wiresharkの真似事みたいなやつをやってみたいなと構想している。してはいるのだが、平日に個人開発の時間を捻出するのはなかなか難しい。30代はpassionではなくdiscipline定期。ルーティンを堅持しながら少しずつ整理していきたい。

この前友人に「今後の人生のライフプランは?」と聞かれて困った。特にない…。目標がないということは失敗も未定義なので安心(?)なのだが、そういう人生を送っていることに後ろめたさがないわけでもない。でも「ライフプラン」的な何かを達成しなくても毎日求められている仕事を能力を発揮して解決し、ほかほかご飯食べてあったかい布団で眠れること自体が十分成功であるとも言えるし、それに「満足」できることは有益な能力だ。

オチはない。

20250125 子供の活躍

9時頃起床。病院(頭)、薬局、朝マック、ダンス見物、展覧会、昼食、ジム(風呂のみ・相撲観戦)、夕食、夕寝、個人開発、今。

反省

昨日の日記は良くなかった。日記というのは、やることが全部終わって寝るだけの状態でchill…の機運に包まれながら一日のことを振り返り、その出来事のあったときの生のフィーリングとそれを俯瞰する執筆時の冷静さがブレンドされてこそ味わい深くなるし、自分にとっても意味がある。

日記

昨夜は明日が休みなので…と夜ふかししてしまったが、通院があるのでそこそこ早起きは必要で睡眠不足だった。ここ2週間ほどは規則正しく十分な睡眠を取ることに慣れていたので今日はずっと微妙な体調だった。

処方箋を持ってショッピングモール内の薬局へ。薬局は土曜午後になると高くなるので午前のうちに。でもみんなそう思っていたのか混んでいて40分かかると言われたので、モール内でブラブラして時間を潰す。ふとマクドナルドが目に入って、朝食を食べていなかったのでバーガー1つで朝マックとした。味は普通。しかしマクドナルドはそれしか注文しない人間にすごい量の紙を出してきて(敷くやつ、包むやつ、拭くやつ)アメリカンだ…となった。

薬を受け取り帰ろうとすると、モール内の広場で子どもたちがダンスしていた。近くのスクールらしい。さすがにスクールで本格的に習っているだけあってみんな照れがなく、堂々たる身体表現だった。ダンスを人と合わせるのは音楽より難しそうに見えた。音楽は出ている音さえ合っていれば身体動作がきっちり一致する必要はないのだが、ダンスは拍のポイントで同じポーズをするだけではなく、ポーズからポーズの間の遷移も同じf(t)で表現されなければならないからだ。

帰り道にちょっとした美術館があり、地域の中学の美術部の合同展覧会をやっているとのことだったので見てきた。率直に言うと中学生の絵というのは子供らしい素直さ・独創性がない一方で大人らしいテクニック・思想性もまだ身につけておらず、「うーん、中学生っぽい!」と感じるものが多かった。まあそれはそういうもので、自然なことだと思う。しかし素晴らしい熱意・センス・工夫あるいはトンチを感じる作品もあった。

活力のある子どもたちに刺激を受けて、僕もやっていき!が高まっているのでとりあえず手持ちのRemix製のwebアプリケーションは一通りv3フラグに対応した。Remixはまだ色々進化しようとしていてすごいなあ(職業ソフトウェアエンジニアとしては怖いけど)。Rustで作っているちょっとしたCLIツールもclapなるオーギュメントパーサーを導入していい感じに進化させている。今のところ細かいメモリを扱う処理はなく所有権周りの機能は活用していないが、そういう人間にとってもマクロ機能がとても便利だ。RustのstructはTypeScriptのobject/type/interfaceに比べるとやや取り回しが悪いかなという印象だが(たとえばネストで定義できない)、素のstructにマクロでいろいろな機能を付与していける(たとえばserdeのrenameとかclapのlong/shortとか)のは本当にすごい。Goのstruct tagも面白い機能だなと思ったけどマクロの使用感はその上を行っている。作る方は大変なんだろうけどな〜。

真・三國無双2

ここ数日、『真・三國無双2』の動画を見るのがマイブームになっている。僕が小学生くらいの頃に友達の家でよくやった(僕は所有していない)。24年前に発売されたゲームなのだが、現代まで続くシリーズの礎となった偉大な作品でもある。

大昔のゲームに対する深い知識と研究、そして投稿動画が2本なのに妙に上手い動画編集。何者なんだろう。YouTubeの世界は広いなあ…(そして最近暗号の勉強をしているので、疑似乱数への対処法を見るのは面白い)

豆苗

もう「刈って」いいか…?←刈りました

20250116 日記

7:30起床。散歩、朝食、掃除、労働(普通)。休憩、ジム(相撲観戦)、退勤。

Dota2(負)、夕食、勉強会、歯磨き、ゴミ出し、睡眠薬。

朝散歩で寒い思いをすることで暖かい部屋への感謝を持って労働開始できる。が、敢えて寒い思いをするのはサウナerの冷水浴と同じなのかもしれない。帰宅して手を洗うときは、わざと水を流しながら隅々まで石鹸をつけることで温水に切り替わるのを待つ。クソくだらない資源の無駄だ。

執筆メモに「root」と書いてあるのだが意味がさっぱりわからない。マジで何?

次の勉強会題材は『暗号と認証 しくみと理論がしっかりわかる教科書』にした。友人に昔貰ったものだ。その友人の性格からしていかめしい本かと思ったら本当にしっかりわかりそうな親切な教科書だった。

個人開発(僕は勉強会と個人開発は内容を分けることにしている)では今はRustで簡単なwebスクレイピングをしている。Rustは型システムが充実しているしAIもRustが得意なのでスラスラ進む。しかしserdeで型なしjsonをパースするときに、jsonのフォーマットは同じなのに内容によってStringがnull扱いされて失敗することがあり、謎だ。