<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>ときどきの雑記帖 Re* (新南口) on ときどきの雑記帖 Re*</title>
		<link>http://www.kt.rim.or.jp/~kbk/zakkicho/post/</link>
		<description>Recent content in ときどきの雑記帖 Re* (新南口) on ときどきの雑記帖 Re*</description>
		<generator>Hugo -- gohugo.io</generator>
		
		<language>ja-jp</language>
		
		<lastBuildDate>Sat, 25 Apr 2026 00:00:00 +0900</lastBuildDate>
		
		<atom:link href="http://www.kt.rim.or.jp/~kbk/zakkicho/post/" rel="self" type="application/rss+xml" />
		
		<item>
			<title>ジオン驚異のメカニズム</title>
			<link>http://www.kt.rim.or.jp/~kbk/zakkicho/post/2026/04/25/</link>
			<pubDate>Sat, 25 Apr 2026 00:00:00 +0900</pubDate>
			
			<guid>http://www.kt.rim.or.jp/~kbk/zakkicho/post/2026/04/25/</guid>
			<description>t sed: s///g now works for input lines longer than 2GB - sed.git - GNU stream editor + printf (&#34; regex[%d] = %td-%td &#39;&#34;, i, + (ptrdiff_t)regs.start[i], (ptrdiff_t)regs.end[i]); %tdのtってなんじゃろ? と思ったのだけどC99からあったのかこれ printf のマイナーな機能</description>
			<content:encoded><h3 id="t">t</h3>
<p><a href="https://cgit.git.savannah.gnu.org/cgit/sed.git/commit/?id=6ec335494f8275243d9500554fa093ba4af43484">sed: s///g now works for input lines longer than 2GB - sed.git - GNU stream editor</a></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-diff" data-lang="diff"><span style="display:flex;"><span><span style="color:#a6e22e">+          printf (&#34;  regex[%d] = %td-%td &#39;&#34;, i,
</span></span></span><span style="display:flex;"><span><span style="color:#a6e22e">+                  (ptrdiff_t)regs.start[i], (ptrdiff_t)regs.end[i]);
</span></span></span></code></pre></div><p><code>%td</code>の<code>t</code>ってなんじゃろ?
と思ったのだけどC99からあったのかこれ</p>
<ul>
<li><a href="https://qiita.com/Nabetani/items/b18032a13359df22b50d">printf のマイナーな機能の紹介 #C - Qiita</a></li>
<li><a href="https://sygh.hatenadiary.jp/entry/2014/07/27/193416">size_t, ptrdiff_tのprintf書式指定 - syghの新フラグメント置き場</a></li>
<li><a href="https://zenn.dev/hosu/articles/54022040cb64c8">printfについてまとめてみた</a></li>
<li><a href="https://ja.wikipedia.org/wiki/Printf#.E9.95.B7.E3.81.95.E4.BF.AE.E9.A3.BE.E5.AD.90">printf - Wikipedia</a></li>
</ul>
<h3 id="link">link</h3>
<ul>
<li><a href="https://qiita.com/kmch4n/items/944266287dca13660500">【Python】日本語自然言語時刻パーサーを実装する #正規表現 - Qiita</a></li>
<li><a href="https://qiita.com/sen-ltd/items/5d8c14539e67dd89506d">cron 式を GUI で組み立てるツールを作った — 「逆方向」は意外と書きやすい #JavaScript - Qiita</a></li>
<li><a href="https://fixapl.netlify.app/">FIXAPL (beta)</a></li>
<li><a href="https://linuxjm.sourceforge.io/html/LDP_man-pages/man3/getaddrinfo_a.3.html">Man page of GETADDRINFO_A</a></li>
<li><a href="https://news.ycombinator.com/item?id=47900451">Only one side will be the true successor to MS-DOS – Windows 2.x | Hacker News</a>
<ul>
<li><a href="https://blisscast.wordpress.com/2026/04/21/windows-2-gui-wonderland-12a/">Only One Side Will Be The True Successor to MS-DOS! – Windows 2.x – GUI Wonderland #12a</a></li>
</ul>
</li>
<li><a href="https://www.reddit.com/r/programming/comments/1ssadqh/proofs_are_programs_a_few_examples_of_the/">Proofs are Programs: A Few Examples of the Curry-Howard Correspondence : r/programming</a>
<ul>
<li><a href="https://adueck.github.io/blog/curry-howard-proofs-are-programs/">Proofs are Programs: A Few Examples of the Curry-Howard Correspondence</a></li>
</ul>
</li>
<li><a href="https://news.ycombinator.com/item?id=47885239">Mahjong: A Visual Guide | Hacker News</a>
<ul>
<li><a href="https://themahjong.guide/">Mahjong: a Visual Guide</a></li>
</ul>
</li>
<li><a href="https://news.ycombinator.com/item?id=47887334">Spinel: Ruby AOT Native Compiler | Hacker News</a>
<ul>
<li><a href="https://github.com/matz/spinel">matz/spinel</a></li>
</ul>
</li>
</ul>
<hr>
<h2 id="wg-14">WG 14</h2>
<p><a href="https://www.open-std.org/jtc1/sc22/wg14/www/wg14_document_log.htm">WG 14 Document log</a></p>
<p>以前にもちょっと触れたissueの現時点での最新(たぶん)
C23 issue log, r4 (N3831)
から</p>
<table>
<thead>
<tr>
<th style="text-align:left">Issue</th>
<th style="text-align:left">Summary</th>
<th style="text-align:left">Status</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">1000</td>
<td style="text-align:left">Structure type compatibility with flexible array members</td>
<td style="text-align:left">Fixed in C2Y</td>
</tr>
<tr>
<td style="text-align:left">1001</td>
<td style="text-align:left">Qualified rvalues from structure or union members</td>
<td style="text-align:left">Review</td>
</tr>
<tr>
<td style="text-align:left">1002</td>
<td style="text-align:left">Type qualifiers in [*] in abstract declarators</td>
<td style="text-align:left">Fixed in C2Y</td>
</tr>
<tr>
<td style="text-align:left">1003</td>
<td style="text-align:left">Linkage between library functions</td>
<td style="text-align:left">Fixed in C2Y</td>
</tr>
<tr>
<td style="text-align:left">1004</td>
<td style="text-align:left">Classification of scanf failures</td>
<td style="text-align:left">Review</td>
</tr>
<tr>
<td style="text-align:left">1005</td>
<td style="text-align:left">Annex D refers to option removed from UAX#31 in revision 39</td>
<td style="text-align:left">Fixed in C2Y</td>
</tr>
<tr>
<td style="text-align:left">1006</td>
<td style="text-align:left">atomic_fetch operations and &ldquo;address types&rdquo;</td>
<td style="text-align:left">Fixed in C2Y</td>
</tr>
<tr>
<td style="text-align:left">1007</td>
<td style="text-align:left">Implicitly unsigned bit-fields ambiguity</td>
<td style="text-align:left">Open</td>
</tr>
<tr>
<td style="text-align:left">1008</td>
<td style="text-align:left">Bad constraint on attributes with tags</td>
<td style="text-align:left">Fixed in C2Y</td>
</tr>
<tr>
<td style="text-align:left">1009</td>
<td style="text-align:left">extern thread_local should not be an external definition</td>
<td style="text-align:left">Fixed in C2Y</td>
</tr>
<tr>
<td style="text-align:left">1010</td>
<td style="text-align:left">Termination of the execution with threads</td>
<td style="text-align:left">Open</td>
</tr>
<tr>
<td style="text-align:left">1011</td>
<td style="text-align:left">powr(negative, qNaN)</td>
<td style="text-align:left">Fixed in C2Y</td>
</tr>
<tr>
<td style="text-align:left">1012</td>
<td style="text-align:left">Error returns from specific width length modifiers</td>
<td style="text-align:left">Open</td>
</tr>
<tr>
<td style="text-align:left">1013</td>
<td style="text-align:left">Ambiguity of &ldquo;same type&rdquo;</td>
<td style="text-align:left">Open</td>
</tr>
<tr>
<td style="text-align:left">1015</td>
<td style="text-align:left">Imprecise wording for cnd_t functions</td>
<td style="text-align:left">Fixed in C2Y</td>
</tr>
<tr>
<td style="text-align:left">1016</td>
<td style="text-align:left">Are digit separators allowed in <strong>LINE</strong>?</td>
<td style="text-align:left">Fixed in C2Y</td>
</tr>
<tr>
<td style="text-align:left">1017</td>
<td style="text-align:left">Unspecified timing and synchronization for cnd_t functions</td>
<td style="text-align:left">Open</td>
</tr>
<tr>
<td style="text-align:left">1018</td>
<td style="text-align:left">Issue with enum compatibility</td>
<td style="text-align:left">Open</td>
</tr>
<tr>
<td style="text-align:left">1019</td>
<td style="text-align:left">String functions and trailing null inclusion</td>
<td style="text-align:left">Review</td>
</tr>
<tr>
<td style="text-align:left">1020</td>
<td style="text-align:left">Definition of address constant</td>
<td style="text-align:left">Review</td>
</tr>
<tr>
<td style="text-align:left">1021</td>
<td style="text-align:left">Integer promotions for enumerations</td>
<td style="text-align:left">Open</td>
</tr>
<tr>
<td style="text-align:left">1022</td>
<td style="text-align:left">Void expressions and lvalues</td>
<td style="text-align:left">Open</td>
</tr>
<tr>
<td style="text-align:left">1023</td>
<td style="text-align:left">static_assert in structure and union definitions</td>
<td style="text-align:left">Open</td>
</tr>
<tr>
<td style="text-align:left">1024</td>
<td style="text-align:left">Redeclaration of standard library typedefs</td>
<td style="text-align:left">Open</td>
</tr>
<tr>
<td style="text-align:left">1025</td>
<td style="text-align:left">Variably modified standard library types</td>
<td style="text-align:left">Open</td>
</tr>
<tr>
<td style="text-align:left">1026</td>
<td style="text-align:left">thrd_t as an array type</td>
<td style="text-align:left">Open</td>
</tr>
<tr>
<td style="text-align:left">1027</td>
<td style="text-align:left">Member declaration attributes and composite types</td>
<td style="text-align:left">Open</td>
</tr>
<tr>
<td style="text-align:left">1028</td>
<td style="text-align:left">jmp_buf as an incomplete array type</td>
<td style="text-align:left">Open</td>
</tr>
<tr>
<td style="text-align:left">1029</td>
<td style="text-align:left">Spelling of <strong>LINE</strong></td>
<td style="text-align:left">Open</td>
</tr>
<tr>
<td style="text-align:left">1030</td>
<td style="text-align:left">Lvalue conversion for generic associations</td>
<td style="text-align:left">Open</td>
</tr>
<tr>
<td style="text-align:left">1031</td>
<td style="text-align:left">Generic selection controlling expression lvalue of incomplete non-array type</td>
<td style="text-align:left">Open</td>
</tr>
</tbody>
</table>
<p>大体見覚えのあるもの…かな?</p>
<hr>
<h2 id="新刊近刊">新刊近刊</h2>
<h3 id="プロフラマーのための圏論">プロフラマーのための圏論</h3>
<!--
XユーザーのYoshiki Satoさん: 
「出版社から許可も貰ったので、宣伝。 
この書籍はCC-BY-SA-4.0というライセンスのものを翻訳しているので、
日本語版もGithub上で訳者が公開しています。 
せっかく出版されるので、紙で読みたいかたは是非ご購入を！！！
 Github → https://t.co/C8LkYju6G8 html → https://t.co/fy4HRQ6Pf1 https://t.co/qxUAplocNX」 / X
https://x.com/phys_yoshiki/status/2047332172282142806
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">出版社から許可も貰ったので、宣伝。<br><br>この書籍はCC-BY-SA-4.0というライセンスのものを翻訳しているので、日本語版もGithub上で訳者が公開しています。<br>せっかく出版されるので、紙で読みたいかたは是非ご購入を！！！<br><br>Github → <a href="https://t.co/C8LkYju6G8">https://t.co/C8LkYju6G8</a><br>html → <a href="https://t.co/fy4HRQ6Pf1">https://t.co/fy4HRQ6Pf1</a> <a href="https://t.co/lYK1UYn8OQ">https://t.co/lYK1UYn8OQ</a> <a href="https://t.co/qxUAplocNX">pic.twitter.com/qxUAplocNX</a></p>&mdash; Yoshiki Sato (@phys_yoshiki) <a href="https://twitter.com/phys_yoshiki/status/2047332172282142806?ref_src=twsrc%5Etfw">April 23, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<h3 id="怪奇大作戦">怪奇大作戦</h3>
<!--
Xユーザーの辻　真先さん: 
「円谷プロ初期のテレビ番組が、実は小学館でコミカライズされていました。
池上遼一さんの作画。ぼくは２話から原案をお手伝いしています。
池上さん、学年誌、円谷プロ、どちらにもご縁があったので。
半世紀以上前の話です。ぼくがミステリを書き始めるずっと前。
自分のエッセィを読んで思い出しました。 https://t.co/g7GVGwZci2」 / X
https://x.com/mtsujiji/status/2047083011288768958
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">円谷プロ初期のテレビ番組が、実は小学館でコミカライズされていました。池上遼一さんの作画。ぼくは２話から原案をお手伝いしています。池上さん、学年誌、円谷プロ、どちらにもご縁があったので。半世紀以上前の話です。ぼくがミステリを書き始めるずっと前。自分のエッセィを読んで思い出しました。 <a href="https://t.co/g7GVGwZci2">pic.twitter.com/g7GVGwZci2</a></p>&mdash; 辻　真先 (@mtsujiji) <a href="https://twitter.com/mtsujiji/status/2047083011288768958?ref_src=twsrc%5Etfw">April 22, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>へー</p>
<h3 id="感動する計算問題">感動する計算問題</h3>
<p><a href="https://www.amazon.co.jp/dp/4046080043/">難解に見えるのに超気持ちよく解ける 感動する計算問題 | まさし |本 | 通販 | Amazon</a></p>
<p>以前に出ている図形問題の続きというかお仲間というか</p>
<h3 id="東京大学で教わるゲーム学入門">東京大学で教わるゲーム学入門</h3>
<p><a href="https://www.amazon.co.jp/dp/4418262083">東京大学で教わるゲーム学入門 (基礎から身につく「大人の教養」) | 吉田 寛 |本 | 通販 | Amazon</a></p>
<p>ざっと見た感じは面白そうだった</p>
<h3 id="統計検定">統計検定</h3>
<!--
Xユーザーの講談社サイエンティフィク🖋️📔さん: 
「統計検定®2級、独学で受かった勉強法を全部公開します（＋良すぎて書籍化してもらった話）」 / X
https://x.com/kspub_kodansha/status/2046154320094392683
-->
<blockquote class="twitter-tweet"><p lang="zxx" dir="ltr"><a href="https://t.co/cF0mqgIUeK">https://t.co/cF0mqgIUeK</a></p>&mdash; 講談社サイエンティフィク🖋️📔 (@kspub_kodansha) <a href="https://twitter.com/kspub_kodansha/status/2046154320094392683?ref_src=twsrc%5Etfw">April 20, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<h3 id="クレーン船">クレーン船</h3>
<!--
Xユーザーの書泉オンラインショップさん: 
「書泉オンラインより、興味深い1冊のご紹介📚 【特典付き】
クレーン船解体新書　探る!海の職人技 
https://t.co/2QxQj5MRy6 写真とイラストで、海で働く船、人々、
そして知られざるクレーン船の魅力を丸ごと紹介します。
特典クリアファイルつきにてお届けします🌟 https://t.co/AxtJhQJmnm」 / X
https://x.com/shosen_online/status/2046135168201826514
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">書泉オンラインより、興味深い1冊のご紹介📚<br><br>【特典付き】クレーン船解体新書　探る!海の職人技<a href="https://t.co/2QxQj5MRy6">https://t.co/2QxQj5MRy6</a> <br><br>写真とイラストで、海で働く船、人々、そして知られざるクレーン船の魅力を丸ごと紹介します。特典クリアファイルつきにてお届けします🌟 <a href="https://t.co/AxtJhQJmnm">pic.twitter.com/AxtJhQJmnm</a></p>&mdash; 書泉オンラインショップ (@shosen_online) <a href="https://twitter.com/shosen_online/status/2046135168201826514?ref_src=twsrc%5Etfw">April 20, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<hr>
<h2 id="awk">awk</h2>
<hr>
<h3 id="heading"></h3>
<!--
Xユーザーのko8 in the skyさん: 
「電車で隣に座っているオジサンがずっと鼻歌を歌っていて、
うるさいなぁと思いつつよーく聞いてみたらプロフェッサーギルの笛の音のメロディーだった😱」 / X
https://x.com/ko8inthesky/status/2046445105473819061
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">電車で隣に座っているオジサンがずっと鼻歌を歌っていて、うるさいなぁと思いつつよーく聞いてみたらプロフェッサーギルの笛の音のメロディーだった😱</p>&mdash; ko8 in the sky (@ko8inthesky) <a href="https://twitter.com/ko8inthesky/status/2046445105473819061?ref_src=twsrc%5Etfw">April 21, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<h3 id="技術書ライブラリー">技術書ライブラリー</h3>
<!--
Xユーザーの技術書ライブラリーさん: 
「エンジニアが本をじっくり読める場所、作りました。 
「技術書ライブラリー」は東京・西早稲田のITエンジニア向け会員制図書館です。
本を読むのもよし、もくもく作業するのもよし。電源・Wi-Fi完備で、
1日1540円から気軽に使えます。月額3960円で通い放題です。」 / X
https://x.com/techbooklibrary/status/2043979453437510038
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">エンジニアが本をじっくり読める場所、作りました。<br>「技術書ライブラリー」は東京・西早稲田のITエンジニア向け会員制図書館です。本を読むのもよし、もくもく作業するのもよし。電源・Wi-Fi完備で、1日1540円から気軽に使えます。月額3960円で通い放題です。</p>&mdash; 技術書ライブラリー (@techbooklibrary) <a href="https://twitter.com/techbooklibrary/status/2043979453437510038?ref_src=twsrc%5Etfw">April 14, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>メモ</p>
<h3 id="ニュータンタン">ニュータンタン〇〇</h3>
<!--
Xユーザーの書泉 ミリタリーさん: 
「【グランデ】 ミリタリーコーナーに 新しいレトルトカレーが入荷しました。 
（ミリタリ−じゃない、ってツッコミがありますが） 
海自カレーを作っている調味商事様の商品です。 
横浜家系カレー ニュータンタンカレー どちらも648円。 気になってしまったら、 
書泉グランデへお越しください(o^^o) https://t.co/nI72WBPA6r」 / X
https://x.com/SHOSEN_military/status/2046887400371257344
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">【グランデ】<br>ミリタリーコーナーに<br>新しいレトルトカレーが入荷しました。<br>（ミリタリ−じゃない、ってツッコミがありますが）<br>海自カレーを作っている調味商事様の商品です。<br>横浜家系カレー<br>ニュータンタンカレー<br>どちらも648円。<br>気になってしまったら、<br>書泉グランデへお越しください(o^^o) <a href="https://t.co/nI72WBPA6r">pic.twitter.com/nI72WBPA6r</a></p>&mdash; 書泉 ミリタリー (@SHOSEN_military) <a href="https://twitter.com/SHOSEN_military/status/2046887400371257344?ref_src=twsrc%5Etfw">April 22, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<h3 id="safs">SAFS</h3>
<!--
Xユーザーのヒコロウさん: 
「SAFSはいいぞ、顔しか描かなくていいからな https://t.co/7ulKT2d6fr」 / X
https://x.com/hikolow/status/2046892389529440259
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">SAFSはいいぞ、顔しか描かなくていいからな <a href="https://t.co/7ulKT2d6fr">pic.twitter.com/7ulKT2d6fr</a></p>&mdash; ヒコロウ (@hikolow) <a href="https://twitter.com/hikolow/status/2046892389529440259?ref_src=twsrc%5Etfw">April 22, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>懐かしい&#x1f604;＞SAFS</p>
<h3 id="0">0</h3>
<!--
XユーザーのHaruhiko Okumuraさん: 
「&gt; レジのシステムを開発しているメーカーへ聞き取りしたところ、
「0％以外の税率なら、改修期間を3カ月程度に短縮できる」との説明があった。
 &gt; ある数字をゼロで割ることは不可能で、システム内で誤ってその指示が出てしまうと、
深刻なエラーを引き起こす恐れがあるためだ。 よーわからん？？？」 / X
https://x.com/h_okumura/status/2047103558366204022
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">&gt; レジのシステムを開発しているメーカーへ聞き取りしたところ、「0％以外の税率なら、改修期間を3カ月程度に短縮できる」との説明があった。<br>&gt; ある数字をゼロで割ることは不可能で、システム内で誤ってその指示が出てしまうと、深刻なエラーを引き起こす恐れがあるためだ。<br>よーわからん？？？ <a href="https://t.co/Q3Eazee1Ye">https://t.co/Q3Eazee1Ye</a></p>&mdash; Haruhiko Okumura (@h_okumura) <a href="https://twitter.com/h_okumura/status/2047103558366204022?ref_src=twsrc%5Etfw">April 23, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<!--
Xユーザーの石さん: 
「@h_okumura 地方消費税計算するときに国税額/国税率×地方税率するので国税率を0にすると0除算出ます。 
https://t.co/vYUD8of1fe https://t.co/eIliCdTaNl」 / X
https://x.com/ishishi/status/2047268853802291542
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">地方消費税計算するときに国税額/国税率×地方税率するので国税率を0にすると0除算出ます。<a href="https://t.co/vYUD8of1fe">https://t.co/vYUD8of1fe</a> <a href="https://t.co/eIliCdTaNl">pic.twitter.com/eIliCdTaNl</a></p>&mdash; 石 (@ishishi) <a href="https://twitter.com/ishishi/status/2047268853802291542?ref_src=twsrc%5Etfw">April 23, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>へー。</p>
<h3 id="heading-1"></h3>
<!--
Xユーザーの大西科学さん: 「AI将棋が人間に勝てるようになったのはわりと最近だが、
コンピュータ麻雀は昔から人間よりもずっと強かった。
コイン投入15秒で天和とかで上がっていたそうです。」 / X
https://x.com/onisci/status/2047273095283814521
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">AI将棋が人間に勝てるようになったのはわりと最近だが、コンピュータ麻雀は昔から人間よりもずっと強かった。コイン投入15秒で天和とかで上がっていたそうです。</p>&mdash; 大西科学 (@onisci) <a href="https://twitter.com/onisci/status/2047273095283814521?ref_src=twsrc%5Etfw">April 23, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


</content:encoded>
		</item>
		
		<item>
			<title>2026-04-22</title>
			<link>http://www.kt.rim.or.jp/~kbk/zakkicho/post/2026/04/22/</link>
			<pubDate>Wed, 22 Apr 2026 00:00:00 +0900</pubDate>
			
			<guid>http://www.kt.rim.or.jp/~kbk/zakkicho/post/2026/04/22/</guid>
			<description>Ruby kaigi 最後に行ったのいつだっけか。 まあたとえ近くで開催されても今は行く余裕はないのだけど 今日から #RubyKaigi が函館で開催中なんですね。 北海道行きたい！h</description>
			<content:encoded><h3 id="ruby-kaigi">Ruby kaigi</h3>
<p>最後に行ったのいつだっけか。
まあたとえ近くで開催されても今は行く余裕はないのだけど</p>
<!--
Xユーザーの株式会社アマネクトさん: 
「今日から #RubyKaigi が函館で開催中なんですね。 北海道行きたい！ 
https://t.co/zkzggVfFjH #アマネクト #Amanect #Ruby」 / X
https://x.com/AmanectJP/status/2046876672075649216
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">今日から <a href="https://twitter.com/hashtag/RubyKaigi?src=hash&amp;ref_src=twsrc%5Etfw">#RubyKaigi</a> が函館で開催中なんですね。<br>北海道行きたい！<a href="https://t.co/zkzggVfFjH">https://t.co/zkzggVfFjH</a><a href="https://twitter.com/hashtag/%E3%82%A2%E3%83%9E%E3%83%8D%E3%82%AF%E3%83%88?src=hash&amp;ref_src=twsrc%5Etfw">#アマネクト</a><a href="https://twitter.com/hashtag/Amanect?src=hash&amp;ref_src=twsrc%5Etfw">#Amanect</a><a href="https://twitter.com/hashtag/Ruby?src=hash&amp;ref_src=twsrc%5Etfw">#Ruby</a></p>&mdash; 株式会社アマネクト (@AmanectJP) <a href="https://twitter.com/AmanectJP/status/2046876672075649216?ref_src=twsrc%5Etfw">April 22, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p><a href="https://zenn.dev/bloomo_tech/articles/2a518447fb6880">現地速報！ RubyKaigi 2026 Day1</a></p>
<h3 id="ラクダ本">ラクダ本</h3>
<p><a href="https://zenn.dev/pdfractal/articles/7769297acf47a3">なぜ、「プログラマーの三大美徳」は日本でばかり有名なのか？</a></p>
<blockquote>
<p>広まりの最初の段階は、もちろんPerl の正典としてです。Perldoc には現在でも三大美徳が記されており、
古いバージョンの文書にも同じ文が確認できます。後から誰かが作ったネットミームではなく、
Perl 本体の自己紹介に近い位置を持つ言葉だということです。</p>
<p>日本では、その原典にかなり早い時期から日本語で触れられました。
オライリー・ジャパンは『プログラミング Perl 第3版』を 2002 年 9 月に刊行しており、
日本語読者は早い段階でラクダ本を自国語で読める状態にありました。
日本の三大美徳受容は、後年のブログ文化だけで始まったのではなく、
まず邦訳基盤が先に整っていたわけです。</p>
</blockquote>
<p>なんで第3版?
初版のも第2版のも翻訳本は出ていたのに</p>
<p><a href="https://www.amazon.co.jp/dp/4900900486/">プログラミングPerl 改訂版 : ラリ・ウォ-ル, 近藤嘉雪: 本</a></p>
<blockquote>
<p>出版社 ‏ : ‎ オライリー・ジャパン<br>
発売日 ‏ : ‎ 1997/12/1</p>
</blockquote>
<p><a href="https://www.amazon.co.jp/dp/4890523847/">Perlプログラミング (A nutshell handbook) | Larry Wall, Randal L.Schwartz, 近藤 嘉雪 |本 | 通販 | Amazon</a></p>
<blockquote>
<p>出版社 ‏ : ‎ ソフトバンククリエイティブ<br>
発売日 ‏ : ‎ 1993/2/1</p>
</blockquote>
<hr>
<h3 id="heading"></h3>
<ul>
<li><a href="https://news.ycombinator.com/item?id=47847179">Laws of Software Engineering | Hacker News</a>
<ul>
<li><a href="https://lawsofsoftwareengineering.com/">Laws of Software Engineering</a></li>
</ul>
</li>
<li><a href="https://news.ycombinator.com/item?id=47815462">Running a Minecraft Server and More on a 1960s Univac Computer | Hacker News</a>
<ul>
<li><a href="https://farlow.dev/2026/04/17/running-a-minecraft-server-and-more-on-a-1960s-univac-computer">Running a Minecraft Server and more on a 1960s UNIVAC Computer | farlow.dev</a></li>
</ul>
</li>
<li><a href="https://www.reddit.com/r/programming/comments/1sn4yi9/dennis_ritchie_on_the_double_roles_of_and_in/">Dennis Ritchie on the double roles of &amp; and | in Early C : r/programming</a>
<ul>
<li><a href="https://www.lysator.liu.se/c/dmr-on-or.html">Dennis Ritchie on &amp; | vs. ==</a></li>
</ul>
</li>
</ul>
<hr>
<h3 id="triple-backref">triple-backref</h3>
<p><a href="https://cgit.git.savannah.gnu.org/cgit/grep.git/commit/?id=b2a524781d97d7d514767c6c63845394bb2c7a13">grep.git - grep</a></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-diff" data-lang="diff"><span style="display:flex;"><span><span style="color:#f92672">-# The triple-backref test is expected to fail with both the system
</span></span></span><span style="display:flex;"><span><span style="color:#f92672">-# matcher (i.e., with glibc) and with the included matcher.
</span></span></span><span style="display:flex;"><span><span style="color:#f92672">-# Both matchers need to be fixed.
</span></span></span><span style="display:flex;"><span><span style="color:#f92672">-# FIXME-2025: Remove this once the glibc and gnulib bugs are fixed.
</span></span></span><span style="display:flex;"><span><span style="color:#f92672">-XFAIL_TESTS = triple-backref
</span></span></span></code></pre></div><p>削除されたこのコメントが気になる</p>
<hr>
<h2 id="wg-14">WG 14</h2>
<p><a href="https://www.open-std.org/jtc1/sc22/wg14/www/wg14_document_log.htm">WG 14 Document log</a></p>
<p>今週は一件だけ</p>
<p><a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3869.pdf">N3869 2026/04/19 Veldmeijer , The malloc_allocated_size function</a></p>
<p>malloc(など)で確保した領域の情報をどう得るかという話</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-c" data-lang="c"><span style="display:flex;"><span><span style="color:#66d9ef">void</span> <span style="color:#a6e22e">func</span>(<span style="color:#66d9ef">void</span>) {
</span></span><span style="display:flex;"><span>    <span style="color:#75715e">// Allocation failures are ignored for brevity in this example
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">size_t</span> actual  <span style="color:#a6e22e">malloc_allocated_size</span>(NULL); <span style="color:#75715e">// actual == 0
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">char</span> <span style="color:#f92672">*</span>buf <span style="color:#f92672">=</span> <span style="color:#a6e22e">malloc</span>(<span style="color:#ae81ff">100</span>);
</span></span><span style="display:flex;"><span>    actual <span style="color:#f92672">=</span> <span style="color:#a6e22e">malloc_allocated_size</span>(buf);        <span style="color:#75715e">// actual &gt;= 100
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">memset</span>(buf, <span style="color:#ae81ff">0</span>, actual);                     <span style="color:#75715e">// initialize all alocated memory
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span>    buf <span style="color:#f92672">=</span> <span style="color:#a6e22e">realloc</span>(buf, <span style="color:#ae81ff">200</span>);
</span></span><span style="display:flex;"><span>    actual <span style="color:#f92672">=</span> <span style="color:#a6e22e">malloc_allocated_size</span>(buf);        <span style="color:#75715e">// actual &gt;= 200
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span>    actual <span style="color:#f92672">=</span> <span style="color:#a6e22e">malloc_allocated_size</span>(buf <span style="color:#f92672">+</span> <span style="color:#ae81ff">50</span>);   <span style="color:#75715e">// UNDEFINED BEHAVIOR (interior pointer)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">int</span> n;
</span></span><span style="display:flex;"><span>    actual <span style="color:#f92672">=</span> <span style="color:#a6e22e">malloc_allocated_size</span>(<span style="color:#f92672">&amp;</span>n);         <span style="color:#75715e">// UNDEFINED BEHAVIOR (automatic storage)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">free</span>(buf);
</span></span><span style="display:flex;"><span>    actual <span style="color:#f92672">=</span> <span style="color:#a6e22e">malloc_allocated_size</span>(buf);        <span style="color:#75715e">// UNDEFINED BEHAVIOR (freed pointer)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>}
</span></span></code></pre></div><p>すでに同様のものはいろいろな名前で実装されているらしい(知らなかった)</p>
<table>
<thead>
<tr>
<th style="text-align:left">Platform</th>
<th style="text-align:left">Function</th>
<th style="text-align:left">Header</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">macOS/iOS</td>
<td style="text-align:left">malloc_size</td>
<td style="text-align:left">&lt;malloc/malloc.h&gt;</td>
</tr>
<tr>
<td style="text-align:left">OpenBSD</td>
<td style="text-align:left">malloc_size</td>
<td style="text-align:left">&lt;stdlib.h&gt;</td>
</tr>
<tr>
<td style="text-align:left">FreenBSD</td>
<td style="text-align:left">malloc_usable_size</td>
<td style="text-align:left">&lt;malloc_np.h&gt;</td>
</tr>
<tr>
<td style="text-align:left">Linux(glibc)</td>
<td style="text-align:left">malloc_usable_size</td>
<td style="text-align:left">&lt;malloc.h&gt;</td>
</tr>
<tr>
<td style="text-align:left">Windwos(MSVC)</td>
<td style="text-align:left">_msize</td>
<td style="text-align:left">&lt;malloc.h&gt;</td>
</tr>
<tr>
<td style="text-align:left">jemalloc</td>
<td style="text-align:left">malloc_usable_size</td>
<td style="text-align:left">&lt;jmalloc/jmalloc.h&gt;</td>
</tr>
<tr>
<td style="text-align:left">mimalloc</td>
<td style="text-align:left">ml_usable_size</td>
<td style="text-align:left">&lt;mimalloc.h&gt;</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="新刊近刊">新刊近刊</h2>
<h3 id="プログラマーのための圏論">プログラマーのための圏論</h3>
<!--
XユーザーのYoshiki Satoさん: 
「『プログラマーのための圏論』 コードで学ぶ、プログラマーのための圏論入門 
・C++とHaskellのコードを使って、圏論の概念を解説した 
・数学書のような定理⇒証明の繰り返しではなく、プログラマーの慣れている技術書な解説とした 
https://t.co/SpV3tIk3Kk https://t.co/lBcrTZI5C5」 / X
https://x.com/phys_yoshiki/status/2046558484951667133
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">『プログラマーのための圏論』<br><br>コードで学ぶ、プログラマーのための圏論入門<br>・C++とHaskellのコードを使って、圏論の概念を解説した<br>・数学書のような定理⇒証明の繰り返しではなく、プログラマーの慣れている技術書な解説とした<a href="https://t.co/SpV3tIk3Kk">https://t.co/SpV3tIk3Kk</a> <a href="https://t.co/lBcrTZI5C5">pic.twitter.com/lBcrTZI5C5</a></p>&mdash; Yoshiki Sato (@phys_yoshiki) <a href="https://twitter.com/phys_yoshiki/status/2046558484951667133?ref_src=twsrc%5Etfw">April 21, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p><a href="https://www.amazon.co.jp/dp/427423486X/">プログラマーのための圏論 | Bartosz Milewski, 北川 雅裕, 松田 一孝</a></p>
<blockquote>
<p>〈本書のポイント〉</p>
<ul>
<li>C++とHaskellのコードを使って、圏論の概念を解説した</li>
<li>数学書のような定理⇒証明の繰り返しではなく、プログラマーの慣れている技術書な解説とした</li>
</ul>
</blockquote>
<p>ふむ。</p>
<h3 id="冒険者カールの地球ダンジョン">冒険者カールの地球ダンジョン</h3>
<!--
XユーザーのShinichi OSHIBUCHIさん: 
「@Mossie633 作者は、ネコイベントで猫の似顔絵を描いて生計を立てていたらしいです。 
コロナになってネコイベントがなくなって、困って専業の作家になった人 と中原さんがおっしゃってました。」 / X
https://x.com/CptBuchi/status/2046407396508270887
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">作者は、ネコイベントで猫の似顔絵を描いて生計を立てていたらしいです。<br>コロナになってネコイベントがなくなって、困って専業の作家になった人<br>と中原さんがおっしゃってました。</p>&mdash; Shinichi OSHIBUCHI (@CptBuchi) <a href="https://twitter.com/CptBuchi/status/2046407396508270887?ref_src=twsrc%5Etfw">April 21, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>これかな?
3月に出たばかりか</p>
<ul>
<li><a href="https://www.amazon.co.jp/dp/4150125139/">冒険者カールの地球ダンジョン 1: 宇宙人襲来! 飼い猫とダンジョンに放りこまれたんだが? (ハヤカワ文庫SF) : マット・ディニマン: 本</a></li>
<li><a href="https://www.amazon.co.jp/dp/4150125147/">冒険者カールの地球ダンジョン 2: 銀河生配信! デスゲームでめざせフォロワー爆増 (ハヤカワ文庫SF) (ハヤカワ文庫SF SFテ 14-2) | マット・ディニマン |本 | 通販 | Amazon</a></li>
</ul>
<h3 id="怪奇大作戦">怪奇大作戦</h3>
<p><a href="https://www.amazon.co.jp/dp/4778038983/">怪奇大作戦　池上遼一版 | 池上 遼一 |本 | 通販 | Amazon</a></p>
<p>気になる</p>
<hr>
<h2 id="awk">awk</h2>
<h3 id="gawk">gawk</h3>
<p>あまりの話の通じなさにarnoldが…&#x1f613;</p>
<p><a href="https://lists.gnu.org/archive/html/bug-gawk/2026-04/msg00059.html">Re: [Security] Stack-based buffer overflow in readdir extension (sprintf</a></p>
<blockquote>
<p>!@#$%^&amp;*()</p>
<p>I am sssssssooooooooo tired&hellip;.</p>
<p>This is what I mean by inconsisencies. snprintf() includes the NUL
in its computations to not overwrite the buffer but doesn&rsquo;t include
it in the count returned.</p>
</blockquote>
<ul>
<li><a href="https://lists.gnu.org/archive/html/bug-gawk/2026-04/msg00056.html">Re: [Security] Stack-based buffer overflow in readdir extension (sprintf</a></li>
<li><a href="https://lists.gnu.org/archive/html/bug-gawk/2026-04/msg00058.html">RE: [Security] Stack-based buffer overflow in readdir extension (sprintf</a></li>
</ul>
<hr>
</content:encoded>
		</item>
		
		<item>
			<title>ガラガラポンからガッチャンコしてペライチに</title>
			<link>http://www.kt.rim.or.jp/~kbk/zakkicho/post/2026/04/18/</link>
			<pubDate>Sat, 18 Apr 2026 00:00:00 +0900</pubDate>
			
			<guid>http://www.kt.rim.or.jp/~kbk/zakkicho/post/2026/04/18/</guid>
			<description>JR東の車内広告でみた＞ガラガラポンからガッチャンコしてペライチに なぜAdobeの広告は一瞬で刺さるのか「ガラガラポン」「がっちゃんこ」「ペ</description>
			<content:encoded><p>JR東の車内広告でみた＞ガラガラポンからガッチャンコしてペライチに</p>
<!--
「ガラガラポンから、がっちゃんこして、ペライチに」 Acrobatでデキちゃう篇 | Adobe Acrobat ー アドビ公式 - YouTube
https://www.youtube.com/watch?v=XP8WYgQROg4
-->

<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
  <iframe src="https://www.youtube.com/embed/XP8WYgQROg4" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video"></iframe>
</div>

<ul>
<li><a href="https://note.com/77777777777/n/nf4e4e30bf3bd">なぜAdobeの広告は一瞬で刺さるのか「ガラガラポン」「がっちゃんこ」「ペライチ」に隠れた言葉の設計｜近森満｜DXコンサルタント／IT人材育成／検定事業化｜超知性AI時代のマインドセット</a></li>
<li><a href="https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14326942459">「ガラガラポンからガッチャンコしてペライチにする」って、どういう意味ですか？日&hellip; - Yahoo!知恵袋</a></li>
</ul>
<h3 id="下位互換">下位互換</h3>
<p><a href="https://pc.watch.impress.co.jp/docs/news/2102469.html">IPv4と完全下位互換の「IPv8」ドラフトが投稿。IPv6の課題を克服 - PC Watch</a></p>
<p>こういうケースは「上位互換」ではなかろうか?</p>
<h3 id="おくすり手帳ケース">おくすり手帳ケース</h3>
<p><a href="https://animeanime.jp/article/2026/04/17/98050.html">あえて言おう、お薬手帳であると。「ガンダム」連邦軍、シャア、ザビ家をデザイン！お薬手帳ケースで通院グッズをすっきり収納 | アニメ！アニメ！</a></p>
<p>手帳そのものではなくケースと</p>
<h3 id="ハンズ">ハンズ</h3>
<p><a href="https://diamond-rm.net/flash_news/543103/">ハンズ、東京・自由が丘に「ハンズ 自由が丘店」2026年9月オープン | 流通・小売業界で働く人の情報サイト_ダイヤモンド・チェーンストアオンライン</a></p>
<p>メモ</p>
<h3 id="重巡洋艦">重巡洋艦</h3>
<p><a href="https://renaissance-media.jp/articles/-/25041">日露戦争で活躍した、日本海軍の重巡洋艦、「吾妻」…バルチック艦隊との決戦で、敵艦に致命的な集中弾を浴びせ、戦後に勇名を馳せた。｜ゴールドライフオンライン</a></p>
<p>日露戦争の時点では「重巡洋艦」という艦種はまだないし、
吾妻が重巡洋艦に類別されたことはなかったような</p>
<ul>
<li><a href="https://ja.wikipedia.org/wiki/%E5%90%BE%E5%A6%BB_(%E8%A3%85%E7%94%B2%E5%B7%A1%E6%B4%8B%E8%89%A6)">吾妻 (装甲巡洋艦) - Wikipedia</a></li>
<li><a href="https://ja.wikipedia.org/wiki/%E9%87%8D%E5%B7%A1%E6%B4%8B%E8%89%A6">重巡洋艦 - Wikipedia</a></li>
</ul>
<h3 id="ada">Ada</h3>
<p><a href="https://www.101computing.net/ada-lovelace-and-the-first-computer-algorithm/">Ada Lovelace and the First Computer Algorithm - 101 Computing</a></p>
<h3 id="kent-beck">kent beck</h3>
<ul>
<li><a href="https://news.ycombinator.com/item?id=47799817">Kent Beck: Parkinson&rsquo;s | Hacker News</a></li>
<li><a href="https://tidyfirst.substack.com/p/parkinsons">Parkinson&rsquo;s - by Kent Beck - Software Design: Tidy First?</a></li>
</ul>
<hr>
<h2 id="新刊近刊">新刊近刊</h2>
<ul>
<li><a href="https://sinkan.net/?ean=9784766430974&amp;action_item=true&amp;ref=m">誰でもいつでも論理学 岡田光弘/峯島宏次 人文・思想・社会</a></li>
<li><a href="https://sinkan.net/?ean=9784911686003&amp;action_item=true&amp;ref=m">データで「攻める」公共交通のサバイバル術 交通工学研究会 その他</a></li>
<li><a href="https://min2-fly.hatenablog.com/entry/2026/04/07/143246">新著『教養としての査読―なぜ「論文」を信用できるのか』が刊行されます - かたつむりは電子図書館の夢をみるか（はてなブログ版）</a></li>
</ul>
<h3 id="grande-armée">Grande Armée</h3>
<!--
Xユーザーの書泉グランデ | 神保町さん: 
「お前たちは何だ？！ 
大陸軍（グランダルメ）！！！ 
大陸軍は世界最強〜！」 / X
https://x.com/shosengnd/status/2042137062699364397
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">お前たちは何だ？！<br>大陸軍（グランダルメ）！！！<br>大陸軍は世界最強〜！… <a href="https://t.co/bD2cRnk0XJ">https://t.co/bD2cRnk0XJ</a></p>&mdash; 書泉グランデ | 神保町 (@shosengnd) <a href="https://twitter.com/shosengnd/status/2042137062699364397?ref_src=twsrc%5Etfw">April 9, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>さすがは書泉グランデ、結構な数をいれてそう</p>
<h3 id="アドインエクスプロラータ">アド・インエクスプロラータ</h3>
<!--
Xユーザーのヤマト ナオミチさん: 
「素晴らしい本です。 ただの画集ではありません。 
SFのメカ描写の思考が明記されてます。 
手にとってほしい一冊です。
 #宮武一貴 https://t.co/sf50yc6CSv」 / X
https://x.com/chinbotsuyamatn/status/2044990620998279529
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">素晴らしい本です。<br>ただの画集ではありません。<br>SFのメカ描写の思考が明記されてます。<br>手にとってほしい一冊です。<a href="https://twitter.com/hashtag/%E5%AE%AE%E6%AD%A6%E4%B8%80%E8%B2%B4?src=hash&amp;ref_src=twsrc%5Etfw">#宮武一貴</a> <a href="https://t.co/sf50yc6CSv">pic.twitter.com/sf50yc6CSv</a></p>&mdash; ヤマト ナオミチ (@chinbotsuyamatn) <a href="https://twitter.com/chinbotsuyamatn/status/2044990620998279529?ref_src=twsrc%5Etfw">April 17, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>これかな?</p>
<p><a href="https://www.amazon.co.jp/dp/449923445X/">宮武一貴のアド・インエクスプロラータ 明後日の空へ: 明後日の空へ | 宮武一貴 |本 | 通販 | Amazon</a></p>
<table>
<thead>
<tr>
<th style="text-align:left"></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">出版社</td>
<td style="text-align:left">大日本絵画</td>
</tr>
<tr>
<td style="text-align:left">発売日</td>
<td style="text-align:left">2026/4/8</td>
</tr>
<tr>
<td style="text-align:left">本の長さ</td>
<td style="text-align:left">128ページ</td>
</tr>
<tr>
<td style="text-align:left">商品の重量</td>
<td style="text-align:left">630 g</td>
</tr>
<tr>
<td style="text-align:left">寸法</td>
<td style="text-align:left">21.2 x 1.2 x 29.8 cm</td>
</tr>
</tbody>
</table>
<p>値段は…まあこれくらいにはなるのか</p>
<h3 id="aiシステム性能エンジニアリング">AIシステム性能エンジニアリング</h3>
<!--
XユーザーのKentaro Ebisawaさん: 
「昨年出版社に翻訳したいとコンタクトしたら「日本語翻訳は既に企画が進んでいるので...」と言われた 
"AI Systems Performance Engineering（AIシステム性能エンジニアリング）"、
出版されたので「翻訳者は誰だれなんだろ？」とチェックしたら 
「この作品はAIを使って翻訳されている」 だった 😅 https://t.co/7dPM30NfDv」 / X
https://x.com/ebiken/status/2044935879089860904
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">昨年出版社に翻訳したいとコンタクトしたら「日本語翻訳は既に企画が進んでいるので...」と言われた &quot;AI Systems Performance Engineering（AIシステム性能エンジニアリング）&quot;、出版されたので「翻訳者は誰だれなんだろ？」とチェックしたら 「この作品はAIを使って翻訳されている」 だった 😅 <a href="https://t.co/7dPM30NfDv">pic.twitter.com/7dPM30NfDv</a></p>&mdash; Kentaro Ebisawa (@ebiken) <a href="https://twitter.com/ebiken/status/2044935879089860904?ref_src=twsrc%5Etfw">April 17, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>へーと思ったが</p>
<!--
Xユーザーのiwashi / Yoshimasa Iwaseさん: 
「オライリー社の書籍（物にもよるけど）は、人手による翻訳が出るまでの期間は、
AI翻訳によるものがラーニングプラットフォームに掲載されることがあるので、
それかなと思った。 自分の手がけた書籍もそうだった気がする。」 / X
https://x.com/iwashi86/status/2045016114766500335
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">オライリー社の書籍（物にもよるけど）は、人手による翻訳が出るまでの期間は、AI翻訳によるものがラーニングプラットフォームに掲載されることがあるので、それかなと思った。<br><br>自分の手がけた書籍もそうだった気がする。 <a href="https://t.co/kn5ReldFE5">https://t.co/kn5ReldFE5</a></p>&mdash; iwashi / Yoshimasa Iwase (@iwashi86) <a href="https://twitter.com/iwashi86/status/2045016114766500335?ref_src=twsrc%5Etfw">April 17, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>こういうことらしい?</p>
<hr>
<h3 id="宇宙にいかない方">宇宙にいかない方</h3>
<!--
Xユーザーの偏見で語る兵器botさん: 
「戦艦 武蔵　大和型の宇宙にいかない方。あとムサッシとは違うから。
普通の艦艇なら冗談抜きで10回は沈んでるというか普通の戦艦も
数回死ねる凄まじい打撃を食らっても動いていたがレイテみたいな戦場じゃ
もうどんな頑張ってもどうにもならなかった https://t.co/ilGZ9CV3ka」 / X
https://x.com/heikihenken/status/2043544258213245286
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">戦艦 武蔵　大和型の宇宙にいかない方。あとムサッシとは違うから。普通の艦艇なら冗談抜きで10回は沈んでるというか普通の戦艦も数回死ねる凄まじい打撃を食らっても動いていたがレイテみたいな戦場じゃもうどんな頑張ってもどうにもならなかった <a href="https://t.co/ilGZ9CV3ka">pic.twitter.com/ilGZ9CV3ka</a></p>&mdash; 偏見で語る兵器bot (@heikihenken) <a href="https://twitter.com/heikihenken/status/2043544258213245286?ref_src=twsrc%5Etfw">April 13, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>「『ムサッシ』」とは違うから」にくすりと</p>
<!--
Xユーザーの小猫遊りょう（たかにゃし・りょう）さん: 
「ラッダイト運動のときの放火予告 意訳 「放火しようと思ったが、
それだと勤勉な親方が被害を受けるので、人道的正義として放火予告から始めることにした。
7日以内に機械を撤去しないなら、全て放火する。我々は十分に警告した。
なので、もしも工場が焼かれても、それは撤去しなかったあなたのせい」 https://t.co/vCMkATPhpE」 / X
https://x.com/jaguring1/status/2042896636888887504
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ラッダイト運動のときの放火予告<br><br>意訳<br>「放火しようと思ったが、それだと勤勉な親方が被害を受けるので、人道的正義として放火予告から始めることにした。7日以内に機械を撤去しないなら、全て放火する。我々は十分に警告した。なので、もしも工場が焼かれても、それは撤去しなかったあなたのせい」 <a href="https://t.co/vCMkATPhpE">pic.twitter.com/vCMkATPhpE</a></p>&mdash; 小猫遊りょう（たかにゃし・りょう） (@jaguring1) <a href="https://twitter.com/jaguring1/status/2042896636888887504?ref_src=twsrc%5Etfw">April 11, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<h3 id="超攻速">超攻速</h3>
<!--
Xユーザーのぼびらこたまpart3さん: 
「1984年放映アニメOP～ED～最終回予告 
放送期間中にメインスポンサー倒産というアクシデントのため急遽打ち切りという結末なので
全く最終回らしくない予告編が泣かせる・・・ https://t.co/5CXLMFsU0g」 / X
https://x.com/part329310623/status/2043335963657802088
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">1984年放映アニメOP～ED～最終回予告<br>放送期間中にメインスポンサー倒産というアクシデントのため急遽打ち切りという結末なので全く最終回らしくない予告編が泣かせる・・・ <a href="https://t.co/5CXLMFsU0g">pic.twitter.com/5CXLMFsU0g</a></p>&mdash; ぼびらこたまpart3 (@part329310623) <a href="https://twitter.com/part329310623/status/2043335963657802088?ref_src=twsrc%5Etfw">April 12, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>ガルビオンは一応観ていたと思うんだけどほとんど記憶に残ってない&#x1f613;</p>
<h3 id="ザブングル-グラフィティ">ザブングル グラフィティ</h3>
<!--
XユーザーのRetro anime OP/EDさん: 
「GET IT!/MIO 映画 ザブングル グラフィティ ED(1983年) 
GET IT!/MIO Xabungle Graffiti ED #80s_retro_anime https://t.co/DfzhoJ9JFF」 / X
https://x.com/anime8cm/status/2043020252150120856
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">GET IT!/MIO<br>映画 ザブングル グラフィティ ED(1983年)<br><br>GET IT!/MIO<br>Xabungle Graffiti ED <a href="https://twitter.com/hashtag/80s_retro_anime?src=hash&amp;ref_src=twsrc%5Etfw">#80s_retro_anime</a> <a href="https://t.co/DfzhoJ9JFF">pic.twitter.com/DfzhoJ9JFF</a></p>&mdash; Retro anime OP/ED (@anime8cm) <a href="https://twitter.com/anime8cm/status/2043020252150120856?ref_src=twsrc%5Etfw">April 11, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>今ちょっと観てみたい(「ドキュメント・ダグラム」も)</p>
<h3 id="キョーダイン">キョーダイン</h3>
<!--
Xユーザーの彁(再生)さん: 
「#昭和巨大ヒーロー選手権 お忘れかもしれないですが、
キョーダインも巨大ヒーローだったんですよ 8話までだけど https://t.co/2hUVedhEYi」 / X
https://x.com/ka_ghost_sei/status/2043223358381371468
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/%E6%98%AD%E5%92%8C%E5%B7%A8%E5%A4%A7%E3%83%92%E3%83%BC%E3%83%AD%E3%83%BC%E9%81%B8%E6%89%8B%E6%A8%A9?src=hash&amp;ref_src=twsrc%5Etfw">#昭和巨大ヒーロー選手権</a><br><br>お忘れかもしれないですが、キョーダインも巨大ヒーローだったんですよ<br><br>8話までだけど <a href="https://t.co/2hUVedhEYi">pic.twitter.com/2hUVedhEYi</a></p>&mdash; 彁(再生) (@ka_ghost_sei) <a href="https://twitter.com/ka_ghost_sei/status/2043223358381371468?ref_src=twsrc%5Etfw">April 12, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>観ていたと思うんだけど(ry</p>
<h3 id="heading"></h3>
<!--
Xユーザーのクワタ＠3/29浜松町スパヒロお兄08さん: 
「社名こそ出せないが、氷河期新卒時代に常駐したとあるメーカーは下請けをゴミのように扱うところだった。
頭を押し除けて「どけよ」なんて言われるのは日常茶飯事。毎日がパワハラで心を病み、病院のお世話になった。 
以来、富士通の製品だけは絶対に買うまいと心に誓ってる。」 / X
https://x.com/kuwataku/status/2044769473484505156
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">社名こそ出せないが、氷河期新卒時代に常駐したとあるメーカーは下請けをゴミのように扱うところだった。頭を押し除けて「どけよ」なんて言われるのは日常茶飯事。毎日がパワハラで心を病み、病院のお世話になった。<br>以来、富士通の製品だけは絶対に買うまいと心に誓ってる。</p>&mdash; クワタ＠3/29浜松町スパヒロお兄08 (@kuwataku) <a href="https://twitter.com/kuwataku/status/2044769473484505156?ref_src=twsrc%5Etfw">April 16, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<!--
Xユーザーのロボ太さん: 
「社名こそ出せないが、某コンパイラの文句を言ってたら
「それ、開発者の前でも言えんの？」と本社に招待してくださり、後で共著で報告書を書いたり、
SNSが縁で有名なコードウィザードが大学の居室に来てツーショット写真を撮れたりしたので富士通には良い印象がある。」 / X
https://x.com/kaityo256/status/2045361829300625772
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">社名こそ出せないが、某コンパイラの文句を言ってたら「それ、開発者の前でも言えんの？」と本社に招待してくださり、後で共著で報告書を書いたり、SNSが縁で有名なコードウィザードが大学の居室に来てツーショット写真を撮れたりしたので富士通には良い印象がある。</p>&mdash; ロボ太 (@kaityo256) <a href="https://twitter.com/kaityo256/status/2045361829300625772?ref_src=twsrc%5Etfw">April 18, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


</content:encoded>
		</item>
		
		<item>
			<title>2026-04-15</title>
			<link>http://www.kt.rim.or.jp/~kbk/zakkicho/post/2026/04/15/</link>
			<pubDate>Wed, 15 Apr 2026 00:00:00 +0900</pubDate>
			
			<guid>http://www.kt.rim.or.jp/~kbk/zakkicho/post/2026/04/15/</guid>
			<description>北斗の拳 どこまでやるんだろう? 1クールだとシンとの決着くらいか? と思って ONAIR -アニメ『北斗の拳 -FIST OF THE NORTH STAR-』公式サイト- を見るとキャラク</description>
			<content:encoded><h3 id="北斗の拳">北斗の拳</h3>
<p>どこまでやるんだろう?
1クールだとシンとの決着くらいか?
と思って</p>
<p><a href="https://hokuto-anime.com/onair/">ONAIR -アニメ『北斗の拳 -FIST OF THE NORTH STAR-』公式サイト-</a></p>
<p>を見るとキャラクターにレイやラオウ、トキがあるので
連続2クールとか?</p>
<blockquote>
<p>初回4月10日(金)および4月17日(金)は2話連続特別編成!!</p>
</blockquote>
<p>今週も2話連続らしい</p>
<h3 id="京浜東北線日中メンテ">京浜東北線日中メンテ</h3>
<p>日中に作業するらしい</p>
<ul>
<li><a href="https://www.jreast.co.jp/keihin-maintenance/">京浜東北線メンテナンス作業・工事のお知らせ：JR東日本</a></li>
<li><a href="https://www.jreast.co.jp/press/2025/tokyo/20260217_to01.pdf">メンテナンス業務変革を目的とした京浜東北線および横須賀線 日中時間帯における作業・工事の実施について - 20260217_to01.pdf</a></li>
<li><a href="https://manager-travels.com/post-10454/">京浜東北線・横須賀線でも集中工事実施へ | 旅するマネージャーのブログ</a></li>
</ul>
<h3 id="molotov-cocktail">Molotov cocktail</h3>
<p><a href="https://www.itmedia.co.jp/news/articles/2604/12/news018.html">OpenAIのアルトマンCEO、批判的報道と自宅への火炎瓶事件についての個人ブログ公開　家族写真も - \ITmedia NEWS]</a></p>
<p>この事件に関してのものだと思うけどHNで</p>
<p><a href="https://news.ycombinator.com/item?id=47724921">Sam Altman&rsquo;s response to Molotov cocktail incident | Hacker News</a></p>
<p>Molotov cocktail て…&#x1f613;</p>
<h3 id="yapctokyo-2026">YAPC::Tokyo 2026</h3>
<p><a href="https://blog.yapcjapan.org/entry/2026/04/10/110000">「YAPC::Tokyo 2026」、東京ビッグサイトで開催します!!! - YAPC::Japan 運営ブログ</a></p>
<p>メモ</p>
<h3 id="お静かにライト">お静かにライト</h3>
<p><a href="https://www.watch.impress.co.jp/docs/news/2101641.html">キングジム、声の大きさを光で知らせる「お静かにライト」 - Impress Watch</a></p>
<p>職場にちょっと欲しいなこれ(ただし役に立つかは微妙)&#x1f604;</p>
<hr>
<ul>
<li><a href="https://news.ycombinator.com/item?id=47147609">Turing Completeness of GNU find | Hacker News</a>
<ul>
<li><a href="https://arxiv.org/abs/2602.20762">[2602.20762] Turing Completeness of GNU find: From mkdir-assisted Loops to Standalone Computation</a></li>
</ul>
</li>
<li><a href="https://news.ycombinator.com/item?id=47110384">Cl-kawa: Scheme on Java on Common Lisp | Hacker News</a>
<ul>
<li><a href="https://github.com/atgreen/cl-kawa">GitHub - atgreen/cl-kawa: Scheme on Java on Common Lisp</a></li>
</ul>
</li>
<li><a href="https://news.ycombinator.com/item?id=47101034">Build Your Own Forth Interpreter | Hacker News</a>
<ul>
<li><a href="https://codingchallenges.fyi/challenges/challenge-forth/">Build Your Own Forth Interpreter | Coding Challenges</a></li>
</ul>
</li>
<li><a href="https://softwarepreservation.computerhistory.org/c_plus_plus/">C++ historical sources archive</a>
<ul>
<li><a href="(https://ftp.mirrorservice.org/sites/sources.redhat.com/pub/gcc/old-releases/index.html)">GNU g++ releases See [here]</a></li>
</ul>
</li>
</ul>
<h3 id="merkle-hash">Merkle hash</h3>
<ul>
<li><a href="https://www.reddit.com/r/programming/comments/1shroof/parsing_11_languages_in_pure_go_without_cgo/">Parsing 11 languages in pure Go without CGO: replacing regex with a tree-sitter runtime : r/programming</a>
<ul>
<li><a href="https://glinr.hashnode.dev/parsing-11-languages-in-pure-go-without-cgo-how-i-replaced-regex-with-a-tree-sitter-runtime">Parsing 11 languages in pure Go without CGO</a></li>
</ul>
</li>
</ul>
<blockquote>
<p>The Merkle hash trick for incremental updates</p>
</blockquote>
<p>Merkle hash → Markle tree?</p>
<ul>
<li><a href="https://qiita.com/TakanoriVega/items/dd431c249045280fd37c">賢すぎるデータ構造：Merkle tree #ブロックチェーン - Qiita</a></li>
<li><a href="https://note.com/standenglish/n/n90e0b365214a">【完全保存版】マークルツリー(Merkle Tree)について、しっかりと理解しよう！｜ユウキ</a></li>
<li><a href="https://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E6%9C%A8">ハッシュ木 - Wikipedia</a></li>
</ul>
<hr>
<h2 id="wg-14">WG 14</h2>
<p><a href="https://www.open-std.org/jtc1/sc22/wg14/www/wg14_document_log.htm">WG 14 Document log</a></p>
<table>
<thead>
<tr>
<th style="text-align:left"></th>
<th style="text-align:left"></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">N3875</td>
<td style="text-align:left">2026/04/12</td>
<td style="text-align:left">Colomar, comparable types</td>
</tr>
<tr>
<td style="text-align:left">N3874</td>
<td style="text-align:left">2026/04/12</td>
<td style="text-align:left">Thomas, April 2026 CFP teleconference agenda</td>
</tr>
<tr>
<td style="text-align:left">N3873</td>
<td style="text-align:left">2026/04/12</td>
<td style="text-align:left">Thomas, March 2026 CFP teleconference minutes</td>
</tr>
<tr>
<td style="text-align:left">N3872</td>
<td style="text-align:left">2026/04/12</td>
<td style="text-align:left">Douglas, Thread safe signals handling rev 3</td>
</tr>
<tr>
<td style="text-align:left">N3867</td>
<td style="text-align:left">2026/04/12</td>
<td style="text-align:left">Gustedt, C semantics for contracts, v3</td>
</tr>
<tr>
<td style="text-align:left">N3866</td>
<td style="text-align:left">2026/04/12</td>
<td style="text-align:left">Karl, Remove undefined behavior for non-basic source characters in source files (modified)</td>
</tr>
<tr>
<td style="text-align:left">N3836</td>
<td style="text-align:left">2026/04/12</td>
<td style="text-align:left">Celeste, Ottawa ON August 2026 venue information</td>
</tr>
</tbody>
</table>
<p><a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3867.htm">C semantics for contracts</a>
ｗちょっと読んでみると</p>
<blockquote>
<p>Other features in our proposal that are different from C++ contracts:</p>
<ul>
<li>We allow declarations of ghost states, similar to declarations in if-statements.</li>
<li>The name of the return variable in postconditions is fixed to _ReturnValue and cannot be annotated with attributes.</li>
<li>We use keywords _Pre, _Post and _Inv for contracts. C++’s syntax with pre and post (plus inv) is available with function-like macros. Contracts cannot be annotated with attributes.</li>
<li>We provide a macro (and function) stdc_contract_terminate that in general leads to the printing of a diagnostic and then to program termination.</li>
</ul>
</blockquote>
<p>こんなことが書かれていた</p>
<ul>
<li><a href="https://onihusube.hatenablog.com/entry/2023/12/25/220134">［C++］契約プログラミング機能のこれまでとこれから - 地面を見下ろす少年の足蹴にされる私</a></li>
<li><a href="https://onihusube.hatenablog.com/entry/2025/12/25/093454">［C++］C++26 Contracts - 地面を見下ろす少年の足蹴にされる私</a></li>
<li><a href="https://en.cppreference.com/w/cpp/language/contracts.html">Contract assertions (since C++26) - cppreference.com</a></li>
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2900r11.pdf">P2900R11 Contracts for C++</a></li>
</ul>
<hr>
<h2 id="awk">awk</h2>
<h3 id="gawk">gawk</h3>
<p><a href="https://lists.gnu.org/archive/html/bug-gawk/2026-04/msg00049.html">MinRX regular expression failure</a></p>
<blockquote>
<p>For example, the two lines</p>
<pre tabindex="0"><code>sub(/+[/]*-/, &#34;&#34;)
sub(&#34;+/-[ ]*&#34;, &#34;&#34;)
</code></pre><p>both cause a MinRX error (gawk quits parsing at the &ldquo;offending&rdquo; line).</p>
</blockquote>
<p>細かいところでもいろいろ違いがありそう</p>
<hr>
<h2 id="glibc">glibc</h2>
<p>glincのregexのバグ。
gawkはback referenceを使っていないのでセーフ(?)</p>
<ul>
<li><a href="https://lists.gnu.org/archive/html/bug-gnulib/2026-04/msg00068.html">[PATCH] regex: fix false match with backrefs and $ anchor</a></li>
<li><a href="https://lists.gnu.org/archive/html/bug-gnulib/2026-04/msg00070.html">Re: [PATCH] posix: fix false regex match with backrefs and $ anchor</a>
<ul>
<li><a href="https://lists.gnu.org/archive/html/bug-gnulib/2026-04/msg00072.html">Re: [PATCH] posix: fix false regex match with backrefs and $ anchor</a>
<ul>
<li><a href="https://lists.gnu.org/archive/html/bug-gnulib/2026-04/msg00073.html">Re: [PATCH] posix: fix false regex match with backrefs and $ anchor</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="https://lists.gnu.org/archive/html/bug-gnulib/2026-04/msg00071.html">Re: [PATCH] posix: fix false regex match with backrefs and $ anchor</a>
<ul>
<li><a href="https://lists.gnu.org/archive/html/bug-gnulib/2026-04/msg00075.html">Re: [PATCH] posix: fix false regex match with backrefs and $ anchor</a></li>
</ul>
</li>
</ul>
<p><a href="https://lists.gnu.org/archive/html/bug-gnulib/2026-04/msg00087.html">Re: [PATCH] posix: fix false regex match with backrefs and $ anchor</a></p>
<!--
  https://lists.gnu.org/archive/html/bug-gnulib/2026-04/txtaSjytSTHFz.txt
-->
<p>パッチを見ると</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-diff" data-lang="diff"><span style="display:flex;"><span>diff --git a/lib/regexec.c b/lib/regexec.c
</span></span><span style="display:flex;"><span>index c84ce1ef33..e09fc7698e 100644
</span></span><span style="display:flex;"><span><span style="color:#f92672">--- a/lib/regexec.c
</span></span></span><span style="display:flex;"><span><span style="color:#f92672"></span><span style="color:#a6e22e">+++ b/lib/regexec.c
</span></span></span><span style="display:flex;"><span><span style="color:#a6e22e"></span><span style="color:#75715e">@@ -943,7 +943,10 @@ prune_impossible_nodes (re_match_context_t *mctx)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>                  goto free_return;
</span></span><span style="display:flex;"><span>                }
</span></span><span style="display:flex;"><span>            } while (mctx-&gt;state_log[match_last] == NULL
</span></span><span style="display:flex;"><span><span style="color:#f92672">-                    || !mctx-&gt;state_log[match_last]-&gt;halt);
</span></span></span><span style="display:flex;"><span><span style="color:#f92672"></span><span style="color:#a6e22e">+                    || !mctx-&gt;state_log[match_last]-&gt;halt
</span></span></span><span style="display:flex;"><span><span style="color:#a6e22e">+                    || !check_halt_state_context (mctx,
</span></span></span><span style="display:flex;"><span><span style="color:#a6e22e">+                                                  mctx-&gt;state_log[match_last],
</span></span></span><span style="display:flex;"><span><span style="color:#a6e22e">+                                                  match_last));
</span></span></span><span style="display:flex;"><span><span style="color:#a6e22e"></span>          halt_node = check_halt_state_context (mctx,
</span></span><span style="display:flex;"><span>                                                mctx-&gt;state_log[match_last],
</span></span><span style="display:flex;"><span>                                                match_last);
</span></span></code></pre></div><p>わかるようなわからんような。
glibcのregexはわかりづらいんだよねえ</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-c" data-lang="c"><span style="display:flex;"><span><span style="color:#75715e">/* Check NODE match the current context.  */</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">static</span> <span style="color:#66d9ef">bool</span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">check_halt_node_context</span> (<span style="color:#66d9ef">const</span> <span style="color:#66d9ef">re_dfa_t</span> <span style="color:#f92672">*</span>dfa, Idx node, <span style="color:#66d9ef">unsigned</span> <span style="color:#66d9ef">int</span> context)
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">re_token_type_t</span> type <span style="color:#f92672">=</span> dfa<span style="color:#f92672">-&gt;</span>nodes[node].type;
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">unsigned</span> <span style="color:#66d9ef">int</span> constraint <span style="color:#f92672">=</span> dfa<span style="color:#f92672">-&gt;</span>nodes[node].constraint;
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">if</span> (type <span style="color:#f92672">!=</span> END_OF_RE)
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">return</span> false;
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">if</span> (<span style="color:#f92672">!</span>constraint)
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">return</span> true;
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">if</span> (<span style="color:#a6e22e">NOT_SATISFY_NEXT_CONSTRAINT</span> (constraint, context))
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">return</span> false;
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">return</span> true;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">/* Check the halt state STATE match the current context.
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">   Return 0 if not match, if the node, STATE has, is a halt node and
</span></span></span><span style="display:flex;"><span><span style="color:#75715e">   match the context, return the node.  */</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">static</span> Idx
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">check_halt_state_context</span> (<span style="color:#66d9ef">const</span> <span style="color:#66d9ef">re_match_context_t</span> <span style="color:#f92672">*</span>mctx,
</span></span><span style="display:flex;"><span>                          <span style="color:#66d9ef">const</span> <span style="color:#66d9ef">re_dfastate_t</span> <span style="color:#f92672">*</span>state, Idx idx)
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>  Idx i;
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">unsigned</span> <span style="color:#66d9ef">int</span> context;
</span></span><span style="display:flex;"><span>  <span style="color:#a6e22e">DEBUG_ASSERT</span> (state<span style="color:#f92672">-&gt;</span>halt);
</span></span><span style="display:flex;"><span>  context <span style="color:#f92672">=</span> <span style="color:#a6e22e">re_string_context_at</span> (<span style="color:#f92672">&amp;</span>mctx<span style="color:#f92672">-&gt;</span>input, idx, mctx<span style="color:#f92672">-&gt;</span>eflags);
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">for</span> (i <span style="color:#f92672">=</span> <span style="color:#ae81ff">0</span>; i <span style="color:#f92672">&lt;</span> state<span style="color:#f92672">-&gt;</span>nodes.nelem; <span style="color:#f92672">++</span>i)
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">if</span> (<span style="color:#a6e22e">check_halt_node_context</span> (mctx<span style="color:#f92672">-&gt;</span>dfa, state<span style="color:#f92672">-&gt;</span>nodes.elems[i], context))
</span></span><span style="display:flex;"><span>      <span style="color:#66d9ef">return</span> state<span style="color:#f92672">-&gt;</span>nodes.elems[i];
</span></span><span style="display:flex;"><span>  <span style="color:#66d9ef">return</span> <span style="color:#ae81ff">0</span>;
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>glibc/posix/rxspencer/COPYRIGHT</p>
<hr>
<!--
Xユーザーの株式会社石井マークさん: 
「https://t.co/YDn9LPbsjp」 / X
https://x.com/ishiimark_sign/status/2043536493210444241

Xユーザーの株式会社石井マークさん: 
「https://t.co/uqlFxNgN94」 / X
https://x.com/ishiimark_sign/status/2043542839720874235
-->
<blockquote class="twitter-tweet"><p lang="zxx" dir="ltr"><a href="https://t.co/uqlFxNgN94">pic.twitter.com/uqlFxNgN94</a></p>&mdash; 株式会社石井マーク (@ishiimark_sign) <a href="https://twitter.com/ishiimark_sign/status/2043542839720874235?ref_src=twsrc%5Etfw">April 13, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


</content:encoded>
		</item>
		
		<item>
			<title>NE2000</title>
			<link>http://www.kt.rim.or.jp/~kbk/zakkicho/post/2026/04/11/</link>
			<pubDate>Sat, 11 Apr 2026 00:00:00 +0900</pubDate>
			
			<guid>http://www.kt.rim.or.jp/~kbk/zakkicho/post/2026/04/11/</guid>
			<description>命令セット 同じ処理、3つの命令セット——x86_64・ARM・z/Architecture のアセンブリを読み比べる メインフレームのものもある</description>
			<content:encoded><h3 id="命令セット">命令セット</h3>
<p><a href="https://zenn.dev/yasu01/articles/0350f265dc880c">同じ処理、3つの命令セット——x86_64・ARM・z/Architecture のアセンブリを読み比べる</a></p>
<p>メインフレームのものもあるのがめずらしい</p>
<h3 id="明朝体">明朝体</h3>
<ul>
<li><a href="https://news.mynavi.jp/article/20260407-4304093/">明朝体って何種類あるか知っていますか？ - 話題の「明朝体展」レポート（1） | マイナビニュース</a></li>
<li><a href="https://news.mynavi.jp/article/20260408-4304369/">明朝体の歴史を体感できる巨大年表が圧巻！ - 話題の「明朝体展」レポート（2） | マイナビニュース</a></li>
<li><a href="https://news.mynavi.jp/article/20260409-4311612/">デジタルフォントの手書き原図に驚く - 話題の「明朝体展」レポート その3 | マイナビニュース</a></li>
<li><a href="https://news.mynavi.jp/article/20260410-4316938/">100年以上前の明朝体が、いまも使い続けられている - 話題の「明朝体展」レポート（4） | マイナビニュース</a></li>
</ul>
<blockquote>
<p>【市谷の杜 本と活字館 企画展「明朝体」】<br>
会期：2026年2月21日（土）～2026年5月31日（日）</p>
</blockquote>
<p>へー</p>
<h3 id="som">SOM</h3>
<ul>
<li><a href="https://som-st.github.io/">SOM: Simple Object Machine</a></li>
<li><a href="https://github.com/SOM-st/CSOM">GitHub - SOM-st/CSOM: CSOM - C implementation of the Simple Object Machine Smalltalk · GitHub</a></li>
</ul>
<h3 id="sort-chinese-numbers">Sort Chinese numbers</h3>
<p><a href="https://lists.gnu.org/archive/html/bug-coreutils/2026-04/msg00014.html">bug#80761: Proposal: Sort Chinese numbers</a></p>
<p>メモ</p>
<h3 id="vliw">VLIW</h3>
<p><a href="https://www.reddit.com/r/programming/comments/1sg4geh/vliw_the_impossible_computer/">VLIW: The “Impossible” Computer : r/programming</a></p>
<p>そんなのもありましたねえ…</p>
<h3 id="stl-containers-in-pure-c">STL containers in pure C</h3>
<ul>
<li><a href="https://www.reddit.com/r/programming/comments/1sg1apu/implementing_c_stl_containers_in_pure_c_what_i/">Implementing C++ STL containers in pure C — what I learned : r/programming</a></li>
<li><a href="https://github.com/springkim/OpenCSTL">GitHub - springkim/OpenCSTL: Open source C container library like C++ STL · GitHub</a></li>
</ul>
<p>メモその2</p>
<hr>
<h2 id="awk">awk</h2>
<h3 id="goawk">goawk</h3>
<p><a href="https://github.com/benhoyt/goawk/pull/276">Avoid sub/gsub rebuilding $0 when no substitutions made (fix gsubtst7) by benhoyt · Pull Request #276 · benhoyt/goawk</a></p>
<h3 id="gawk">gawk</h3>
<p>バージョンアップがあったせいかちょっとバグレポが活発</p>
<p><a href="https://lists.gnu.org/archive/html/bug-gawk/2026-04/msg00028.html">Possible bug in Gawk 5.3.2 due to split() fix</a></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-awk" data-lang="awk"><span style="display:flex;"><span><span style="color:#f92672">$</span> <span style="color:#a6e22e">echo</span> <span style="color:#e6db74">&#39;a.a.a&#39;</span> <span style="color:#f92672">|</span> .<span style="color:#f92672">/</span><span style="color:#a6e22e">gawk</span><span style="color:#f92672">-</span><span style="color:#ae81ff">5.2</span>.<span style="color:#ae81ff">1</span> <span style="color:#e6db74">&#39;{ n = split($0, a, /./); for (i=1; i&lt;=n;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">i++) { print i, a[i] } }&#39;</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">1</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">2</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">3</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">4</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">5</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">6</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">$</span> <span style="color:#a6e22e">echo</span> <span style="color:#e6db74">&#39;a.a.a&#39;</span> <span style="color:#f92672">|</span> .<span style="color:#f92672">/</span><span style="color:#a6e22e">gawk</span><span style="color:#f92672">-</span><span style="color:#ae81ff">5.3</span>.<span style="color:#ae81ff">2</span> <span style="color:#e6db74">&#39;{ n = split($0, a, /./); for (i=1; i&lt;=n;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">i++) { print i, a[i] } }&#39;</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">1</span> <span style="color:#a6e22e">a</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">2</span> <span style="color:#a6e22e">a</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">3</span> <span style="color:#a6e22e">a</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">$</span> <span style="color:#a6e22e">echo</span> <span style="color:#e6db74">&#39;a.a.a&#39;</span> <span style="color:#f92672">|</span> <span style="color:#a6e22e">original</span><span style="color:#f92672">-</span><span style="color:#a6e22e">awk</span> <span style="color:#e6db74">&#39;{ n = split($0, a, /./); for (i=1; i&lt;=n;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">i++) { print i, a[i] } }&#39;</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">1</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">2</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">3</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">4</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">5</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">6</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">$</span> <span style="color:#a6e22e">echo</span> <span style="color:#e6db74">&#39;a.a.a&#39;</span> <span style="color:#f92672">|</span> <span style="color:#a6e22e">mawk</span> <span style="color:#e6db74">&#39;{ n = split($0, a, /./); for (i=1; i&lt;=n; i++) {
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">print i, a[i] } }&#39;</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">1</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">2</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">3</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">4</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">5</span>
</span></span><span style="display:flex;"><span><span style="color:#ae81ff">6</span>
</span></span></code></pre></div><p>最初これを <code>//</code>でsplitするのと勘違いしちゃったのだけど、
<code>/./</code> でなのね。
で、このバグ(?)が入り込んだコミットも指摘されていて</p>
<p><a href="https://cgit.git.savannah.gnu.org/cgit/gawk.git/commit/?h=gawk-5.3.2&amp;id=12e260e3bfedd72f8a2d5f3570e4ff15ec7f006c">Fix subtle issue with split(). - gawk.git - gawk</a></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-diff" data-lang="diff"><span style="display:flex;"><span>diff --git a/field.c b/field.c
</span></span><span style="display:flex;"><span>index ab1964fd..5464083b 100644
</span></span><span style="display:flex;"><span><span style="color:#f92672">--- a/field.c
</span></span></span><span style="display:flex;"><span><span style="color:#f92672"></span><span style="color:#a6e22e">+++ b/field.c
</span></span></span><span style="display:flex;"><span><span style="color:#a6e22e"></span><span style="color:#75715e">@@ -1198,8 +1198,8 @@ do_split(int nargs)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span> 				warned = true;
</span></span><span style="display:flex;"><span> 				lintwarn(_(&#34;split: null string for third arg is a non-standard extension&#34;));
</span></span><span style="display:flex;"><span> 			}
</span></span><span style="display:flex;"><span><span style="color:#f92672">-		} else if (fs-&gt;stlen == 1 &amp;&amp; (sep-&gt;re_flags &amp; CONSTANT) == 0) {
</span></span></span><span style="display:flex;"><span><span style="color:#f92672">-			if (fs-&gt;stptr[0] == &#39; &#39;) {
</span></span></span><span style="display:flex;"><span><span style="color:#f92672"></span><span style="color:#a6e22e">+		} else if (fs-&gt;stlen == 1) {
</span></span></span><span style="display:flex;"><span><span style="color:#a6e22e">+			if ((sep-&gt;re_flags &amp; CONSTANT) == 0 &amp;&amp; fs-&gt;stptr[0] == &#39; &#39;) {
</span></span></span><span style="display:flex;"><span><span style="color:#a6e22e"></span> 				parseit = def_parse_field;
</span></span><span style="display:flex;"><span> 			} else
</span></span><span style="display:flex;"><span> 				parseit = sc_parse_field;
</span></span></code></pre></div><p>というもの。これだとちょっとわかりづらいので
範囲をもう少し広げてコードを見ると</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-c" data-lang="c"><span style="display:flex;"><span>	fs <span style="color:#f92672">=</span> sep<span style="color:#f92672">-&gt;</span>re_exp;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>		<span style="color:#66d9ef">if</span> (fs<span style="color:#f92672">-&gt;</span>stlen <span style="color:#f92672">==</span> <span style="color:#ae81ff">0</span>) {
</span></span><span style="display:flex;"><span>			<span style="color:#66d9ef">static</span> <span style="color:#66d9ef">bool</span> warned <span style="color:#f92672">=</span> false;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>			parseit <span style="color:#f92672">=</span> null_parse_field;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>			<span style="color:#66d9ef">if</span> (do_lint <span style="color:#f92672">&amp;&amp;</span> <span style="color:#f92672">!</span> warned) {
</span></span><span style="display:flex;"><span>				warned <span style="color:#f92672">=</span> true;
</span></span><span style="display:flex;"><span>				<span style="color:#a6e22e">lintwarn</span>(<span style="color:#a6e22e">_</span>(<span style="color:#e6db74">&#34;split: null string for third arg is a non-standard extension&#34;</span>));
</span></span><span style="display:flex;"><span>			}
</span></span><span style="display:flex;"><span>		} <span style="color:#66d9ef">else</span> <span style="color:#66d9ef">if</span> (fs<span style="color:#f92672">-&gt;</span>stlen <span style="color:#f92672">==</span> <span style="color:#ae81ff">1</span> <span style="color:#f92672">&amp;&amp;</span> (sep<span style="color:#f92672">-&gt;</span>re_flags <span style="color:#f92672">&amp;</span> CONSTANT) <span style="color:#f92672">==</span> <span style="color:#ae81ff">0</span>) {
</span></span><span style="display:flex;"><span>			<span style="color:#66d9ef">if</span> (fs<span style="color:#f92672">-&gt;</span>stptr[<span style="color:#ae81ff">0</span>] <span style="color:#f92672">==</span> <span style="color:#e6db74">&#39; &#39;</span>) {
</span></span><span style="display:flex;"><span>				parseit <span style="color:#f92672">=</span> def_parse_field;
</span></span><span style="display:flex;"><span>			} <span style="color:#66d9ef">else</span>
</span></span><span style="display:flex;"><span>				parseit <span style="color:#f92672">=</span> sc_parse_field;
</span></span><span style="display:flex;"><span>		} <span style="color:#66d9ef">else</span> {
</span></span><span style="display:flex;"><span>			parseit <span style="color:#f92672">=</span> re_parse_field;
</span></span><span style="display:flex;"><span>			rp <span style="color:#f92672">=</span> <span style="color:#a6e22e">re_update</span>(sep);
</span></span><span style="display:flex;"><span>		}
</span></span><span style="display:flex;"><span>	}
</span></span></code></pre></div><p>else ifのところで
<code>/./</code>は長さが1(<code>fs-&gt;stlen == 1{) でregexp constant (</code>sep-&gt;re_flags &amp; CONSTANT) == 0<code>) なので、その内側のif～elseに行って </code>fs-&gt;stptr[0]<code>がスペースではないので</code>parseit = sc_parse_field;`
として1文字でのフィールド分割を行うように設定する。と</p>
<p>で、この動きは</p>
<p><a href="https://lists.gnu.org/archive/html/bug-gawk/2026-04/msg00030.html">Re: Possible bug in Gawk 5.3.2 due to split() fix</a></p>
<blockquote>
<p>Thanks for the report. I will review. POSIX isn&rsquo;t as clear about
things as it (c|sh)ould be.</p>
</blockquote>
<p>というのがメンテナーのarnoldの主張で</p>
<p><a href="https://lists.gnu.org/archive/html/bug-gawk/2026-04/msg00032.html">Re: Possible bug in Gawk 5.3.2 due to split() fix</a></p>
<pre tabindex="0"><code>* When the third argument is a string, then the same rules as for FS apply:
* 	* A single space		--&gt;	Default fields splitting
* 	* Any other single character	--&gt;	That character splits
* 	* Longer than one character	--&gt;	Regex splitting
</code></pre><p>ということになった(なる)らしい</p>
<p><a href="https://lists.gnu.org/archive/html/bug-gawk/2026-04/msg00031.html">Re: Corrupted output with function call and array lookup</a></p>
<hr>
<h3 id="とんがり帽子">とんがり帽子</h3>
<!--
Xユーザーの西野花@hana Nishinoさん: 
「とんがり帽子というとついメモルと続けてしまう老人は挙手しなさい５秒以内だ✋️」 / X
https://x.com/hana_nishino/status/2042023030420045938
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">とんがり帽子というとついメモルと続けてしまう老人は挙手しなさい５秒以内だ✋️</p>&mdash; 西野花@hana Nishino (@hana_nishino) <a href="https://twitter.com/hana_nishino/status/2042023030420045938?ref_src=twsrc%5Etfw">April 8, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>名前を出してはいけない
ララァ専用モビルアーマーとか</p>
<h3 id="c">C</h3>
<!--
Xユーザーのしどっち | しがないエンジニアさん: 
「ITの歴史に疎くてC言語はなぜCなのかをよく理解していない。 AやBではダメだったのか。」 / X
https://x.com/shidocchi3963/status/2042361471578095851
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ITの歴史に疎くてC言語はなぜCなのかをよく理解していない。<br>AやBではダメだったのか。</p>&mdash; しどっち | しがないエンジニア (@shidocchi3963) <a href="https://twitter.com/shidocchi3963/status/2042361471578095851?ref_src=twsrc%5Etfw">April 9, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>なんか怪しげな説がちらほら</p>
<h3 id="i">I</h3>
<!--
Xユーザーのからさんさん: 
「「この中で一番『プログラミングにに詳しい素敵な大人』ってだあれ？」 
「for文のループカウントに使う『i』ってあるわよね？」 
「なんで？？？」 
「なんで『i』なの？」 
#ITチコちゃん」 / X
https://x.com/karasan_itips/status/2042758642991341756
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">「この中で一番『プログラミングにに詳しい素敵な大人』ってだあれ？」<br><br>「for文のループカウントに使う『i』ってあるわよね？」<br><br>「なんで？？？」<br><br>「なんで『i』なの？」<a href="https://twitter.com/hashtag/IT%E3%83%81%E3%82%B3%E3%81%A1%E3%82%83%E3%82%93?src=hash&amp;ref_src=twsrc%5Etfw">#ITチコちゃん</a></p>&mdash; からさん (@karasan_itips) <a href="https://twitter.com/karasan_itips/status/2042758642991341756?ref_src=twsrc%5Etfw">April 11, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>スレッドを追いかけると諸説入り乱れてますな(笑</p>
<h2 id="49">49</h2>
<!--
XユーザーのTechFeed公式さん: 
「すべてのMacに潜む深刻な脆弱性が発覚しました。
49日17時間の連続稼働後、新しいTCP接続が一切できなくなるとのことです。 
システムは正常に見えるのにネットワーク接続だけ静かに死ぬという、
トラブルシューティング泣かせの症状ですね。
サーバー用途でMac https://t.co/bA8losumaV」 / X
https://x.com/techfeedapp/status/2042346866042404993
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">すべてのMacに潜む深刻な脆弱性が発覚しました。49日17時間の連続稼働後、新しいTCP接続が一切できなくなるとのことです。<br><br>システムは正常に見えるのにネットワーク接続だけ静かに死ぬという、トラブルシューティング泣かせの症状ですね。サーバー用途でMac… <a href="https://t.co/bA8losumaV">pic.twitter.com/bA8losumaV</a></p>&mdash; TechFeed公式 (@techfeedapp) <a href="https://twitter.com/techfeedapp/status/2042346866042404993?ref_src=twsrc%5Etfw">April 9, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>この話を見てWindows96にもそんなバグあったような…
と思ったのだけど、
お仲間が</p>
<!--
XユーザーのUNAGI𝕏のさん: 
「当時そもそも Windows をそこまで長時間稼働させ続けられる人が居なかったので、
誰も気にしてなかった覚えがある。」 / X
https://x.com/unagix/status/2042560920602448269
-->
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">当時そもそも Windows をそこまで長時間稼働させ続けられる人が居なかったので、誰も気にしてなかった覚えがある。 <a href="https://t.co/M29WfhiPUR">https://t.co/M29WfhiPUR</a></p>&mdash; UNAGI𝕏の (@unagix) <a href="https://twitter.com/unagix/status/2042560920602448269?ref_src=twsrc%5Etfw">April 10, 2026</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>根っこ(ミリ秒単位のカウントのオーバーフロー)は同じみたいすね</p>
</content:encoded>
		</item>
		
	</channel>
</rss>
