p.tatapa.org

p.tatapa.org

ると | @ruto@p.tatapa.org

プログラミング(関数型言語とJava多め)、その他言葉遊びなどを書いてます。アイコンは「腕時計」。ヘッダー画像は2-3フィンガーツリー。

イギリスで2022年にチャールズ国王の就任に関するセレモニー(街中で行われた)で抗議したことで逮捕された活動家が、数年の裁判の後、50万円程度の賠償金を受け取ったとのこと。日本のよく似た件との違いは、逮捕時にその場にいた人々(国王を支持している人たち)が逮捕に抗議したところと警察が逮捕が不法であったことを認めてる点か。

https://www.theguardian.com/uk-news/2025/mar/11/police-admit-arrest-of-anti-monarchy-heckler-in-oxford-was-unlawful

これは間違いで、T? Foo<T>()と書いた場合に、Foo<int>()はint?ではなくintが返るという意味だった。いずれにしろ困る。Func<T?, R?> Lift<T, R>(Func<T, R> f)が書けない。

C#のジェネリクス、T Foo<T> {...}というのがあったときにFoo<int?>はFoo<int>と同じ意味になる。えええええー。

https://learn.microsoft.com/en-us/dotnet/csharp/nullable-references#generics “If the type argument for T is a value type, T? references the same value type, T.”

where T structとすればいけるんだけど、そうすると値型と参照型の両方を受け取れるメソッドが作れなくなる。型変数が1つならオーバーロードさせればよいんだけど、複数あると爆発する。

早く脳内で構文木をいじる感覚をコーディングAIに入力できるようになってほしい。Windsurfは結構察してくれるけど限界がある。

C#でx == null ? null : f(x)が簡単に書ける記法欲しい。要はHaskellのf =<< xなんだけど。

アメリカは牛乳の方が豆乳より安いらしい。大規模な酪農や政府の補助金のせいらしい。

https://www.vox.com/future-perfect/402717/cow-milk-increase-america-dairy-plant-milks

そういえばカフェでも豆乳は別料金だとか、最近同額にしたとか聞いたことがある。

牛の餌(の一部)である大豆を絞るより牛の乳の方が安いのか……。 日本だと同程度か、やや豆乳の方が安い感じだよね。

アプリやウェブサイトのメニューにある“About”って名詞? それとも“Information about ○○”か何かの省略と考えるべき?

進捗だったかも。

LibreOfficeのImpressはNormalAutoFit (normAutofit)を指定すれば開いたときに自動的にフォントサイズを調整してくれるのに対し、PowerPointはfontScaleも指定しないと調整してくれない。しかしfontScaleを計算するにはフォントの情報が必要でうーむ。

PowerPointで見出し、カラーの棒グラフ、リッチテキストの表示はできています。 複数ページを出力できて、ごく簡単なレイアウトもできています。 リッチテキストは太字、イタリック、コード、リンク、太字リンク、改行ができています。 テキストがグラフに重なってしまっています。

関連情報: アメリカにおける「人道的な」処刑方法の歴史。

https://theconversation.com/death-by-firing-squad-set-to-resume-in-the-us-but-no-matter-the-method-all-means-of-execution-come-with-a-troubling-history-251579

絞首、電気椅子、ガス室、注射、銃殺、いずれも「人道的な」方法と言われたが、失敗が多発している。

[東京に一晩で600メートル雪が積もりスカイツリーの先端だけが出ている絵]

ソフトウェアのプロジェクト内の各ファイルについてライセンス情報を示すための規格があるらしい。
https://reuse.software/

ライセンスのテキストファイルをLICENSESディレクトリに置いて、SPDXライセンス識別子を各ファイルにコメントとして書くか、.licenseという拡張子のファイルを横に置くか、REUSE.tomlという名前のファイルにファイル名のパターンを含めるかで書ける。

進捗です。C#のOpen XML SDKでちまちま書いてます。

https://www.tatapa.org/~takuo/anatine-plotter/screenshot_2025-03-02.png

Windsurfを試してみてますが、時間がかかるのはOpen XMLの仕様まわりやPowerPointの挙動まわりでそこはどうにもし難い。いや、Open XML SDKを使ったコードをある程度でもちゃんと出してくれるのはすごいけど、Validator通ってるのにPowerPointで開くとなぜか修復が走るとかはちまちまがんばるしかない。

PowerPointで見出し、棒グラフ、テキストの表示はできています。 まだ白黒ですし、「テキストを入力」というデフォルトの本文欄が重なった状態となっています。 複数ページを出力できて、ごく簡単なレイアウトもできています。

たまに行く店で、旧旧札が使用不可になってた。さよなら漱石。さよなら稲造。

Minds Beneath Usエンディング一通り見て、実績もほぼ集めた。

https://store.steampowered.com/app/1610440/Minds_Beneath_Us/

良い塩梅のディストピアで、巨大企業の中途採用試験として複数の部署を経験しつつ大きな事件に巻き込まれていく。

会社は猜疑心と善意とコミュニケーション不足が悪く絡まっていろいろうまくいっていなくて、そのコミュニケーション不足はシステムや上位の権力争いによって作られているという面も大きい。

ゲームは社内や街を歩き回って会話して選択肢を選ぶのが主となる。選んだ選択肢が後々までちゃんと影響するのは丁寧。ボリューム的に大きな分岐はあまりないけど。

シナリオ後半は社会を変えることや正義に関するジレンマとか、プレイヤーがキャラクターを操作してその人生を選択することについてとかが中心で、これはこれで面白いんだけど、やはり前半の採用試験パートが良い。ある部署から見るとこうだけどあっちの部署から見るとこうで、しかしあっちの見方も実は、みたいなのが良い。あとは監視と人を試すこともテーマっぽくてゲームに緊張感が出ている。

Aider、AIに指示出すとファイルを無確認で編集してGitで自動コミットして、戻したいときはGitでやってねという割り切り感。コンテキストもファイル単位で手動で指定する(あとプロジェクト全体のアウトラインを自動生成する)感じで、なんか厳密な型情報とかエンべディングとか使って関連する部分を賢く取ってくるとかではない割り切り感。

https://aider.chat/

C#バッドノウハウメモ: もしx.Fooがnullでなければそれをfooに代入してif文のボディを実行する、というのは次のように書ける。

if (x.Foo is {} foo) { ... }

ここで{}というのは空のプロパティパターン。

https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-8.0/patterns#property-pattern

アメリカで陰謀論者が様々な要職に就いているというニュースを見ると、『博士の異常な愛情』まであと何歩だろうかと思う。軍の司令官が陰謀論を元に核攻撃を独断する話で、その陰謀論というのも水道水へのフッ素化合物添加は共産主義者の陰謀だというもの。作中の大統領はあの中ではまともな方であったが……。

昔のシリコンバレーにおける半導体製造時の有害物質による流産等の影響を紹介した記事。

https://www.theverge.com/features/611297/manufacturing-workers-semiconductor-computer-chip-birth-defect

現在では改善しているものの懸念の声もあり、少なくとも韓国では2015年時点でも危険な曝露が続いていたらしい。

https://courrier.jp/news/archives/93111/

日本の半導体産業はどうだったんだろうと思ったら、やはり被害はあったらしい。

https://ritsumei.repo.nii.ac.jp/record/1090/files/be52_2_3ueda.pdf

関連記事(1999年の記事):

https://wired.jp/1999/05/17/%E3%83%8F%E3%82%A4%E3%83%86%E3%82%AF%E7%94%A3%E6%A5%AD%E3%81%8C%E7%99%BA%E3%82%AC%E3%83%B3%E3%81%A8%E6%B5%81%E7%94%A3%E3%81%AB%E9%96%A2%E9%80%A3%EF%BC%9F/

https://wired.jp/1999/10/13/%E3%83%81%E3%83%83%E3%83%97%E5%B7%A5%E5%A0%B4%E3%81%AF%E4%BA%BA%E4%BD%93%E3%81%AB%E6%9C%89%E5%AE%B3%E3%81%8B/

でもRuby書いてからC#触ると.Whereと書くべきところで.Selectと書いてしまう。

C#は大分長い間触ってなかったけど、最近のC#はWindows, Linux, macOSの各CPUアーキテクチャ用に簡単にクロスコンパイルできてすごいね。

»