ときどきの雑記帖 RE* (新南口)
五万節
2万人
同じようなタイミングで。 描く人は1万人到達のニュースを見たような。と思って調べてみたら5月の半ばだった。 んで一か月前くらいに1万5千人突破と。
- 安彦良和さんの「企画展」入場者数が1万5,000人を超える! 青森県立美術館(2025年6月4日掲載)|青森放送NEWS NNN
- 「安彦良和」展入場1万人/青森県立美術館|本社事業,文化・歴史|青森ニュース|Web東奥
ところで東京での会場が松涛美術館てのは既出の情報だったっけ? (2万人突破の記事の末尾)
同展は今後、苫小牧市美術博物館(7月12日~)、釧路市立博物館(9月13日~)、渋谷区立松濤美術館(11月18日~)などでも開催される。
AI?
この人、少し前から毎日のように長めの記事を投稿していて qiita.com[B!]新着記事・評価 - はてなブックマーク それなりにブックマークつけられたものもあるんだけど、 読んでいてひっかかるところの多い記事ばかりだよなあ と思っていたら、 [入門] C/C++ 知っておくべきポインタの由来 ISO標準のメモリモデル徹底解説 #初心者 - Qiita の元ネタ(のひとつ)を 偶然見つけた、
記事中の例えば
注: C23ではregisterキーワードは無視されるようになったため、例から削除しました。
移植性の注意: この記事の元の例では下付き文字を含むUnicode識別子12を使用していましたが、 C23で正式に許可されても、既存ツールでは問題が生じる可能性があります。 実務では ASCII 代替名も用意することを推奨します。
というコメント、なぜこれが入っているのか理解し難かったのだけど
- The provenance memory model for C - Jens Gustedt’s Blog
- The provenance memory model for C : r/programming
- The provenance memory model for C | Hacker News
の記事中にあるプログラム片に
void recip⁺(double* aₚ, double* řₚ) {
register double a = *aₚ;
register double ř = *řₚ;
for (;;) {
register double Π = a*ř;
if ((Π⁻ < Π) && (Π < Π⁺)) {
break;
} else {
ř *= (2.0 - Π);
}
}
*řₚ = ř;
}
というのがあって、これは問題の記事の
// 逆数の近似計算(ニュートン・ラフソン法)
void recip(double* ap, double* rp) {
for (;;) {
double prod = (*ap)*(*rp);
if ((0.999999 < prod) && (prod < 1.000001)) {
break;
} else {
(*rp) *= (2.0 - prod);
}
}
}
と関数名や引数に類似がありそう。かつ、register
がついていたり
変数名にASCIIの範囲を超えたものを使っていたり。
ひょっとして翻訳記事?とも思ったのだけど
// 整数への変換
uintptr_t addr = (uintptr_t)p; // 露出![^11]
この辺りに対応するものはなし。 ということで、AI使った記事では? と思いつつ確認のため問題の記事をみると
おそらくAI生成によるポストだと思ったうえで釣られるけど…
というコメントがついてた。
あと内容は脇に置いといて
provenance
、
explosure
、
synthesis
は(まだ)定訳はないだろうから、
それぞれ「由来」「露出」「合成」
としちゃうのはいかがなものかと
- PD ISO/IEC TS 6010:2025 Programming languages. C. A provenance-aware memory object model for C
- ISO/IEC TS 6010:2025 - Programming languages — C — A provenance-aware memory object model for C
- A Provenance-aware Memory Object Model for C n3005
- Provenance-aware Memory Object Model for C
- 旧石器時代のポインタをご利用の皆様へ ~provenance入門~ #C++ - Qiita
- A Provenance-aware Memory Object Model for C [pdf] | Hacker News
- A Provenance-aware Memory Object Model for C p2318r0.pdf
WG 14
なんか6/29にたくさん
N3624 2025/06/29 Uecker, Earthly Demon: Accessing a Member of an Atomic Structure or Union (Updates n3564) |
N3623 2025/06/29 Uecker, Earthly Demon XV: Definition of Main (Updates n3562) |
N3622 2025/06/29 Colomar, Allow calling static inline within extern inline |
N3621 2025/06/29 Colomar, Restore the traditional realloc(3) specification |
N3620 2025/06/29 Colomar, add strspn(), strcspn(), wcrspn(), wcrcspn() |
N3619 2025/06/29 Colomar, add [w]memzero(), [w]memzero_explicit() |
N3618 2025/06/29 Colomar, add strchrcnt(), strchrscnt(), wcschrcnt(), wcschrscnt() |
N3617 2025/06/29 Colomar, add memeq(), wmemeq() |
N3616 2025/06/29 Colomar, add stpspn(), stpcspn(), wcpspn(), wcpcspn() |
N3615 2025/06/29 Colomar, add stpcpy(3), wcpcpy(3), mempcpy(3), wmempcpy(3) |
N3614 2025/06/29 Colomar, (potentially) reserve stp*(), wcp*(), memp*(), wmemp*() |
N3613 2025/06/29 Colomar, add strsfx(), stpsfx(), wcssfx(), wcpsfx() |
N3612 2025/06/29 Colomar, add strpfx(), stppfx(), wcspfx(), and wcppfx() |
N3611 2025/06/29 Colomar, add streq() |
N3607 2025/06/29 Gustedt, Retire the concept of consume operations |
N3606 2025/06/29 Gustedt, Clean up atomics, non-normative changes v4 |
N3605 2025/06/29 Múgica, Generic replacement (v. 2 of quasi-literals) |
N3602 2025/06/29 Múgica, Phrase semantic boolean operators as if bool, v. 1.1 |
N3601 2025/06/29 Meneide, Additional Half-Open case Range Syntax, r1 |
N3600 2025/06/29 Meneide, Integer Constant Expression-Initialized const Integer Declarations are Implicitly constexpr, r2 |
N3599 2025/06/29 Douglas, Lingua franca Results |
N3598 2025/06/29 Thomas, Proposal for C2Y - 7.3.9.2/7.3.9.6 - Make text consistent between creal & cimag |
新刊近刊
prgprog
New from Pragdave
— PragmaticProgrammers (@pragprog) July 1, 2025
It’s time to make our lives simpler.
link in 🧵 pic.twitter.com/0B5T3hLin8
Dave Thomasの新刊? 待ってれば訳されそうな気もするけどさて。
ぷよぷよ
過去に何度かバズっていた「ぷよぷよプログラミング」、実は私がセガさんからのご依頼を受けてゲーム部分のソースコードを書いておりました。
— Takuo Kihira (@tkihira) July 2, 2025
この度、全面的に書き直し書籍化出版が決まりました。来月 8/8 発売、全ソースコードが本に記載される野心的な構成です。是非お手にとってご確認ください! https://t.co/YLbu7vZCTy
これはおもしろそうな
プログラマ脳を鍛える至高の問題集
C++だけじゃなくて、JavaScriptのものも出るらしい
秀和
秀和システム 債務超過で出版事業継続困難に 他社に譲渡へ-The Bunka News デジタル https://t.co/fhHjZKbGsR
— 文化通信社@出版・新聞業界向け専門紙『The Bunka News』 (@bunkanews) July 1, 2025
ありゃあ。 秀和と言えばはるかな昔に本を書かないかと お話をいただいたことが。
FORTRAN Compiler on IBM 704
よくある(?)説明だと、
+ → )))+(((
* → ))*((
** → )**(
のような例が挙げられているのだけど、これだと
- 単項マイナス
- 元のソースにあるカッコ対
- 関数呼び出し(の引数を区切るカンマ)
なんかをどうするかの情報がない。 でまあとりあえず結論だけ書いておくと (後で詳しく書けるといいなあ)
- → -(((
( → ((((
) → ))))
のように変換する(以前書いた「なぞのスクリプト」でもこうしている)。
4. Reduction of Expressions
辺りを
T1. Δ<sub>i</sub>ΣX → Δ<sub>i</sub>+(*(**(●ΣX if Τ<sub>1</sub>(Δ<sub>i</sub>) ∈ {=. (}
T2. Δ<sub>i</sub>±ΣX → Δ<sub>i</sub>±(*(**(●ΣX if Τ<sub>1</sub>(Δ<sub>i</sub>) ∈ {=, (}
Δ<sub>i</sub>)))±(*(**(●ΣX, otherwise
T3. Δ<sub>i</sub>*/ΣX → Δ<sub>i</sub>))*/(**(●ΣX
T4. Δ<sub>i</sub>**ΣX → Δ<sub>i</sub>)**(●ΣX
T5. Δ<sub>i</sub>(X → Δ<sub>i</sub>●(X if Τ<sub>1</sub>(Δ<sub>i</sub>) ∈ β<sub>Φ</sub>
T6. Δ<sub>i</sub>)X → Δ<sub>i</sub>))))X
T7. Δ<sub>i</sub>,X → Δ<sub>i</sub>))))●(X
T8. Δ<sub>i</sub> -| → Δ<sub>i</sub>)))
Let
Φ = -XYZF(A, B*C**(-D))/E+F
. Then,
N<sub>0</sub>(Φ) = Δ<sub>0</sub>Φ -|, with Δ<sub>0</sub> standing for =
N<sub>1</sub>(Φ) = Δ<sub>1</sub>(A,B*C**(-D))/E+F -|, with Δ<sub>1</sub> = Δ<sub>0</sub> - (*(**(●XYZF
N<sub>2</sub>(Φ) = Δ<sub>2</sub>A, B*C**(-D))/E+F -|, with Δ<sub>2</sub> = Δ<sub>1</sub>●(
N<sub>3</sub>(Φ) = Δ<sub>3</sub>,B*C**(-D))/E+F -|, with Δ<sub>3</sub> = Δ<sub>2</sub>+(*(**(●A
N<sub>4</sub>(Φ) = Δ<sub>4</sub>B*C**(-D))/E+F -|, with Δ<sub>4</sub> = Δ<sub>3</sub>))))●(
N<sub>5</sub>(Φ) = Δ<sub>5</sub>*C**(-D))/E+F -|, with Δ<sub>5</sub> = Δ<sub>4</sub>+(*(**(●B
N<sub>6</sub>(Φ) = Δ<sub>6</sub>**(-D))/E+F -|, with Δ<sub>6</sub> = Δ<sub>5</sub>))*(**(●C
N<sub>7</sub>(Φ) = Δ<sub>7</sub>-D))/E+F -|, with Δ<sub>7</sub> = Δ<sub>6</sub>)**(●(
N<sub>8</sub>(Φ) = Δ<sub>8</sub>))/E+F -|, with Δ<sub>8</sub> = Δ<sub>7</sub>-(*(**(●D
N<sub>9</sub>(Φ) = Δ<sub>9</sub>)/E+F -|, with Δ<sub>9</sub> = Δ<sub>8</sub>))))
N<sub>10</sub>(Φ) = Δ<sub>10</sub>E+F -|, with Δ<sub>10</sub> = Δ<sub>9</sub>))))
N<sub>11</sub>(Φ) = Δ<sub>11</sub>+F -|, with Δ<sub>11</sub> = Δ<sub>10</sub>))/**(●E
N<sub>12</sub>(Φ) = Δ<sub>12</sub> -|, with Δ<sub>12</sub> = Δ<sub>11</sub>)))+(*(**(●F
and, finally,
N(Φ) = N<sub>13</sub>(Φ) = Δ<sub>13</sub>, with Δ<sub>13</sub> = Δ<sub>12</sub>))).
More explicitly, then, N(Φ) is tile expression
= -(*(**(●XYZF●(+(*(**(●A))))●(+(*(**(●B))*(**(●C)**(●(-(*(**(●D))))))))))/(**(●E)))+(*(**(●F))
今日発生したインシデント
— arkw (@arkw0) June 27, 2025
・自宅で扇風機と間違えてサーバのスイッチを切る
再発防止策
・サーバを電源タップに接続しない
ツインファミコン
【今日は何の日?】
— ファミ通.com (@famitsu) June 30, 2025
1986年7月1日 ツインファミコンが発売。今年で39周年https://t.co/CSAaw63q9h
シャープから発売された据え置き型ゲーム機。ファミコンとディスクシステムが一体化したゲームキッズ羨望の豪華マシン。鮮烈な赤のボディーカラーに丸みを帯びたデザインがかっこよかった。 pic.twitter.com/LD089KqYVF
わし、ブラックモデル持ってた😄
strcpy_s
Xユーザーのyohさん: 「高確度で誤解されているC標準関数 strncpy だけど strncpy_s (C11 AnnexK) だとNUL文字書込以降の挙動が違うのが さらに混乱に拍車をかける気がする」 / X https://x.com/yohhoy/status/1939956165300858971 –>
高確度で誤解されているC標準関数 strncpy だけど strncpy_s (C11 AnnexK) だとNUL文字書込以降の挙動が違うのが さらに混乱に拍車をかける気がする
— yoh (@yohhoy) July 1, 2025
過去記事 で実例(他人の記事だけど)に言及していた
strncpy_s で嵌った話: 文字列終端からバッファ末尾までの領域の扱いが strncpy と違う! #C++ - Qiita
これね。
世界線
「パラレルワールドを意味するSF用語“世界線”が使われた最初の作品はなにか?」という質問を某掲示板で見たのだけど、私の知る範囲ではジャック・ウィリアムスンの『航時軍団』(1938年)が一番古い。
— カスガ (@kasuga391) July 31, 2022
2025 is 50% complete
2025 is 50% complete. pic.twitter.com/Xc8vodN7ZA
— Year Progress (@year_progress) July 2, 2025