aboutsummaryrefslogtreecommitdiffhomepage
path: root/services/nuldoc/public
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-04-20 02:53:54 +0900
committernsfisis <nsfisis@gmail.com>2026-04-20 02:53:54 +0900
commitdacffe61cf2d739306178ab7cab6c3ca5cda9c66 (patch)
tree7a299310dd15bd932ee70f107a92cfe5641e2e6b /services/nuldoc/public
parent2cdfefeb14ae967bd2d7029733b5e7a8fed05d9a (diff)
downloadnsfisis.dev-dacffe61cf2d739306178ab7cab6c3ca5cda9c66.tar.gz
nsfisis.dev-dacffe61cf2d739306178ab7cab6c3ca5cda9c66.tar.zst
nsfisis.dev-dacffe61cf2d739306178ab7cab6c3ca5cda9c66.zip
feat(blog): new post /posts/2026-04-20/i-can-eat-glass-it-doesnt-hurt-me/HEADmain
Diffstat (limited to 'services/nuldoc/public')
-rw-r--r--services/nuldoc/public/blog/posts/2/index.html47
-rw-r--r--services/nuldoc/public/blog/posts/2026-04-20/i-can-eat-glass-it-doesnt-hurt-me.md101
-rw-r--r--services/nuldoc/public/blog/posts/2026-04-20/i-can-eat-glass-it-doesnt-hurt-me/index.html265
-rw-r--r--services/nuldoc/public/blog/posts/3/index.html61
-rw-r--r--services/nuldoc/public/blog/posts/4/index.html47
-rw-r--r--services/nuldoc/public/blog/posts/5/index.html36
-rw-r--r--services/nuldoc/public/blog/posts/6/index.html38
-rw-r--r--services/nuldoc/public/blog/posts/7/index.html104
-rw-r--r--services/nuldoc/public/blog/posts/atom.xml10
-rw-r--r--services/nuldoc/public/blog/posts/index.html39
10 files changed, 623 insertions, 125 deletions
diff --git a/services/nuldoc/public/blog/posts/2/index.html b/services/nuldoc/public/blog/posts/2/index.html
index 2c32f9bf..eb1b5c26 100644
--- a/services/nuldoc/public/blog/posts/2/index.html
+++ b/services/nuldoc/public/blog/posts/2/index.html
@@ -60,13 +60,33 @@
</div>
<div class="pagination-page">
- <a href="/posts/6/">6</a>
+ <a href="/posts/7/">7</a>
</div>
<div class="pagination-next">
<a href="/posts/3/">次へ</a>
</div>
</nav>
<article class="post-entry">
+ <a href="/posts/2025-05-05/make-tiny-self-hosted-c-compiler/">
+ <header class="entry-header">
+ <h2>セルフホスト可能な C コンパイラを作った</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ ゴールデンウィークを使って、セルフホストできる C コンパイラを開発した。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2025-05-05">2025-05-05</time> 投稿
+ <ul class="entry-tags">
+ <li class="tag">
+ <span class="tag-inner">C</span>
+ </li>
+ </ul>
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
<a href="/posts/2025-04-24/composer-patches-v2-does-not-require-gnu-patch-even-on-macos/">
<header class="entry-header">
<h2>【Composer】 composer-patches v2 では macOS でも GNU patch のインストールが不要になる (予定)</h2>
@@ -274,29 +294,6 @@
</footer>
</a>
</article>
- <article class="post-entry">
- <a href="/posts/2024-09-28/mncore-challenge-1/">
- <header class="entry-header">
- <h2>MN-Core Challenge #1 参加レポ</h2>
- </header>
- <section class="entry-content">
- <p>
- 2024-08-28 から 2024-09-24 にかけて開催された MN-Core Challenge #1 に参加した。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2024-09-28">2024-09-28</time> 投稿
- <ul class="entry-tags">
- <li class="tag">
- <span class="tag-inner">コードゴルフ</span>
- </li>
- <li class="tag">
- <span class="tag-inner">MN-Core Challenge</span>
- </li>
- </ul>
- </footer>
- </a>
- </article>
<nav class="pagination">
<div class="pagination-prev">
<a href="/posts/">前へ</a>
@@ -314,7 +311,7 @@
</div>
<div class="pagination-page">
- <a href="/posts/6/">6</a>
+ <a href="/posts/7/">7</a>
</div>
<div class="pagination-next">
<a href="/posts/3/">次へ</a>
diff --git a/services/nuldoc/public/blog/posts/2026-04-20/i-can-eat-glass-it-doesnt-hurt-me.md b/services/nuldoc/public/blog/posts/2026-04-20/i-can-eat-glass-it-doesnt-hurt-me.md
new file mode 100644
index 00000000..788086e3
--- /dev/null
+++ b/services/nuldoc/public/blog/posts/2026-04-20/i-can-eat-glass-it-doesnt-hurt-me.md
@@ -0,0 +1,101 @@
+---
+[article]
+uuid = "3e3c8bac-ea74-42f0-acdb-ea3cd079c134"
+title = "私はガラスを食べられます。それは私を傷つけません"
+description = "PHP 処理系のソースコードで見つけた不思議な文言の由来を調べた。"
+tags = [
+]
+
+[[article.revisions]]
+date = "2026-04-20"
+remark = "公開"
+---
+# はじめに {#intro}
+
+先日 PHP 処理系のソースコードを調査していたとき、ある不思議なファイル名を見つけた。
+
+> [ext/fileinfo/tests/magic私はガラスを食べられます](https://github.com/php/php-src/blob/php-8.5.2/ext/fileinfo/tests/magic%E7%A7%81%E3%81%AF%E3%82%AC%E3%83%A9%E3%82%B9%E3%82%92%E9%A3%9F%E3%81%B9%E3%82%89%E3%82%8C%E3%81%BE%E3%81%99)
+
+「私はガラスを食べられます」?
+
+PHP v8.5.2 のソースコードでは、以下のファイルにこの文言が含まれるようだ。
+
+* `ext/bz2/tests/003私はガラスを食べられます.txt.bz2`
+* `ext/exif/tests/bug34704私はガラスを食べられます.jpg`
+* `ext/exif/tests/bug68113私はガラスを食べられます.jpg`
+* `ext/exif/tests/test2私はガラスを食べられます.jpg`
+* `ext/fileinfo/tests/bug71527私はガラスを食べられます.magic`
+* `ext/fileinfo/tests/magic私はガラスを食べられます`
+* `ext/gd/tests/Tuffy私はガラスを食べられます.ttf`
+* `ext/gd/tests/bug22544私はガラスを食べられます.png`
+* `ext/gd/tests/bug37346私はガラスを食べられます.gif`
+* `ext/gd/tests/conv_test私はガラスを食べられます.jpg`
+* `ext/gd/tests/invalid_neg_size私はガラスを食べられます.gd2`
+* `ext/gd/tests/libgd00094私はガラスを食べられます.xbm`
+* `ext/gd/tests/src私はガラスを食べられます.wbmp`
+* `ext/libxml/tests/bug69753私はガラスを食べられます.xml`
+* `ext/simplexml/tests/sxe私はガラスを食べられます.xml`
+* `ext/tidy/tests/005私はガラスを食べられます.html`
+* `ext/xsl/tests/私はガラスを食べられますstreamsinclude.xsl`
+* `ext/zip/tests/bug40228私はガラスを食べられます.zip`
+* `ext/zlib/tests/gzfile-mb私はガラスを食べられます.txt.gz`
+
+このフレーズを検索したところ、(*慈愛に満ちた Google AI さま* によって「ガラスは消化できません。絶対に食べないでください」とのご高説を賜った後、)これが「I Can Eat Glass Project」に由来するものだと判明した。
+
+# I Can Eat Glass Project {#i-can-eat-glass-project}
+
+I Can Eat Glass Project は、1996 年頃に Ethan Mollick 氏が公開したウェブページで、さまざまな言語における "I can eat glass, it doesn’t hurt me" というフレーズをまとめたものである。
+オリジナルのページは削除済みだが、以下などから参照できる。
+
+* オリジナルの Web Archive: https://web.archive.org/web/20040201212958/http://hcs.harvard.edu/~igp/glass.html
+* 現在ホストされているページ: https://www.immediategratification.org/i-can-eat-glass
+* オリジナルを元に文字コードを UTF-8 に変換したもの: https://www.columbia.edu/~fdc/utf8.html#glass
+
+現在ホストされているページの "THE PHILOSOPHY" のセクションには次のようにある。
+
+> * The Project is based on the idea that people in a foreign country have an irresistable urge to try to say something in the indigenous tongue. In most cases, however, the best a person can do is “Where is the bathroom?” a phrase that marks them as a tourist. But, if one says “I can eat glass, it doesn’t hurt me,” you will be viewed as an insane native, and treated with dignity and respect.
+> * The Project is a challenge to the human spirit, in much the same way as the Apollo Program or the Panama Canal was, except that it involves much less digging and slightly less spaceflight.
+> * The Project is part of an attempt to procrastinate when I should be doing reading.
+> * The Project is a product of the social framework in which it was created, and thus by studying the Project, you are truly studying Western Civilization.
+> * The Project is the result of high technology in the hands of people who have no idea what to do with it.
+
+(以下筆者による和訳)
+
+> * このプロジェクトは、外国にいる人はその国の言葉で何か言いたくなるという抗い難い衝動に駆られるというアイデアに基づく。しかし、ほとんどの場合「トイレはどこですか?」などという観光客であることが丸わかりのフレーズを口にするのが関の山だ。だが、もし「私はガラスを食べられます。それは私を傷つけません」と言ったなら、あなたはイカれた現地人として見なされ、尊敬を集めることだろう。
+> * このプロジェクトは、アポロ計画やパナマ運河がそうであるように、人類の精神への挑戦である。ただし掘削することはほとんどなく、宇宙飛行もあまりおこなわない。
+> * このプロジェクトは、読書をすべきときにそれを先延ばしにする試みの一環である。
+> * このプロジェクトは、それが生み出された社会構造の産物であり、それゆえこのプロジェクトを研究することは西洋文明を真に研究することなのだ。
+> * このプロジェクトは、高度なテクノロジーがそれで何をすればいいのかわかっていない人々の手に渡った結果である。
+
+つまりはジョークである。同ページの先頭にある "MEME" のセクションによれば、このプロジェクトは "one of the first famous Internet memes" (最初期の有名なインターネットミーム) だそうだ。
+
+始まりはジョークだったかもしれないが[^1]、多くの言語が含まれているのは事実なので、PHP 処理系の多言語対応テストとして使われているようだ。
+
+[^1]: 大真面目なプロジェクトをジョーク風にしているのか、それとも本当に実用は考えていなかったのか (真にジョークだったのか) はよくわからなかった。
+
+他の大きなソフトウェアでいうと、GTK のテキストレイアウトエンジンである Pango でも利用例があった (<https://github.com/GNOME/pango/blob/df6f88ed2436027523b40fe61e1a1642a7cd24ca/pango/pango-language-sample-table.h>)。
+
+ソースコード中のコメントに、"I Can Eat Glass" プロジェクトへの言及がある。
+
+> ```
+> * GLASS
+> * Kermit project's "I Can Eat Glass" list, also available in pango-view/
+> * http://www.columbia.edu/kermit/utf8.html#glass
+> * Fetched on 2008-08-19, updates on 2020-09-08
+> ```
+
+なお、残念ながら(?)日本語では「いろはにほへと」が使われている。
+
+> ```
+> LANGUAGE(
+> ja /* Japanese */,
+> KERMIT,
+> "いろはにほへと ちりぬるを 色は匂へど 散りぬるを"
+> )
+> ```
+
+もっと小さなライブラリも含めれば、GitHub 上で検索すると更に多くの例が見つかる。
+
+# まとめ {#conclusion}
+
+「私はガラスを食べられます」とは、"I Can Eat Glass Project" に由来するもので、多言語対応のテスト用テキストとして用いられている。
diff --git a/services/nuldoc/public/blog/posts/2026-04-20/i-can-eat-glass-it-doesnt-hurt-me/index.html b/services/nuldoc/public/blog/posts/2026-04-20/i-can-eat-glass-it-doesnt-hurt-me/index.html
new file mode 100644
index 00000000..c399a40d
--- /dev/null
+++ b/services/nuldoc/public/blog/posts/2026-04-20/i-can-eat-glass-it-doesnt-hurt-me/index.html
@@ -0,0 +1,265 @@
+<!DOCTYPE html>
+<html lang="ja-JP">
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="author" content="nsfisis">
+ <meta name="copyright" content="&copy; 2026 nsfisis">
+ <meta name="description" content="PHP 処理系のソースコードで見つけた不思議な文言の由来を調べた。">
+ <meta property="og:type" content="article">
+ <meta property="og:title" content="私はガラスを食べられます。それは私を傷つけません|REPL: Rest-Eat-Program Loop">
+ <meta property="og:description" content="PHP 処理系のソースコードで見つけた不思議な文言の由来を調べた。">
+ <meta property="og:site_name" content="REPL: Rest-Eat-Program Loop">
+ <meta property="og:locale" content="ja_JP">
+ <meta name="Hatena::Bookmark" content="nocomment">
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg">
+ <title>私はガラスを食べられます。それは私を傷つけません|REPL: Rest-Eat-Program Loop</title>
+ <link rel="stylesheet" href="/style.css?h=c3724e2d900f13528c82005e79a8ec23">
+ </head>
+ <body class="single">
+ <header class="header">
+ <div class="site-logo">
+ <a href="https://nsfisis.dev/">nsfisis.dev</a>
+ </div>
+ <div class="site-name">
+ REPL: Rest-Eat-Program Loop
+ </div>
+ <nav class="nav">
+ <ul>
+ <li>
+ <a href="https://about.nsfisis.dev/">About</a>
+ </li>
+ <li>
+ <a href="/posts/">Posts</a>
+ </li>
+ <li>
+ <a href="/tags/">Tags</a>
+ </li>
+ </ul>
+ </nav>
+ </header>
+ <main class="main">
+ <article class="post-single">
+ <header class="post-header">
+ <h1 class="post-title">私はガラスを食べられます。それは私を傷つけません</h1>
+ </header>
+ <nav class="toc">
+ <h2>目次</h2>
+ <ul>
+ <li>
+ <a href="#section--intro">はじめに</a>
+ </li>
+ <li>
+ <a href="#section--i-can-eat-glass-project">I Can Eat Glass Project</a>
+ </li>
+ <li>
+ <a href="#section--conclusion">まとめ</a>
+ </li>
+ </ul>
+ </nav>
+ <div class="post-content">
+ <section id="changelog">
+ <h2><a href="#changelog">更新履歴</a></h2>
+ <ol>
+ <li class="revision">
+ <time datetime="2026-04-20">2026-04-20</time>: 公開
+ </li>
+ </ol>
+ </section>
+ <section id="section--intro">
+ <h2><a href="#section--intro">はじめに</a></h2>
+ <p>
+ 先日 PHP 処理系のソースコードを調査していたとき、ある不思議なファイル名を見つけた。
+ </p>
+ <blockquote>
+ <p>
+ <a href="https://github.com/php/php-src/blob/php-8.5.2/ext/fileinfo/tests/magic%E7%A7%81%E3%81%AF%E3%82%AC%E3%83%A9%E3%82%B9%E3%82%92%E9%A3%9F%E3%81%B9%E3%82%89%E3%82%8C%E3%81%BE%E3%81%99" rel="noreferrer" target="_blank">ext/fileinfo/tests/magic私はガラスを食べられます</a>
+ </p>
+ </blockquote>
+ <p>
+ 「私はガラスを食べられます」?
+ </p>
+ <p>
+ PHP v8.5.2 のソースコードでは、以下のファイルにこの文言が含まれるようだ。
+ </p>
+ <ul>
+ <li>
+ <code>ext/bz2/tests/003私はガラスを食べられます.txt.bz2</code>
+ </li>
+ <li>
+ <code>ext/exif/tests/bug34704私はガラスを食べられます.jpg</code>
+ </li>
+ <li>
+ <code>ext/exif/tests/bug68113私はガラスを食べられます.jpg</code>
+ </li>
+ <li>
+ <code>ext/exif/tests/test2私はガラスを食べられます.jpg</code>
+ </li>
+ <li>
+ <code>ext/fileinfo/tests/bug71527私はガラスを食べられます.magic</code>
+ </li>
+ <li>
+ <code>ext/fileinfo/tests/magic私はガラスを食べられます</code>
+ </li>
+ <li>
+ <code>ext/gd/tests/Tuffy私はガラスを食べられます.ttf</code>
+ </li>
+ <li>
+ <code>ext/gd/tests/bug22544私はガラスを食べられます.png</code>
+ </li>
+ <li>
+ <code>ext/gd/tests/bug37346私はガラスを食べられます.gif</code>
+ </li>
+ <li>
+ <code>ext/gd/tests/conv_test私はガラスを食べられます.jpg</code>
+ </li>
+ <li>
+ <code>ext/gd/tests/invalid_neg_size私はガラスを食べられます.gd2</code>
+ </li>
+ <li>
+ <code>ext/gd/tests/libgd00094私はガラスを食べられます.xbm</code>
+ </li>
+ <li>
+ <code>ext/gd/tests/src私はガラスを食べられます.wbmp</code>
+ </li>
+ <li>
+ <code>ext/libxml/tests/bug69753私はガラスを食べられます.xml</code>
+ </li>
+ <li>
+ <code>ext/simplexml/tests/sxe私はガラスを食べられます.xml</code>
+ </li>
+ <li>
+ <code>ext/tidy/tests/005私はガラスを食べられます.html</code>
+ </li>
+ <li>
+ <code>ext/xsl/tests/私はガラスを食べられますstreamsinclude.xsl</code>
+ </li>
+ <li>
+ <code>ext/zip/tests/bug40228私はガラスを食べられます.zip</code>
+ </li>
+ <li>
+ <code>ext/zlib/tests/gzfile-mb私はガラスを食べられます.txt.gz</code>
+ </li>
+ </ul>
+ <p>
+ このフレーズを検索したところ、(<em>慈愛に満ちた Google AI さま</em> によって「ガラスは消化できません。絶対に食べないでください」とのご高説を賜った後、)これが「I Can Eat Glass Project」に由来するものだと判明した。
+ </p>
+ </section>
+ <section id="section--i-can-eat-glass-project">
+ <h2><a href="#section--i-can-eat-glass-project">I Can Eat Glass Project</a></h2>
+ <p>
+ I Can Eat Glass Project は、1996 年頃に Ethan Mollick 氏が公開したウェブページで、さまざまな言語における “I can eat glass, it doesn’t hurt me” というフレーズをまとめたものである。オリジナルのページは削除済みだが、以下などから参照できる。
+ </p>
+ <ul>
+ <li>
+ オリジナルの Web Archive: <a class="url" href="https://web.archive.org/web/20040201212958/http://hcs.harvard.edu/~igp/glass.html" rel="noreferrer" target="_blank">https://web.archive.org/web/20040201212958/http://hcs.harvard.edu/~igp/glass.html</a>
+ </li>
+ <li>
+ 現在ホストされているページ: <a class="url" href="https://www.immediategratification.org/i-can-eat-glass" rel="noreferrer" target="_blank">https://www.immediategratification.org/i-can-eat-glass</a>
+ </li>
+ <li>
+ オリジナルを元に文字コードを UTF-8 に変換したもの: <a class="url" href="https://www.columbia.edu/~fdc/utf8.html#glass" rel="noreferrer" target="_blank">https://www.columbia.edu/~fdc/utf8.html#glass</a>
+ </li>
+ </ul>
+ <p>
+ 現在ホストされているページの “THE PHILOSOPHY” のセクションには次のようにある。
+ </p>
+ <blockquote>
+ <ul>
+ <li>
+ The Project is based on the idea that people in a foreign country have an irresistable urge to try to say something in the indigenous tongue. In most cases, however, the best a person can do is “Where is the bathroom?” a phrase that marks them as a tourist. But, if one says “I can eat glass, it doesn’t hurt me,” you will be viewed as an insane native, and treated with dignity and respect.
+ </li>
+ <li>
+ The Project is a challenge to the human spirit, in much the same way as the Apollo Program or the Panama Canal was, except that it involves much less digging and slightly less spaceflight.
+ </li>
+ <li>
+ The Project is part of an attempt to procrastinate when I should be doing reading.
+ </li>
+ <li>
+ The Project is a product of the social framework in which it was created, and thus by studying the Project, you are truly studying Western Civilization.
+ </li>
+ <li>
+ The Project is the result of high technology in the hands of people who have no idea what to do with it.
+ </li>
+ </ul>
+ </blockquote>
+ <p>
+ (以下筆者による和訳)
+ </p>
+ <blockquote>
+ <ul>
+ <li>
+ このプロジェクトは、外国にいる人はその国の言葉で何か言いたくなるという抗い難い衝動に駆られるというアイデアに基づく。しかし、ほとんどの場合「トイレはどこですか?」などという観光客であることが丸わかりのフレーズを口にするのが関の山だ。だが、もし「私はガラスを食べられます。それは私を傷つけません」と言ったなら、あなたはイカれた現地人として見なされ、尊敬を集めることだろう。
+ </li>
+ <li>
+ このプロジェクトは、アポロ計画やパナマ運河がそうであるように、人類の精神への挑戦である。ただし掘削することはほとんどなく、宇宙飛行もあまりおこなわない。
+ </li>
+ <li>
+ このプロジェクトは、読書をすべきときにそれを先延ばしにする試みの一環である。
+ </li>
+ <li>
+ このプロジェクトは、それが生み出された社会構造の産物であり、それゆえこのプロジェクトを研究することは西洋文明を真に研究することなのだ。
+ </li>
+ <li>
+ このプロジェクトは、高度なテクノロジーがそれで何をすればいいのかわかっていない人々の手に渡った結果である。
+ </li>
+ </ul>
+ </blockquote>
+ <p>
+ つまりはジョークである。同ページの先頭にある “MEME” のセクションによれば、このプロジェクトは “one of the first famous Internet memes” (最初期の有名なインターネットミーム) だそうだ。
+ </p>
+ <p>
+ 始まりはジョークだったかもしれないが<sup class="footnote"><a class="footnote" href="#footnote--1" id="footnoteref--1">[1]</a></sup>、多くの言語が含まれているのは事実なので、PHP 処理系の多言語対応テストとして使われているようだ。
+ </p>
+ <p>
+ 他の大きなソフトウェアでいうと、GTK のテキストレイアウトエンジンである Pango でも利用例があった (<a class="url" href="https://github.com/GNOME/pango/blob/df6f88ed2436027523b40fe61e1a1642a7cd24ca/pango/pango-language-sample-table.h" rel="noreferrer" target="_blank">https://github.com/GNOME/pango/blob/df6f88ed2436027523b40fe61e1a1642a7cd24ca/pango/pango-language-sample-table.h</a>)。
+ </p>
+ <p>
+ ソースコード中のコメントに、”I Can Eat Glass” プロジェクトへの言及がある。
+ </p>
+ <blockquote>
+ <div class="codeblock">
+ <pre class="highlight" style="background-color:#f5f5f5"><code><div class="codeblock-line"> * GLASS
+</div><div class="codeblock-line"> * Kermit project's "I Can Eat Glass" list, also available in pango-view/
+</div><div class="codeblock-line"> * http://www.columbia.edu/kermit/utf8.html#glass
+</div><div class="codeblock-line"> * Fetched on 2008-08-19, updates on 2020-09-08</div></code></pre>
+ </div>
+ </blockquote>
+ <p>
+ なお、残念ながら(?)日本語では「いろはにほへと」が使われている。
+ </p>
+ <blockquote>
+ <div class="codeblock">
+ <pre class="highlight" style="background-color:#f5f5f5"><code><div class="codeblock-line">LANGUAGE(
+</div><div class="codeblock-line"> ja /* Japanese */,
+</div><div class="codeblock-line"> KERMIT,
+</div><div class="codeblock-line"> "いろはにほへと ちりぬるを 色は匂へど 散りぬるを"
+</div><div class="codeblock-line"> )</div></code></pre>
+ </div>
+ </blockquote>
+ <p>
+ もっと小さなライブラリも含めれば、GitHub 上で検索すると更に多くの例が見つかる。
+ </p>
+ </section>
+ <section id="section--conclusion">
+ <h2><a href="#section--conclusion">まとめ</a></h2>
+ <p>
+ 「私はガラスを食べられます」とは、”I Can Eat Glass Project” に由来するもので、多言語対応のテスト用テキストとして用いられている。
+ </p>
+ </section>
+ <section class="footnotes">
+ <div class="footnote" id="footnote--1">
+ <a href="#footnoteref--1">1. </a>
+ <p>
+ 大真面目なプロジェクトをジョーク風にしているのか、それとも本当に実用は考えていなかったのか (真にジョークだったのか) はよくわからなかった。
+ </p>
+ </div>
+ </section>
+ </div>
+ </article>
+ </main>
+ <footer class="footer">
+ &copy; 2021 nsfisis
+ </footer>
+ </body>
+</html>
diff --git a/services/nuldoc/public/blog/posts/3/index.html b/services/nuldoc/public/blog/posts/3/index.html
index 428565cd..d96dac99 100644
--- a/services/nuldoc/public/blog/posts/3/index.html
+++ b/services/nuldoc/public/blog/posts/3/index.html
@@ -59,17 +59,40 @@
<div class="pagination-page">
<a href="/posts/4/">4</a>
</div>
- <div class="pagination-page">
- <a href="/posts/5/">5</a>
+ <div class="pagination-ellipsis">
+ …
</div>
<div class="pagination-page">
- <a href="/posts/6/">6</a>
+ <a href="/posts/7/">7</a>
</div>
<div class="pagination-next">
<a href="/posts/4/">次へ</a>
</div>
</nav>
<article class="post-entry">
+ <a href="/posts/2024-09-28/mncore-challenge-1/">
+ <header class="entry-header">
+ <h2>MN-Core Challenge #1 参加レポ</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 2024-08-28 から 2024-09-24 にかけて開催された MN-Core Challenge #1 に参加した。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2024-09-28">2024-09-28</time> 投稿
+ <ul class="entry-tags">
+ <li class="tag">
+ <span class="tag-inner">コードゴルフ</span>
+ </li>
+ <li class="tag">
+ <span class="tag-inner">MN-Core Challenge</span>
+ </li>
+ </ul>
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
<a href="/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/">
<header class="entry-header">
<h2>【Go】 text/template の with や range の内側から外側の &quot;.&quot; にアクセスする</h2>
@@ -280,32 +303,6 @@
</footer>
</a>
</article>
- <article class="post-entry">
- <a href="/posts/2024-02-22/phpkansai-2024-report/">
- <header class="entry-header">
- <h2>PHPカンファレンス関西 2024 参加レポ</h2>
- </header>
- <section class="entry-content">
- <p>
- 2024-02-11 に開催された、PHPカンファレンス関西 2024 に参加した。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2024-02-21">2024-02-21</time> 投稿
- <ul class="entry-tags">
- <li class="tag">
- <span class="tag-inner">カンファレンス</span>
- </li>
- <li class="tag">
- <span class="tag-inner">PHP</span>
- </li>
- <li class="tag">
- <span class="tag-inner">PHP カンファレンス関西</span>
- </li>
- </ul>
- </footer>
- </a>
- </article>
<nav class="pagination">
<div class="pagination-prev">
<a href="/posts/2/">前へ</a>
@@ -322,11 +319,11 @@
<div class="pagination-page">
<a href="/posts/4/">4</a>
</div>
- <div class="pagination-page">
- <a href="/posts/5/">5</a>
+ <div class="pagination-ellipsis">
+ …
</div>
<div class="pagination-page">
- <a href="/posts/6/">6</a>
+ <a href="/posts/7/">7</a>
</div>
<div class="pagination-next">
<a href="/posts/4/">次へ</a>
diff --git a/services/nuldoc/public/blog/posts/4/index.html b/services/nuldoc/public/blog/posts/4/index.html
index a0969660..aa037bfa 100644
--- a/services/nuldoc/public/blog/posts/4/index.html
+++ b/services/nuldoc/public/blog/posts/4/index.html
@@ -65,11 +65,40 @@
<div class="pagination-page">
<a href="/posts/6/">6</a>
</div>
+ <div class="pagination-page">
+ <a href="/posts/7/">7</a>
+ </div>
<div class="pagination-next">
<a href="/posts/5/">次へ</a>
</div>
</nav>
<article class="post-entry">
+ <a href="/posts/2024-02-22/phpkansai-2024-report/">
+ <header class="entry-header">
+ <h2>PHPカンファレンス関西 2024 参加レポ</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ 2024-02-11 に開催された、PHPカンファレンス関西 2024 に参加した。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2024-02-21">2024-02-21</time> 投稿
+ <ul class="entry-tags">
+ <li class="tag">
+ <span class="tag-inner">カンファレンス</span>
+ </li>
+ <li class="tag">
+ <span class="tag-inner">PHP</span>
+ </li>
+ <li class="tag">
+ <span class="tag-inner">PHP カンファレンス関西</span>
+ </li>
+ </ul>
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
<a href="/posts/2024-02-10/yapcjapan-2024-report/">
<header class="entry-header">
<h2>YAPC::Hiroshima 2024 参加レポ</h2>
@@ -271,21 +300,6 @@
</footer>
</a>
</article>
- <article class="post-entry">
- <a href="/posts/2023-04-01/implementation-of-minimal-png-image-encoder/">
- <header class="entry-header">
- <h2>PNG 画像の最小構成エンコーダを実装する</h2>
- </header>
- <section class="entry-content">
- <p>
- PNG 画像として valid な範囲で最大限手抜きしたエンコーダを書く。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2023-04-01">2023-04-01</time> 投稿
- </footer>
- </a>
- </article>
<nav class="pagination">
<div class="pagination-prev">
<a href="/posts/3/">前へ</a>
@@ -308,6 +322,9 @@
<div class="pagination-page">
<a href="/posts/6/">6</a>
</div>
+ <div class="pagination-page">
+ <a href="/posts/7/">7</a>
+ </div>
<div class="pagination-next">
<a href="/posts/5/">次へ</a>
</div>
diff --git a/services/nuldoc/public/blog/posts/5/index.html b/services/nuldoc/public/blog/posts/5/index.html
index b70c17cd..72328e3c 100644
--- a/services/nuldoc/public/blog/posts/5/index.html
+++ b/services/nuldoc/public/blog/posts/5/index.html
@@ -62,11 +62,29 @@
<div class="pagination-page">
<a href="/posts/6/">6</a>
</div>
+ <div class="pagination-page">
+ <a href="/posts/7/">7</a>
+ </div>
<div class="pagination-next">
<a href="/posts/6/">次へ</a>
</div>
</nav>
<article class="post-entry">
+ <a href="/posts/2023-04-01/implementation-of-minimal-png-image-encoder/">
+ <header class="entry-header">
+ <h2>PNG 画像の最小構成エンコーダを実装する</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ PNG 画像として valid な範囲で最大限手抜きしたエンコーダを書く。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2023-04-01">2023-04-01</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
<a href="/posts/2023-03-10/rewrite-this-blog-generator/">
<header class="entry-header">
<h2>このブログのジェネレータを書き直した</h2>
@@ -265,21 +283,6 @@
</footer>
</a>
</article>
- <article class="post-entry">
- <a href="/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/">
- <header class="entry-header">
- <h2>term-banner: ターミナルにバナーを表示するツールを書いた</h2>
- </header>
- <section class="entry-content">
- <p>
- ターミナルに任意の文字のバナーを表示するためのツールを Go で書いた。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2022-04-24">2022-04-24</time> 投稿、<time datetime="2022-04-27">2022-04-27</time> 更新
- </footer>
- </a>
- </article>
<nav class="pagination">
<div class="pagination-prev">
<a href="/posts/4/">前へ</a>
@@ -299,6 +302,9 @@
<div class="pagination-page">
<a href="/posts/6/">6</a>
</div>
+ <div class="pagination-page">
+ <a href="/posts/7/">7</a>
+ </div>
<div class="pagination-next">
<a href="/posts/6/">次へ</a>
</div>
diff --git a/services/nuldoc/public/blog/posts/6/index.html b/services/nuldoc/public/blog/posts/6/index.html
index 429ef75e..0286d96d 100644
--- a/services/nuldoc/public/blog/posts/6/index.html
+++ b/services/nuldoc/public/blog/posts/6/index.html
@@ -59,10 +59,29 @@
<div class="pagination-page pagination-page-current">
<span>6</span>
</div>
+ <div class="pagination-page">
+ <a href="/posts/7/">7</a>
+ </div>
<div class="pagination-next">
+ <a href="/posts/7/">次へ</a>
</div>
</nav>
<article class="post-entry">
+ <a href="/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/">
+ <header class="entry-header">
+ <h2>term-banner: ターミナルにバナーを表示するツールを書いた</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ ターミナルに任意の文字のバナーを表示するためのツールを Go で書いた。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2022-04-24">2022-04-24</time> 投稿、<time datetime="2022-04-27">2022-04-27</time> 更新
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
<a href="/posts/2022-04-09/phperkaigi-2022-tokens/">
<header class="entry-header">
<h2>PHPerKaigi 2022 トークン問題の解説</h2>
@@ -254,21 +273,6 @@
</footer>
</a>
</article>
- <article class="post-entry">
- <a href="/posts/2021-03-05/my-first-post/">
- <header class="entry-header">
- <h2>My First Post</h2>
- </header>
- <section class="entry-content">
- <p>
- これはテスト投稿です。これはテスト投稿です。これはテスト投稿です。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2021-03-05">2021-03-05</time> 投稿、<time datetime="2025-05-12">2025-05-12</time> 更新
- </footer>
- </a>
- </article>
<nav class="pagination">
<div class="pagination-prev">
<a href="/posts/5/">前へ</a>
@@ -285,7 +289,11 @@
<div class="pagination-page pagination-page-current">
<span>6</span>
</div>
+ <div class="pagination-page">
+ <a href="/posts/7/">7</a>
+ </div>
<div class="pagination-next">
+ <a href="/posts/7/">次へ</a>
</div>
</nav>
</main>
diff --git a/services/nuldoc/public/blog/posts/7/index.html b/services/nuldoc/public/blog/posts/7/index.html
new file mode 100644
index 00000000..8c0e6030
--- /dev/null
+++ b/services/nuldoc/public/blog/posts/7/index.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html>
+<html lang="ja-JP">
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="author" content="nsfisis">
+ <meta name="copyright" content="&copy; 2021 nsfisis">
+ <meta name="description" content="投稿した記事の一覧 (7ページ目)">
+ <meta property="og:type" content="article">
+ <meta property="og:title" content="投稿一覧 (7ページ目)|REPL: Rest-Eat-Program Loop">
+ <meta property="og:description" content="投稿した記事の一覧 (7ページ目)">
+ <meta property="og:site_name" content="REPL: Rest-Eat-Program Loop">
+ <meta property="og:locale" content="ja_JP">
+ <meta name="Hatena::Bookmark" content="nocomment">
+ <link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/posts/atom.xml">
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg">
+ <title>投稿一覧 (7ページ目)|REPL: Rest-Eat-Program Loop</title>
+ <link rel="stylesheet" href="/style.css?h=c3724e2d900f13528c82005e79a8ec23">
+ </head>
+ <body class="list">
+ <header class="header">
+ <div class="site-logo">
+ <a href="https://nsfisis.dev/">nsfisis.dev</a>
+ </div>
+ <div class="site-name">
+ REPL: Rest-Eat-Program Loop
+ </div>
+ <nav class="nav">
+ <ul>
+ <li>
+ <a href="https://about.nsfisis.dev/">About</a>
+ </li>
+ <li>
+ <a href="/posts/">Posts</a>
+ </li>
+ <li>
+ <a href="/tags/">Tags</a>
+ </li>
+ </ul>
+ </nav>
+ </header>
+ <main class="main">
+ <header class="page-header">
+ <h1>投稿一覧 (7ページ目)</h1>
+ </header>
+ <nav class="pagination">
+ <div class="pagination-prev">
+ <a href="/posts/6/">前へ</a>
+ </div>
+ <div class="pagination-page">
+ <a href="/posts/">1</a>
+ </div>
+ <div class="pagination-ellipsis">
+ …
+ </div>
+ <div class="pagination-page">
+ <a href="/posts/6/">6</a>
+ </div>
+ <div class="pagination-page pagination-page-current">
+ <span>7</span>
+ </div>
+ <div class="pagination-next">
+ </div>
+ </nav>
+ <article class="post-entry">
+ <a href="/posts/2021-03-05/my-first-post/">
+ <header class="entry-header">
+ <h2>My First Post</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ これはテスト投稿です。これはテスト投稿です。これはテスト投稿です。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2021-03-05">2021-03-05</time> 投稿、<time datetime="2025-05-12">2025-05-12</time> 更新
+ </footer>
+ </a>
+ </article>
+ <nav class="pagination">
+ <div class="pagination-prev">
+ <a href="/posts/6/">前へ</a>
+ </div>
+ <div class="pagination-page">
+ <a href="/posts/">1</a>
+ </div>
+ <div class="pagination-ellipsis">
+ …
+ </div>
+ <div class="pagination-page">
+ <a href="/posts/6/">6</a>
+ </div>
+ <div class="pagination-page pagination-page-current">
+ <span>7</span>
+ </div>
+ <div class="pagination-next">
+ </div>
+ </nav>
+ </main>
+ <footer class="footer">
+ &copy; 2021 nsfisis
+ </footer>
+ </body>
+</html>
diff --git a/services/nuldoc/public/blog/posts/atom.xml b/services/nuldoc/public/blog/posts/atom.xml
index 341593ac..7105fc6f 100644
--- a/services/nuldoc/public/blog/posts/atom.xml
+++ b/services/nuldoc/public/blog/posts/atom.xml
@@ -7,7 +7,15 @@
<author>
<name>nsfisis</name>
</author>
- <updated>2026-02-01T00:00:00+09:00</updated>
+ <updated>2026-04-20T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:3e3c8bac-ea74-42f0-acdb-ea3cd079c134</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2026-04-20/i-can-eat-glass-it-doesnt-hurt-me/"></link>
+ <title>私はガラスを食べられます。それは私を傷つけません</title>
+ <summary>PHP 処理系のソースコードで見つけた不思議な文言の由来を調べた。</summary>
+ <published>2026-04-20T00:00:00+09:00</published>
+ <updated>2026-04-20T00:00:00+09:00</updated>
+ </entry>
<entry>
<id>urn:uuid:32947eee-f737-4e4c-b3f3-2c847d9b36d2</id>
<link rel="alternate" href="https://blog.nsfisis.dev/posts/2026-02-01/rewrite-this-site-generator-2026/"></link>
diff --git a/services/nuldoc/public/blog/posts/index.html b/services/nuldoc/public/blog/posts/index.html
index 8bd417c7..f6b54d1b 100644
--- a/services/nuldoc/public/blog/posts/index.html
+++ b/services/nuldoc/public/blog/posts/index.html
@@ -56,13 +56,28 @@
</div>
<div class="pagination-page">
- <a href="/posts/6/">6</a>
+ <a href="/posts/7/">7</a>
</div>
<div class="pagination-next">
<a href="/posts/2/">次へ</a>
</div>
</nav>
<article class="post-entry">
+ <a href="/posts/2026-04-20/i-can-eat-glass-it-doesnt-hurt-me/">
+ <header class="entry-header">
+ <h2>私はガラスを食べられます。それは私を傷つけません</h2>
+ </header>
+ <section class="entry-content">
+ <p>
+ PHP 処理系のソースコードで見つけた不思議な文言の由来を調べた。
+ </p>
+ </section>
+ <footer class="entry-footer">
+ <time datetime="2026-04-20">2026-04-20</time> 投稿
+ </footer>
+ </a>
+ </article>
+ <article class="post-entry">
<a href="/posts/2026-02-01/rewrite-this-site-generator-2026/">
<header class="entry-header">
<h2>このサイトの静的サイトジェネレータを書き直した (2026)</h2>
@@ -239,26 +254,6 @@
</footer>
</a>
</article>
- <article class="post-entry">
- <a href="/posts/2025-05-05/make-tiny-self-hosted-c-compiler/">
- <header class="entry-header">
- <h2>セルフホスト可能な C コンパイラを作った</h2>
- </header>
- <section class="entry-content">
- <p>
- ゴールデンウィークを使って、セルフホストできる C コンパイラを開発した。
- </p>
- </section>
- <footer class="entry-footer">
- <time datetime="2025-05-05">2025-05-05</time> 投稿
- <ul class="entry-tags">
- <li class="tag">
- <span class="tag-inner">C</span>
- </li>
- </ul>
- </footer>
- </a>
- </article>
<nav class="pagination">
<div class="pagination-prev">
</div>
@@ -272,7 +267,7 @@
</div>
<div class="pagination-page">
- <a href="/posts/6/">6</a>
+ <a href="/posts/7/">7</a>
</div>
<div class="pagination-next">
<a href="/posts/2/">次へ</a>