p.tatapa.org

p.tatapa.org

ると | @ruto@p.tatapa.org

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

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アーキテクチャ用に簡単にクロスコンパイルできてすごいね。

Emacs 30の変更点で気になったところ。

https://github.com/emacs-mirror/emacs/blob/emacs-30.1/etc/NEWS

モードや変数や関数の追加:

・visual-wrap-prefix-mode: 長い行が折り返し表示になったときに、折り返した行が先頭行の開始位置より左に行かないように表示する。

・kill-ring-deindent-mode: カット/コピー時にインデントを削除する。

・replace-regexp-as-diff: 置換結果をdiffでプレビューする。

・cjk-ambiguous-chars-are-wide: UnicodeのEast Asian Widthがambiguousな文字のchar-widthを設定する。

・minibuffer-regexp-mode: ミニバッファで正規表現のハイライトなどをする。

・peg: Parsing expression grammarがパースできるようになった。

・forward-sentence-function: forward-sentenceがカスタマイズできるようになった。

・static-if: バイトコンパイル時に評価されるif。

その他変更:

・lambdaを評価した際、リストではなく専用のオブジェクトが返るようになった。

・汎用比較関数value<が追加され、sortの比較関数が省略できるようになった。また、キーワード引数がいくつか追加された。

・タッチスクリーンのサポート

・Android版のサポート

・関数の型を宣言できるようになった。どちらかというと高速化のためで、間違った型を宣言するとクラッシュする可能性がある。

GNU Emacs 30.1 has been released! Congratulations to the maintainers and developers -- and thank you to them, too! Several FSF staff and board absolutely depend on it. The new version's coming soon to a mirror near you: https://lists.gnu.org/archive/html/emacs-devel/2025-02/msg00997.html

「現在のフランス国王」という概念が好きで、生まれるはずであったが生まれなかった存在しない国王には象の卵でオムレツを作ったり、誰もいない森で倒れた木の音を聞いたりして暮していて欲しい。

「現在のアメリカ国王は禿げている」は真か偽か。

健康を害しかねないほど依存的に大食いする漫画と実際の食品メーカーや外食や小売が組むのはかなり嫌悪感がある。資本主義社会においてあれが企業の望む理想的な消費者の姿であると言われればそれ以上何も言うことはないけど。

「コンニャクは鼻が本場だ」

@tadd @ikeji USBの規格でしてはいけないと規定されていることはけっこうありそう(ネゴシエーション無しに一定以上の電力を引き出してはだめとか、対応したケーブル以外には一定以上の電流を送ってはだめとか)だけど、具体的にどういうところ?

鎌田の単数形Kamaton

音声を使って効率よくテキストを操作するVS Code拡張Cursorless。

https://www.cursorless.org

各単語の上にマークが常に表示され、コマンド名のあとに「マークの色」・「マークの形」・「マークがある文字」の最大3つを言うことで操作対象を指定する(複数のマークを指定するコマンドもある)。他にもプログラミング言語の構文に基づいた対象指定などもできる。

Talonという音声によりコンピュータを操作するシステムをベースにしている。

「マークがある文字」はTalon独自のフォネティックコードのようなもので指定する。

Emacs用のcursorfree.elもあり、ベースとなる部分はライブラリ化されている。

https://github.com/ErikPrantare/cursorfree.el

https://github.com/ErikPrantare/hatty.el

@tadd @ikeji ECMAScript, POSIX, C18 (ドラフト)は拡張について比較的はっきり定めている(Conformanceの節)けど、R7RSはあまりはっきり定めていないっぽい。

@tadd ある規格に準拠しているという場合、規格で禁止されていない限り、規格よりも広い範囲を受け入れるのは一般的なのでは(CとかECMAScriptとかHTML/CSSとかPOSIXシェルとか)。
(いや、もしかしたら規格側で拡張について定めてる場合もあるかも。あるいは拡張してる場合は準拠という言葉は避けてるかもしれない)

「あるとき王に賢者を招くにはどうしたら良いか聞かれて郭隗はこう言った。『あるとき王に名馬を買うように言われた涓人が五百金で死馬の骨を買ってきてこう言った。「あるとき王に名馬を買うように言われた涓人が五百金で死馬の骨を買ってきてこう言った。『あるとき

»