ときどきの雑記帖 RE* (新南口)
SHIFT
UNIX V4
無事復元できたらしい
- 1973年のテープからC言語で書かれた初のOS「Unix v4」を復元、起動に成功 - BigGo ニュース
- UNIX V4 tape successfully recovered • The Register
知識のアップデート
知らん間にこの方面もいろいろ増えてるなあ。 まあ、もうこの辺の設定をやることはないだろうけど。
- ネットワーク関連
- SDN
- SD-LAN
- VXLAN
Wolfram
- Wolfram Compute Services | Hacker News
- Instant Supercompute: Launching Wolfram Compute Services—Stephen Wolfram Writings
J
Y → Z
YJITでできる性能改善の幅が構造的な理由で頭打ちになりつつあるという問題意識から、 新メンバーのMax (@tekknolagi) を交えて2025年2月にチームで集まった時に次世代YJITのデザインの議論をし、 ZJITの開発が始まった。
「構造的な理由」てのが気になるけどどんなんだろう
F-35
- 戦闘機「F-35」にはC++の特殊ルール適用版が使われており例外処理や再帰関数が禁止されている - GIGAZINE
- [B! 軍事] 戦闘機「F-35」にはC++の特殊ルール適用版が使われており例外処理や再帰関数が禁止されている
- F-35 Fighter Jet’s C++ Coding Standards : r/programming
- F-35 Fighter Jet’s C++ Coding Standards [pdf] | Hacker News
- The C++ standard for the F-35 Fighter Jet [video] | Hacker News
- OINT STRIKE FIGHTER AIR VEHICLE C++ CODING STANDARD
- Joint Strike Fighter (F-35) C++ Coding Standards | Hacker News
F-35ネタ。最近(一部で)盛り上がってたけど ずいぶん前にもあったよねえ。と調べたら2014年?
今回はすぽすっぽセンセイのサイトにコーディング規約のPDFが置かれたのが きっかけっぽい
- F-35 C++ coding standard [pdf] | Hacker News
- Pentagon report faults F-35 on software reliability – primarily written in C++ | Hacker News
- JSF++ Overview: The C++ coding standard which keeps the JSF aircraft in the air (look ma, no segfaults!) : r/programming
- C++ for Safety-Critical Systems
- Ada - Wikipedia
- F-35ライトニングIIのソフトウェア - 軍事とIT(4) | TECH+(テックプラス)
- F-35の開発で生まれたソフト技術 | 日経クロステック(xTECH)
F22はAda、F35はC++で射撃管制プログラムが書かれてるけど、書ける人はUSAFの専用施設に個室与えられるし、採用される前にDoDの身辺調査が入るしかなりハードル高い https://t.co/N1Zkh2xn0J
— ハルトマン (@eah8888) April 28, 2023
Adaで検索してたらいなばさんの過去の日記がひっかっかった。
- Why did Lockheed Martin choose C++ instead of Ada for developing software for the F-35 Lightning II fighter jet? - Quora
- d.y.d.
んで、件のコーディングルールで例外の使用を禁じているのはこれ
AV Rule 208 C++ exceptions shall not be used (i.e. throw, catch and try shall not be used.) Rationale: Tool support is not adequate at this time
はてブのコメントで placement newについて言及してたのがあったけど、 それも禁止されてた。PDFを検索すればすぐ見つかると思う。
post apocalypse
「元の状態」の解釈次第だけど、GNU mesが16進コードのベタ打ちから始めて GCCがコンパイルできるように段階的にいろいろやってるよね
もしコンパイラを全世界で同時にうっかり削除してしまったら、元の状態に復旧できるのだろうか?|Rui Ueyama @.rui314 https://t.co/ytFGTxxWD8 https://t.co/Y0mLVDfIHs
— 標準偏差 (@HomeKijitora) December 7, 2025
ハンドアセンブル出来る、とても小さなアセンブラのコンパイラの卵が有ります。そこから徐々に新しいバージョンのコンパイラをビルドして、Linuxカーネルをビルドして、完全に動作する開発環境を構築出来る事は実証済みです。(これはあらゆるコンパイラに悪意有るコードが仕込まれた時の最終手段)
— 葛城 玲(カツラギ レイ)📷 (@rei_ktrg) December 8, 2025
それからPost Apocalyptic Computingとか言ってFORTHでいろいろやるようなのがあったような。 これかな?
あとこんな本見つけた
Description
An apocalyptic event reverses civilisation’s control over nature. Instead, civilisation is placed under the control of nature. The domains of science and engineering that will adapt to a post-apocalyptic world are those whose status was marginal in the former civilisation. In this edited volume, we have invited specialists from various fields (computer scientists, chemists, mathematicians, engineers, biologists, physicists and philosophers) to share their insights on how information acquisition, information processing, decision-making, and reasoning might evolve after apocalyptic events, with the aim of shaping the design of the next von Neumann generation of computers.The book explores diverse topics such as the theory of computation, eternity of civilisations, computable knowledge, analog computation, bio-inspired fault tolerance, reversible cellular automata, catastrophe theory and the collapse of complex systems, bio-inspired soft robots, computing with exotic substrates (like clocks, stones and sticks, fluids, slime moulds, minimal resources), decomposition of meanings, collective computing, biological computing, neo-sentience, parallel algorithms and the metaphysics of the apocalypse.
2-1(mod 7)
2⁻¹(mod7)→4時
— ファラマク (ファラデーマクスウェル) (@smmr44635735) October 18, 2025
表現の意味:
「2⁻¹」は2の[乗法逆元]
{mod 7下2⋅x≡1(mod7)を満たすx}。
計算過程:
1️⃣mod 7の整数: 0〜6。
2️⃣2⋅1=2≡2(mod7)(不適)。
3️⃣2⋅2=4≡4(mod7)。
4️⃣2⋅3=6≡−1(mod7)。
5️⃣2⋅4=8≡1(mod7)
よって 2−1≡4(mod7)‼️🎉🎊🎂🌈
この説明でもよくわからなかったので調べてみた
ここで剰余演算について詳しく知らない人は「逆数の剰余って計算できるの?」と疑問に思います。 おそらく疑問に思っているところは次の点だと思います。 例えば e=7,φ=5 として、
7 の逆数は 7^−1 = 1/7 (有理数) 7を5で割った余りは 7 mod 5 で答えは 2 (剰余演算は整数のみ)なので、7^−1(mod 5) は一見すると有理数の剰余演算に見えるので、 計算できないのではないかと思ってしまいます。
ふむふむと読み進めつつ記事中のmod 5をmod 7に置き換えて…
| (2(mod 7))×(0(mod 7)) = 0(mod 7) ≡0 |
| (2(mod 7))×(1(mod 7)) = 2(mod 7) ≡2 |
| (2(mod 7))×(2(mod 7)) = 4(mod 7) ≡4 |
| (2(mod 7))×(3(mod 7)) = 6(mod 7) ≡6 |
| (2(mod 7))×(4(mod 7)) = 8(mod 7) ≡1 |
| (2(mod 7))×(5(mod 7)) = 10(mod 7) ≡3 |
| (2(mod 7))×(6(mod 7)) = 12(mod 7) ≡5 |
で、2-1(mod 7) ≡ 4?
WG 14
新刊近刊
芸術新潮
お。
— えすつー (@sTwoJapan) December 25, 2025
「芸術新潮」26年2月号の巻頭大特集は「攻殻機動隊 深化する電脳世界」
士郎正宗による原作マンガ「攻殻機動隊」から、26年に放送予定のTVアニメ最新作「攻殻機動隊 THE GHOST IN THE SHELL」、1月30日に開幕する「攻殻機動隊展 Ghost and the Shell」までhttps://t.co/N4WKBCBo6x pic.twitter.com/MnbH41mb0q
発売は来月(2026年1月)と
年末年始フェア
今年も達人出版会が年末年始フェアを開催している。インプレス、インプレスNext Publishing、近代科学社、近代科学社Digitalの中から選ばれたタイトル(※数えてみたら905タイトルもある)が2025年12月19日〜2026年1月12日限定で半額。https://t.co/WSfYbOHqeb pic.twitter.com/G1JYNG42bZ
— Takuto Wada (@t_wada) December 28, 2025
なにか良い本は…
awk
gawk
gawkのコミットの情報が流れているメーリングリスト gawk-diffs (date) を眺めていたら c32という見慣れないリポジトリに対するコミットに気がついた。
ちょっと遡ってみると、数日前に作られたもののようだ
[SCM] gawk branch, feature/c32, created. gawk-4.1.0-6065-g48b3b8b6
Date: Mon, 22 Dec 2025 05:30:01 -0500 (EST)
ちょいとコミットの中身をのぞいてみると
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2025-12-22 Arnold D. Robbins <arnold@skeeve.com>
+
+ Switch to using the char32_t and associated routines.
+
+ * configure.ac: Add checks for uchar.h, mbrtoc32(), c32rtomb().
+ * awk.h: Add declarations and macros, based on configuration.
+ (NODE, wstrstr, wcasestrstr): Switch to char32_t from wchar_t.
+ * builtin.c: Ditto, use mbrtoc32(), across the board.
+ * eval.c: Ditto, use c32slen(), c32scoll() in posix_compare().
+ * interpret.h: Use char32_t.
+ * node.c: Use char32_t and associated functions.
+ * printf.c: Ditto.
+
2025-12-18 Arnold D. Robbins <arnold@skeeve.com>
* awk.h: Add a pragma for z/OS so that enum sizes are the same
ふむ? >Switch to using the char32_t and associated routines.
そのあとも見てみる
diff --git a/awk.h b/awk.h
index 6e3bf69f..7cf237c1 100644
--- a/awk.h
+++ b/awk.h
@@ -77,6 +77,27 @@ extern int errno;
/* We can handle multibyte strings. */
#include <wchar.h>
#include <wctype.h>
+
+#if defined(__MINGW32__)
+typedef int32_t char32_t;
+extern size_t mbrtoc32(char32_t *pc32, const char *s, size_t n, mbstate_t
*mbs);
+extern size_t c32rtomb (char *s, char32_t c32, mbstate_t *mbs);
+
+// gawk functions:
+extern size_t c32slen(const char32_t *str);
+extern int c32scoll(const char32_t *left, const char32_t *right);
+#elif defined(HAVE_UCHAR_H) && defined(HAVE_MBRTOC32) && defined(HAVE_C32RTOMB)
+#include <uchar.h>
+#define c32slen(s) wcslen((wchar_t *) s)
+#define c32scoll(l, r) wcscoll((wchar_t *) l, (wchar_t *) r)
+#else
+#define char32_t wchar_t
+#define mbrtoc32 mbrtowc
+#define c32rtomb wcrtobm
+#define c32slen(s) wcslen(s)
+#define c32scoll(l, r) wcscoll(l, r)
+#endif
+
#ifdef __CYGWIN__ /* Define helper function for large Unicode values */
extern size_t wcitomb (char *s, int wc, mbstate_t *ps);
#endif
@@ -399,7 +420,7 @@ typedef struct exp_node {
int idx;
union { // this union is for convenience of space
// reuse; the elements aren't otherwise related
- wchar_t *wsp;
+ char32_t *wsp;
char *vn;
} z;
size_t wslen;
@@ -1794,10 +1815,10 @@ extern enum escape_results parse_escape(const char
**string_ptr, const char **es
extern NODE *str2wstr(NODE *n, size_t **ptr);
extern NODE *wstr2str(NODE *n);
#define force_wstring(n) str2wstr(n, NULL)
-extern const wchar_t *wstrstr(const wchar_t *haystack, size_t hs_len,
- const wchar_t *needle, size_t needle_len);
-extern const wchar_t *wcasestrstr(const wchar_t *haystack, size_t hs_len,
- const wchar_t *needle, size_t needle_len);
+extern const char32_t *wstrstr(const char32_t *haystack, size_t hs_len,
+ const char32_t *needle, size_t needle_len);
+extern const char32_t *wcasestrstr(const char32_t *haystack, size_t hs_len,
+ const char32_t *needle, size_t needle_len);
extern void r_free_wstr(NODE *n);
#define free_wstr(n) do { if ((n)->flags & WSTRCUR) r_free_wstr(n); }
while(0)
extern wint_t btowc_cache[];
diff --git a/builtin.c b/builtin.c
index c499a852..0f07f3be 100644
--- a/builtin.c
+++ b/builtin.c
@@ -327,7 +327,7 @@ int
strncasecmpmbs(const unsigned char *s1, const unsigned char *s2, size_t n)
{
size_t i1, i2, mbclen1, mbclen2, gap;
- wchar_t wc1, wc2;
+ char32_t wc1, wc2;
mbstate_t mbs1, mbs2;
memset(& mbs1, 0, sizeof(mbs1));
@@ -338,7 +338,7 @@ strncasecmpmbs(const unsigned char *s1, const unsigned char
*s2, size_t n)
mbclen1 = 1;
wc1 = btowc_cache(s1[i1]);
} else {
- mbclen1 = mbrtowc(& wc1, (const char *)s1 + i1,
+ mbclen1 = mbrtoc32(& wc1, (const char *)s1 + i1,
n - i1, & mbs1);
if (mbclen1 == (size_t) -1 || mbclen1 == (size_t) -2 ||
mbclen1 == 0) {
/* We treat it as a singlebyte character. */
@@ -350,7 +350,7 @@ strncasecmpmbs(const unsigned char *s1, const unsigned char
*s2, size_t n)
mbclen2 = 1;
wc2 = btowc_cache(s2[i2]);
} else {
- mbclen2 = mbrtowc(& wc2, (const char *)s2 + i2,
+ mbclen2 = mbrtoc32(& wc2, (const char *)s2 + i2,
n - i2, & mbs2);
if (mbclen2 == (size_t) -1 || mbclen2 == (size_t) -2 ||
mbclen2 == 0) {
/* We treat it as a singlebyte character. */
wchar_tを使っていたところをchar32_tに置き換える感じ?
- Document Unicode version supported in charset.c. - gawk.git - gawk
- charset.c « support - gawk.git - gawk
FORTRAN Compiler on IBM 704
年末年始の休暇中だけど進捗なし😓
Hugoメモ
SF新世紀
80年代のアニメエンディングテーマで1番好きなのがこの曲なのズラ(※映像では、実はサビの部分しか使っていない無茶な仕様💧)
— ロリクレージー兆士 (@chousancho1999) December 5, 2025
作画も良いシリーズなのにソフト化されていないのは勿体ない感じズラねぇ https://t.co/y6F8jrWl5e pic.twitter.com/zW39vMjD8E
TV版も観てたはずなんだけどどんな曲だったか思い出せなんだ。 これとかキャプテンフューチャーとかで BOXが出なかったりするのは やっぱり権利関係なんですかね
宇宙艦隊戦
これはヤマトよりも寧ろ銀英伝で散々語られてるけども恒星間航行能力備えた宇宙船同士の戦いだと、戦闘艦の備える武器の射程が艦載機の航続力を大きく上回る上に艦載機の巡航性能自体が母艦に遠く及ばないから、空母艦載機って遠距離打撃力ではなく近接打撃力(魚雷艇的存在)になるからなのよね https://t.co/yW0vKTtcbZ
— 飛鷹隼 (@junhiyoh) December 6, 2025
銀英伝に限らず、宇宙における艦隊戦描写が単縦陣組んで相手の頭を押さえ込みつつ自軍の主砲と装甲が一番美味しく機能する距離に先に駆け込んだ方が勝ちの運動戦ではなく横陣敷き並べた戦列歩兵の潰し合い、先に列線が崩れた方が負けのチキンレースになるのはその為ですな https://t.co/wf75bVKud3
— 飛鷹隼 (@junhiyoh) December 7, 2025
そもそもヤマトの戦闘は40年代〜70年代の海戦を海上艦艇様の宇宙戦艦で宇宙でやっちゃうのが醍醐味で面白さ。そこで銀英伝を持ち出されてもなあ。それが正しいなら、それをなんら作品制作に関係ないイチファンにSNSで解説させるような状況をつくるのではなく劇中で語って欲しかったと思うのです
— ぽよ村 (@poyo_bamboo) December 7, 2025
ガンダム世界の艦隊戦もよくわかんないところあるよね。 モビルスーツ(や巨大モビルアーマーとか)の存在。ってのもあるけど
ゴンスケ
昨日のサラミスがバズった様ですが、いつもは小さいサイズのLEGOを組んで遊んでます。芋掘りロボット・ゴンスケとか(^^) pic.twitter.com/mvgEl6JQ7y
— 太田垣康男 (@ohtagakiyasuo) December 27, 2025
いいなあ、これ😄 (21エモンは結構好き)
●お知らせ
— Books&Cafeドレッドノート/株式会社鈴木商会 (@suzukitaitou) December 29, 2025
弊社はこの度東京の下町で約半世紀にわたり営業し、惜しくも2023年に閉店された江東区牡丹の模型店ピンバイス様より、同店の模型在庫一式について有償譲受契約を締結いたしました。
今後はドレッドノートとして本格的に模型販売も視野に入れて事業展開を行ってまいります。
(店主) pic.twitter.com/1ggsAHYGTD
ピンバイスって名前の模型店、聞いた覚えがあるんだけどどこでだろう?
小中高での行動範囲を考えると行ったことはないか、あっても1、2回だろうと思うんだけど。 単に模型雑誌の広告で見たくらいなら記憶には残ってないだろうし、
factor
今年(2025年)の数字はいろいろな式で表せるという話題が 昨年末から今年の年初にかけて流れてきたけど、 ふと来年はどうとか再来年はと気になって まずはfactorにかけてみたら
kbk@toybox4:~$ factor 2025
2025: 3 3 3 3 5 5
kbk@toybox4:~$ factor 2026
2026: 2 1013
kbk@toybox4:~$ factor 2027
2027: 2027
2027は素数か!
アクセス数
いま1日に10アクセスくらいのブログを書いているんだけど、知見のシェアとして意義があると思うのでやっているし、私自身も蓄積された知見の恩恵を受けてきたので、当然の営みだと思っている。しかしそういう互恵的な精神はネットからおおかた駆逐されてしまった。そのことをとても寂しく思う。
— 唐木元 (@rootsy) December 18, 2025
そういやしばらくアクセス数調べてないな😓
銀河の歴史がまた一ページ
ではよいお年を