Ekasiliconのゴミ捨て場

ゴミがあります。そこに。

「すじ青のり天ぷらうどん」を食べた

個人的にセブンが好きなので、よく近所にある…といっても自転車に乗っていくくらいの近所にあるセブンイレブンに行きます。セブンのあの健康ぶった感じが嫌いでもなく、プライベートブランドであるセブンプレミアムはまず外さない、というのが主な理由です。

最近言われている通りセブンイレブンの諸々の価格が非常に上がっており、コンビニで何かを買うことが本当に贅沢になりつつある現代ですが、セブンプレミアムカップ麺はそこまで値上がりをしていないので、セブンイレブンのある種良心と言えるでしょう。というわけでセブンイレブンカップ麺を買うためによくカップ麺の棚へ赴くのですが、そこで新作の「すじ青のりの豊かな香り すじ青のり天ぷらうどん」なるものを見つけました。

プライベートブランドの常として製造元のブランド表示を小さくすることによって、安売りしても自社ブランドへのダメージを小さくし、プライベートブランド側としてはその分強気の商売ができるといった関係があるとされています。しかしながら、そういったものがあるはずにもかかわらず、マルちゃんのロゴがデカデカと書いてあったことに驚き、税込み298円という割引券をもらった時のカップヌードルBIGとそう変わらない値段であるのを尻目に買ってしまいました。

食べる

お湯を入れる前の「すじ青のり天ぷらうどん」。相対的に濡れていない。

せっかく買ってしまったので食べたいと思います。

作り方は一般的なカップ麺と同様で、440mLのお湯を入れ5分待つだけ。特徴のあるカップ麺にありがちな謎の小袋などは無く、大変調理しやすかったのはかなり良かったです。

お湯を入れた後の「すじ青のり天ぷらうどん」。相対的に濡れている。

上の写真はだいたい5分くらい経った後の「すじ青のり天ぷらうどん」です。個人的には食べている間にどうせ伸びるだろうという視点から、3分だったら2分20秒くらい、5分だったら4分くらいしたら食べ始めてしまうので、多分5分経っていません。5分経ったくらいで見た目はあんまり変わりませんね。

商品名においては海藻界の香りの王様らしいすじ青のりを前面に押し出しているのですが、「すじ青のり」が係っているのは「天ぷら」の部分だけのようで、残念ながらてんぷらの部分以外は良くも悪くも普通の関西風うどん、といった感じでした。

天ぷらをけち臭く分解して食べている姿

普通の青のりと比較して食べたわけではないのでよく分かりませんが、天ぷらは青のりの風味がいい感じに広まり(私が青のり、というか海苔が好きなこともあるのですが)、かなり良いものでした。そのため上の写真のようにちょびちょび天ぷらを分解しながらゆっくり食べ進めました。

まとめ

というわけである種の衝動買いをしてしまったので、その懺悔のために書き散らした記事でした。以上のように7プレミアムとしてはうーんという感じですが、それを差し引いてメーカー製のきちんとしたカップ麺、という気持ちで食べればまあコスパは悪くないのではないかと思いました。東洋水産が好きな方、もしくは青のりがお好きな方は試してみると良いかもしれません。

インターネットって、何? ~法律に聞いてみよう~

初めましての方は初めまして。Ekasiliconと申します。さて私は去る2025年2月1日に開催されたUNTIL.LT #0x06に参加させていただきました。

そこにおいて「インターネットって、何? ~法律に聞いてみよう~」というタイトルで5分間のLTをしました。この記事ではどのような話をしたのかをブログの記事という形にして記録していこうかと思います。

タイトル

インターネットって、何? ~法律に聞いてみよう~

あーすというところに所属しております、Ekasiliconと申します。さて今回私は「インターネットって、何? ~法律に聞いてみよう~」というタイトルでお話をさせていただこうかと思います。

今回は私たちが使っている「インターネット」とは何かについて、国権の最高機関たる国会*1を通過した法律から学んでいきたいと思います。

インターネットって、何?

私たちが普段使用しているインターネットとは何でしょうか。一言で説明しようとすると意外と詰まってしまう方も多いかと思います。これの原因としてWWWがインターネットと同義では全く無い、例えば電子メールはWWWの出現以前から存在していますが、明らかにインターネットの一部である、といったことが挙げられます。

インターネットとは何かについて比較的まともな事典であるニッポニカに聞いてみても、

一般には複数のコンピュータ・ネットワークをつなぐネットワークをいうが、実際にはTCP/IPという固有のプロトコル(通信規約)体系が通用するネットワークをさす。

コトバンクインターネット」より。

といった感じでめちゃくちゃお茶を濁されています。これだけじゃどういったネットワークなのか全然分かりません。

RFC 1122

これを解消するために、インターネットとは何であるかを示したRFC*2である「RFC 1122」を読んでみましょう。一般的に日本人は英語よりも日本語の方が読めるとされているので、ちょうどいいところにあったJPRSによる日本語訳を読んでみましょう。

1.1.2節「アーキテクチャーの設定」において、インターネットが想定している通信システム(≒インターネットとは何か)が示されています。箇条書きにすると、

  • インターネットはネットワークのネットワークである
  • ゲートウェイは接続の状態情報を維持しない
  • ルーティングの複雑さはゲートウェイに留めるべきである
  • システムは幅広いネットワークの変動に寛容でなければならない

というようなものだそうです。簡単に日本語にするとこんな感じでしょうか。

  • 複数のネットワークの集合体
  • 通信のエンドポイントと同一の場所で接続を管理
  • ルーティング部分とその上のコンテンツ部分を分離
  • 様々な意味でのネットワークの変化に対して寛容

これらを満たすネットワークが「The Internet」らしいです。よく分かりませんね。

法令におけるインターネット

ところでこのように実態がよく分からない「インターネット」の語は、意外にも法治国家らしい日本の法令に頻出します。

例えば現行の公職選挙法第百四十二条の七は以下のようなものとなっています。

選挙に関しインターネット等を利用する者は、公職の候補者に対して悪質な誹謗中傷をする等表現の自由を濫用して選挙の公正を害することがないよう、インターネット等の適正な利用に努めなければならない。

e-gov法令検索で、2136件!

e-govで検索を行ってみると、検索時点(2025年1月1日)で2136件も「インターネット」の語が使われていました。もちろん省令などで件数が多くなってしまっていることは否定できませんが、このようによく分からない「インターネット」で動いている日本という国は…と嘆く憂国の士の皆様方が3人くらいはいてもおかしくはないくらい多いと思います。

国立国会図書館法第二十五条の三

もちろん法令において「インターネット」が完全に野放しになっているわけではありません。真理は我らを自由にすることでお馴染み*3国立国会図書館ではインターネット上のコンテンツを収集しているのですが、これの根拠法として国立国会図書館法第二十五条の三では以下のような規定が設けられています。

第十一章の二 国、地方公共団体独立行政法人等のインターネット資料の記録

第二十五条の三 館長は、公用に供するため、第二十四条及び第二十四条の二に規定する者*4が公衆に利用可能とし、又は当該者がインターネットを通じて提供する役務により公衆に利用可能とされたインターネット資料(電子的方法、磁気的方法その他の人の知覚によつては認識することができない方法により記録された文字、映像、音又はプログラムであつて、インターネットを通じて公衆に利用可能とされたものをいう。以下同じ。)を国立国会図書館の使用に係る記録媒体に記録することにより収集することができる。

② 第二十四条及び第二十四条の二に規定する者は、自らが公衆に利用可能とし、又は自らがインターネットを通じて提供する役務により公衆に利用可能とされているインターネット資料(その性質及び公衆に利用可能とされた目的にかんがみ、前項の目的の達成に支障がないと認められるものとして館長の定めるものを除く。次項において同じ。)について、館長の定めるところにより、館長が前項の記録を適切に行うために必要な手段を講じなければならない。

③ 館長は、第二十四条及び第二十四条の二に規定する者に対し、当該者が公衆に利用可能とし、又は当該者がインターネットを通じて提供する役務により公衆に利用可能とされたインターネット資料のうち、第一項の目的を達成するため特に必要があるものとして館長が定めるものに該当するものについて、国立国会図書館に提供するよう求めることができる。この場合において、当該者は、正当な理由がある場合を除き、その求めに応じなければならない。

長くてよく分からないかもしれませんが、「インターネット資料 == 電子的方法、磁気的方法その他の人の知覚によつては認識することができない方法により記録された文字、映像、音又はプログラムであつて、インターネットを通じて公衆に利用可能とされたもの」という形で、「インターネット資料」とは何かということについて*5定義が行われています。しかしながら肝心の「インターネット」が何かという問いに対して一切の答えを提供していません。悲しいですね。

高度情報通信ネットワーク社会形成基本法

先ほどRFC 1122を参照してみたのは、古いRFCを探ることでインターネットの根源的な思想に近づこうとしたからでした。というわけで法令から教えてもらおうとする際は「インターネット」の語が出てくる最も古い法律を読んでみましょう。どうやら法令中に「インターネット」の語が出てくる最古の法は2000年に定められた高度情報通信ネットワーク社会形成基本法のようです。これはデジタル社会形成基本法の制定によって廃止された(デジタル社会形成基本法の前身と言っても遠くはない)法律で、日本のIT政策の基盤となっていた法律と言えます。

高度情報通信ネットワーク社会形成基本法

どうやらインターネットは高度通信ネットワークらしいです。いい話ですね。そのためブロックチェーンでも糸電話でもTelnetでも、インターネットと認められる余地はあるっぽい感じです。

というわけで我々はこれからも高度な通信ネットワークを突っついていきましょう。ありがとうございました。

参考資料

*1:日本国憲法第41条: 国会は、国権の最高機関であって、国の唯一の立法機関である。

*2:RFCへのリンクを張る際にどういった形で貼ればよいかは、こちらのブログで言及されており、そちらを参考にしました。と言いつつdoiで貼っているけど。

*3:国立国会図書館法前文: 国立国会図書館は、真理がわれらを自由にするという確信に立つて、憲法の誓約する日本の民主化と世界平和とに寄与することを使命として、ここに設立される。本当に好き。

*4:国、地方公共団体独立行政法人

*5:LT内では触れなかったのですが、この後ろに続く第二十五条の四において、第二十四条及び第二十四条の二に規定する者以外の者(要するに公共機関の類じゃない人々)が「オンライン資料」を作成した際には国立国会図書館に提供しなければならないと定められています。ここにおける「オンライン資料」とは、「電子的方法、磁気的方法その他の人の知覚によつては認識することができない方法により記録された文字、映像、音又はプログラムであつて、インターネットその他の送信手段により公衆に利用可能とされ、又は送信されるもののうち、図書又は逐次刊行物(機密扱いのもの及び書式、ひな形その他簡易なものを除く。)に相当するものとして館長が定めるもの」を指しており、「インターネット資料」より若干広い定義がなされています。ここの差が何を示しているのかについてもう少し深掘りしたかったかも。

さっくりわかるActivityPub

初めましての方は初めまして。Ekasiliconと申します。さて私は去る2024年5月11日に開催されたUNTIL.LT #0x04に参加させていただきました。

そこにおいて「さっくりわかるActivityPub」というタイトルで10分間のLTをしました。この記事ではどのような話をしたのかをブログの記事という形にして記録していこうかと思います。

タイトル

さっくりわかるActivityPub

あーすというところに所属しております。Ekasiliconと申します。さて今回私は「さっくりわかるActivityPub」というタイトルでお話をさせていただこうかと思います。

ちょっと前から話題になっているかもしれないMisskeyやMastodon、いわゆる分散型SNS(この呼び方はそこまで好きじゃない)と呼ばれているものに関係する話で、普通に面白いポイントがある技術だと思っているので、皆さんに"さっくりと"理解していただいた上で、興味を持っていただければ嬉しいなと思います。

話すこと・話さないこと

前回試験的に行ってみて割と好評だった、話すこと・話さないことについて簡単に説明していこうと思います。まず以下のことについて話します。

  • Fediverseの概念
  • ActivityPubとは
  • 簡単な歴史(RSS等)
  • 嬉しいところ

反対に以下のことについては説明しません。

  • HTTPそのもの
  • 込み入ったActivityPubの話
  • JSON
  • 詳しい歴史
  • つらいところ(布教したいので)

こういった内容については、よしなに憶測で補ったり調べていただいたりしていただければと思います。

Bluesky、一般公開

さて先日…といっても2月の話ですが、Blueskyが招待制ベータから誰でも登録できる公開の正式版となりました。ついでにロゴも青空から蝶になりました。蝶のように長生きしてくれれば嬉しいですね。

このBlueskyというものの売り文句の1つに「分散型」というのもあって、MisskeyやMastodonを思い浮かべた方もいるかもしれません。しかしながらこれは「AT Protocol」という新規設計されたプロトコルを使用しており、MisskeyやMastodonといったものが使用している「ActivityPub」とは異なるプロトコルです。今回はBlueskyとは関係ない、MisskeyやMastodonなどと関連するプロトコルについて話していきたいと思います。

MastodonとかMisskeyとか

先ほどから話しているMisskeyやらMastodonやらとはなんぞや、という話ですが、これはSNSのソフトウェア自身を指す言葉です。よく「Misskey始めました!」と言ってアットマーク以降の文字列を貼っている人がいますが、多くの場合それは開発者やそれに近しい人が運用しているサーバーのことを指すことが多いです。例えばMastodonであればMastodon.social、MisskeyであればMisskey.io、といった感じです。当然ながら全然別のサーバーも存在しており、つくばねすきー(mi.tsukuba.dev)においてはMisskeyというソフトウェアが動いていますが、Misskey.ioとは異なるものとなっています。

もちろんお持ちのサーバーへインストールすることも可能です。これらは自由ソフトウェアであって、勝手にソースを見た人が改善されていたりフォークされたりしています。

「連合」出来る

他にも先ほどから出ているワードとして「Fediverse」というものがありますが、これはどういうものでしょうか。前のスライドで説明させていただいたMastodonやMisskey等では、これらをインストールしているサーバー同士でコミュニケーションをとることが可能となっております。これを一般に「連合(Federation)」と呼んでいます。

情報同士が送られ合うといういわば「宇宙」のようなもののため、FederationとUniverseをくっつけて「Fediverse」と言っているわけです。さて、このFediverseはどうやって実現しているのでしょうか?

ActivityPub

それが先ほどから出ている「ActivityPub」というものです。これはW3Cから出ているHTTPの拡張、ということになっています。あんまりHTTPしているという感じはしないんですけどね。

MastodonやMisskeyの各サーバーには「INBOX」と「OUTBOX」があり、それぞれのサーバーが対応するものに応じて他のサーバーのこれらをGETやPOSTなどで叩く、という感じです。なんてナウでヤングなRESTワールドなんでしょう。

JSON-LDを使用

もちろんGETとPOSTだけで全てを賄っている、というわけではなく、送り付けあっているのはJSON-LDです。ただのJSONと何が違うかという話ですが、大まかに言えば「JSONのプロパティ名やデータ型などをきちんと定義した(ようなもの)」、という感じでしょうか。ちなみにRDFなどもこれによって表現が出来ます。

ActivityPubの世界ではActivity Streams 2.0で語彙を定義しています。一例を出すと、typeには「Note」、「Like」、「Follow」などがあります。SNS感がありますね。

アクター(各ユーザー)への変換

アクター(各ユーザー)への変換

もちろん、JSON-LDを送り付けあうだけではFediverseは成立しません。色々な面白い処理を行っています。ここでは一例としてアクター、一般的にはSNSを使っている各ユーザーへの変換を見ていきましょう。

ActivityPub上でアクターは「@ユーザー名@ドメイン」というメールアドレスのような形式で表記されます。例えばUNTIL.のアカウントであれば「@until@mi.tsukuba.dev」という感じです。ここで面白いのは、人間が見るべきものと機会が見るべきものが異なることがあり得る、異なるようにすることが出来るという点です。例としてはVivaldi SocialやInstrgramが始めたThreadsが挙げられます。このようなものを実現するために、Host MetadataというものとWebFingerというものの合わせ技で解決しています。

まず「@ユーザー名@ドメイン」という形が与えられた場合、初めに[ドメイン]/.well-known/host-metaを見に行きます。ここにはWebfingerをどこに投げればいいのかが示されています。

その次に得られたWebfingerの投げ先が示された場合、その先を見に行きます。だいたい[ドメイン]/.well-known/webfinger?resource=“ユーザー名@ドメイン”みたいな感じです。ここには通信を行うべきアドレスと、人間が見るべきプロフィールページのURLが書かれていたりします。こうして受け取ったものをよしなにユーザーへ渡せばよいわけです。

一例(@vivaldi@vivaldi.netの場合)

$ curl social.vivaldi.net/.well-known/host-meta -L
<?xml version="1.0" encoding="UTF-8"?>
<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
  <Link rel="lrdd" template="https://social.vivaldi.net/.well-known/webfinger?resource={uri}"/>
</XRD>

$ curl https://social.vivaldi.net/.well-known/webfinger?resource="vivaldi@vivaldi.net"
{"subject":"acct:Vivaldi@vivaldi.net","aliases":["https://social.vivaldi.net/@Vivaldi","https://social.vivaldi.net/users/Vivaldi"],"links":[{"rel":"http://webfinger.net/rel/profile-page","type":"text/html","href":"https://social.vivaldi.net/@Vivaldi"},{"rel":"self","type":"application/activity+json","href":"https://social.vivaldi.net/users/Vivaldi"},{"rel":"http://ostatus.org/schema/1.0/subscribe","template":"https://social.vivaldi.net/authorize_interaction?uri={uri}"},{"rel":"http://webfinger.net/rel/avatar","type":"image/png","href":"https://social-cdn.vivaldi.net/system/accounts/avatars/109/338/455/962/321/184/original/882e31b8fd08cf9d.png"}]}

RSS

どうしてこのようなものが出来たのでしょうか、歴史を探るためにRSSの仕組みを眺めましょう。大まかに言えばRSSは以下の仕組みで動いています。

  1. ウェブサイト上で記事が追加・更新される
  2. 更新した旨をRSSファイルに記述する
  3. ユーザーはそのRSSファイルを定期的に取得し、前回取得した時の差分や時間を見て更新を把握する
  4. ユーザーはRSSファイルや更新されたWebサイトを見に行く

細かいところでは違うところもあるのですが、大まかに言えばこんな感じです。さて、ここにおいては大きく以下の問題があります。

  • リアルタイムに情報を得られない(ユーザーがRSSファイルを取得するまで更新された旨を知るすべがない)
  • 特定の記事に対してフィードバックや反応を送ることが出来ない(mailto:がスパムによって事実上使えなくなった)

これらをどうにかして解決しようと、先人たちは様々な発明を行ってきました。例えば、RSSからAtomにしてみたり、WebSub (PubSubHubbub)を作ってみたり、Salmon Protocolを提唱してみたり、Webfingerを作ってみたり…などなどです。このような技術をまとめて作られたのがOStatusです。これに対応したソフトウェアとしてGNU Socialが良く知られています。

ただOStatusが複雑になりすぎたということで、Pump.ioというプロジェクトがActivityPubの原型を提唱し、現在ではW3Cの勧告となっている、というのが大まかな流れです。ActivityPubはとてもシンプルということになっていますね。

対応しているソフトウェア

このような謎のプロトコル、ActivityPubというものに対応しているソフトウェアはそんなに無いのであろう、と思ってしまうかもしれませんが、実はそんなことはありません。例えば以下のようなソフトウェアが対応しています。

全世界のウェブサイトの半分くらいを占めているWordPressも(プラグインを入れれば)対応しているということですので、ActivityPubの輪は確実に広まっているといえるのではないでしょうか。SNS向けのものですので、受け取れる情報量にはどうしても差が出来てしまいますが、そこもまた面白いポイントでしょう。

嬉しいところ

というわけで最後に嬉しいところをまとめておこうかと思います。

  • 異なるソフトウェアとさえ通信出来る! - もちろん制限されるところもある。しかし1つのアカウントでコミュニケーションが取れる。
  • 大富豪にお金を払わなくとも本人証明が出来る - 自分が所有しているドメインでサーバーを立てればよい。Blueskyのドメインをハンドルネームのようにするのとは異なります。
  • 変な技術なので面白い - HTTP(とその他もろもろ)でこれが実現できるの??という驚きがあります。基本となっているのはお馴染みのWeb技術です。

最後に

というわけでActivityPubをさっくり説明しました。何となく理解してくれれば嬉しいです。ありがとうございました。

「エンゲージのうた」と「ドリフ大爆笑のOP」と「隣組(楽曲)」

YouTubeを眺めていたらエンゲージのCMが流れてきました。


www.youtube.com

仕事探しは エンゲージ
転職・バイトも エンゲージ
新卒・パートも エンゲージ
求人サイトは エンゲージ

といった、エンゲージそのものを宣伝するCMです。見ていただければ分かる通り「ド♪ド♪ドリフの大爆笑 笑ってください今日もまた」で知られている往年の番組のオープニング曲が使われているように見えます。ところが概要欄には以下のように書いてあります。

「エンゲージ」の新キャラクターに就任した草彅剛さんが登場!転職、バイト・パート、新卒まで幅広くカバーし、すべての人の仕事選びを支える国内最大級の求人サイト「エンゲージ」の魅力を、草彅さんが40名以上のキャストと豪華なステージで表現します。30秒Ver.限定の、掛け合いなどの演出も必見!国民的メロディにのせた、クセになる歌とダンスにもご注目ください。

ドリフ大爆笑のオープニング」と書いてもおかしくはないところですが「国民的メロディ」と書いてあります。もちろんCMなので何らかの都合はあるかもしれないですが、ドリフ大爆笑とは書けなかったのかということが気になります。

調べてみるとドリフ大爆笑の歌は曲も詩も完全にオリジナルだと思っていたのですが、どうやら曲は戦時中の1940年に発表された「隣組」という曲が元らしいです。一応まだ著作権が存続しているらしいので音源を貼ることは控えますが、確かに曲はほとんど同じに見えます。なので冒頭のエンゲージのCMは替え歌の替え歌ということになり、かつ元の曲が堂々とは書きづらい曲ということで「国民的メロディ」という言葉でごまかした(?)のでしょう。

ところで4番まである「隣組」の歌詞を見てみるとそれぞれの後ろが以下の歌詞で終わっています。

(1番) 知らせられたり 知らせたり
(2番) 教えられたり 教えたり
(3番) 助けられたり 助けたり
(4番) 纏められたり 纏めたり

受動と能動がセットになっていてとてもリズミカルですが、どこかで聞いたことがあるような歌詞です。そう、CGCソングで。


www.youtube.com

1番が「助けられたり 助けられたり」、2番が「知らせられたり 知らせたり」、3番が「教えられたり 教えたり」という風に順番が入れ替わっていますが、全くといっていいほど同じです。1番は色々な人が支えあって生きている、2番は役に立つ情報が互いに交し合われている、3番は安くて豊富な商品について交換し合っている、というような状況にはなっていますが、「スーパーで能動的に情報を交し合うことないでしょ」とは思っていました。

しかしながらこういったバックボーンがあるなら納得です。恐らく戦時中に流されまくった結果、多くの人々の耳に残り、まさしく「国民的メロディ」になっていたこの曲のフレーズを使ってみたということでしょう。調べてみたら「この世界の片隅に」の映画版でも使われていたらしいので、ある意味戦時下の国民を象徴するような曲、というようなことなのではないでしょうか。

また一つ知見が得られました。いい話ですね。

ここまで書いて

…とここまで書いてから日本語版ウィキペディアの「隣組 (歌))」に(出典はあって無いような感じですですが)ほとんど同じことが書いてありました。一応このブログの方が後発であるということを記した上で終わろうと思います。

2023年を抱負を基に振り返る

初めましての方は初めまして。Ekasiliconと申します。

さて、2023年ももうすぐサービス終了が迫ってまいりました。1月1日からは新バージョン2024が始まるらしいので、楽しみにしておくと良いことがあるかもしれません。このような時期に書く投稿として「一年を振り返る」といったものがあります。人間の生活ってコンテンツらしいですからね。

ekasilicon.hatenadiary.jp

さて私は上記の通り2023年1月1日に「新年の抱負」を書いていました。新年というブーストがかかっていることで無責任なことが良く書かれているなと思います。というわけでこの記事では私の一年を1月1日に書いた抱負を基に振り返っていきたいかと思います。

振り返り

健康的な生活リズムを身に着ける

この記事を書いているのは金曜日の昼休みですが、どうやら木曜日の19時から起きているようです。健康的ですね。

人間生活に適した食事をする

個人的には積極的に野菜を取得することを心がけるようにしました。例えばコンビニ立ち寄った際にはカット野菜を買ってみたり、スーパーに行った際には野菜ジュースを調達してみたりしました。またカット白菜を購入し、鍋チックな料理を作ってみたりもしました。

しかしながらこの試みはあまり上手くいかなかったような気がします。確かにカット野菜を購入してはいましたが、そのカット野菜を用いて作る料理が俗に「エカパスタ」と称される簡易調理低コストスパゲッティでしたので、炭水化物と油分は効率良く取得することは出来ましたが、それ以外の栄養取得のコストパフォーマンスはそこまで良いものではありませんでした。また野菜ジュースを購入する機会であるスーパーへ行くという行為は2週間に1回あれば良い方でしたので、野菜取得は必ずしも成功したと自信を持っては言えません。

とはいえ後ろの事柄よりは積極的に気持ちを出したので、まあ良いことであろうかなとは思います。

何かいい感じのものを作る

Ekasiliconとしていい感じのものを作ったかと言われると、公式サイト内のWorksをご覧ください…という感じです。UNTIL.LTである程度話した以外はVTuberサークル「つくぶい!」のサイトをNuxt3で作ったくらいなのでちょっと微妙かもという感じです。ただ公式サイトをAstroで作り直したので努力はしたのかなと思いたいです。

インターネッツから出られる状態を維持する

幸か不幸か任せていただくタスクが多くなったので、インターネット以外と触れ合う機会が多くなりました。あまり自発的なものではないのでいい話かと聞かれれば微妙ですが、インターネッツ以外にも出られる環境を維持できていて良いかと思います。知らんけど。

人間と会話をする

先述の通り任せていただくタスクが多くなったので必然的に人間と会話する機会が増えました。また後輩が増えたことによって会話する人間が増えました。さらに言えばオンデマンドばかりの科目が減ったので同級生と触れ合う機会が増えたのもあり、人間とめちゃくちゃ会話するようになりました。

逆に人間と無意味に会話することの楽しさを感じるようになってしまって、これに依存してしまいそうでちょっと怖いかも。

単位の危機をそうそう起こさない

単位を取るための試験に気持ちを入れると、別の単位を取るための試験の存在自体を忘却するらしいです。いい知見が得られましたね。 †RIP 3単位†

以上のどれかに取り組もうと思い始めようとする

過去の私は偉いので露骨なセーフラインを引いていたみたいです。ヨシ!

一年を振り返ってみて

終わり生物、一年やそこらで変わらないみたいです。いい話ですね。

国立国会図書館にContribute(?)しようとした話

初めましての方は初めまして。Ekasiliconと申します。さて私は去る2023年12月3日に開催されたUNTIL.LT #0x03に参加させていただきました。

そこにおいて「国立国会図書館にContribute(?)しようとした話」というタイトルで10分間のLTをしました。この記事ではどのような話をしたのかをブログの記事という形にして記録していこうかと思います。

ちなみにこの記事はcoins Advent Calendar 2023の15日目です。日付には特に思い入れはありません。前日と翌日はいらっしゃいませんが、前にはEmblenさんの「Mod13スピードはいいぞ」、後ろにはMutsuha Asadaさんのグミに関する記事があるらしいです。

タイトル

国立国会図書館図書館へContribute(?)しようとした話

あーすというところに所属しております。Ekasiliconと申します。さて今回私は「国立国会図書館図書館へContribute(?)しようとした話」というタイトルでお話をさせていただこうかと思います。何を言っているかよく分からないと思うので何をした簡単に示しますと、

  • 国立国会図書館が管理しているLODに不具合と思われる挙動を発見した
  • 日本の役所とは思えないほど情報技術に理解があったのでスムーズに進行
  • 国立国会図書館へContribute(したかった)

という感じです。何をやったのかよく分からないような説明ですね。

話すこと・話さないこと

前提情報について説明していきます。以下の5つのことについて説明します。

反対に以下のようなことは説明しません。

  • XML
  • オープンデータ
  • HTTP Status Code

これらについては適当にその辺の端末でググっていただければと思います。Googleが嫌いな方はDuckDuckGoとかを使ってください。

前提情報

国立国会図書館

タイトルにもある「国立国会図書館」とは何ぞや?ということですが、国立国会図書館

国立国会図書館は、真理がわれらを自由にするという確信に立つて、憲法の誓約する日本の民主化と世界平和とに寄与することを使命として、ここに設立される。

という前文の国立国会図書館法によって作られた図書館です。カッコいいですよね。

日本で唯一出版された本全てを持っている図書館(まあ納本制度が守られているかというと…ですが)です。図書館としてこれだけでも大変ありがたい存在ではあるのですが、書誌情報等のオープンデータにも積極的であることで知られています。

ISIL

最近聞かなくなりましたね、「ISIL」。しかしながら今回話題にするのはイスラム国とか言われていた方ではなく、図書館及び関連組織のための国際標準識別子という長ったらしい名前を持つ物で、図書館とか博物館などの施設に国際的な番号を付与するというものです。国別に管理が分かれており、日本においては先に説明した国立国会図書館が付与・管理を行っています。

ISILは16桁以内の文字列からなり、例えば国立国会図書館であれば「JP-1000001」という風になっています。0が5個並んでいるのでWi-Fiみたい*1ですね。ちなみに国別コードとハイフンの後は国ごとにバラバラ(16文字以内であればなんでも良い)で、クソみたいなフレキシブルな仕様となっています。

LOD

Linked Open Dataの略です。コンピューター処理に適したオープンデータの形態の1つ…と簡単にまとめてしまうとNakayaさんがキレてしまいそうだとちょっと思っているのですが、まあWeb 3.0*2の実現に極めて重要なものであると思っていただければよいかと思います。

ISIL LOD

日本において国立国会図書館がISILに関するLODを試験的に提供されており、図中にQRコードで記載したリンクからアクセスすることが出来ます。世界に唯一の番号ですので、これに色々紐づけてあげると少ない情報から多くの情報が確実に得られて嬉しいわけです。

ここにおいては「AのほにゃららはBである」という主語・述語・目的語の3要素*3XMLで記載されています。そのためDOMをドムドムするといい感じに情報が得られます。

W3ID.org

このようなLODは世界に多数ありますが、管理主体が多様であることからアクセス方法が異なったりして煩雑といえます。これらを軽減するプロジェクトとしてW3ID.orgというものが存在しており、適切にIDを指定してあげるといい感じにリダイレクトが走ります。

ちなみに「リダイレクトが走る」というのは文字通りリダイレクトが走っています。どういうことか知りたい人はGitHubリポジトリにある.htaccessの大軍を適当に眺めてみるといいでしょう。かなりダイレクトな解決方法がなされています。

Wikidata

WikidataというものはWikipediaの運営財団が行っている知識データベースと呼ばれるものです。プロパティとデータの関係性をひたすら記述しています。当然ながら機械可読性は高いものとなっており、検索エンジンなどのナレッジパネルにも活用されています。

本題

前提知識が長くなってしまいました。では本題に移っていきましょう。

私がやりたかったこととしては

  1. 博物館について書かれた日本語版ウィキペディアの記事からWikidataに飛ぶ
  2. WikidataからISILを得る
  3. W3ID.orgを通って国立国会図書館のLODへ行く
  4. 情報を得る

ということです。具体的な例、というか問題点に気づいた例を見ていきましょう。私はあーすと呼ばれる場所にいますので、いわき市アンモナイトセンターの記事から話は始まります。

  1. 日本語版ウィキペディアのいわき市アンモナイトセンターの記事からWikidata(Q114231317)に飛ぶ
  2. WikidataからISIL(P791: JP-2000699)を得る
  3. P791の書式指定URLであるW3ID.orgを通り国立国会図書館LODへ
  4. HTTP 303の後にHTTP 404が返ってきたので情報が得られなかった

という感じです。情報が得られなかったので当然ながら調査を始めます。一瞬W3ID.orgのミスかと思いましたが、303が返ってきている時点で間違ってはいないようなので取り敢えず棄却できます。よくよく眺めてみると、404が返ってきたアドレスである「https://www.ndl.go.jp/jp/dlib/standards/opendataset/isil-2000.rdf」は存在しませんが国立国会図書館のサイトを潜ってみると「https://www.ndl.go.jp/jp/dlib/standards/opendataset/isil-1000.rdf」は存在するらしいです。

すなわちW3ID.orgに指定されており303を吐いてきた「http://id.ndl.go.jp/vocab/isil/$1」からのリダイレクトミス(typo)ではないかと推察しました。

非同期コミュニケーション

私は日本人なので電子メールを書くことが出来ます。FAXではなく。というわけで非同期コミュニケーションと言い張り午前1時35分にメールを送信しました。社会的ですね。内容としては上記のことを簡単にまとめた後に「Wikidataの書式指定URLに用いられているW3IDに指定されているので影響デカいかも」みたいなことを書きました。

するとその日の18時過ぎにメールが返ってきました。そのまま載せるわけにはいかないので内容を要約すると、

  • 連絡ありがとうございます。
  • 試行版LODのベースとなっているデータは博物館等への付与以前のもの
  • 対応については今後検討するが、当面は図書館だけのものとして活用していただければ

といったものでした。本当にごめんなさい!!!

反省点

同級生のように国の機関へContributeしたかったという気持ちと、データは簡単にいっぱいアクセスできた方が嬉しいという気持ちがあり拙速な連絡をしてしまったというのが最も大きな反省点と言えるでしょう。メールも今読み返してみると必要最小限度すぎる気がします。

反省点

この他にもダックテスト*4を崇めすぎたという点や、世の中には英語以外も言語と認めており仕様を日本語で書いてくれる人もいるということを忘れていたという点などもあります。

結語

というわけで皆さん、確認というのは重要ということが分かりました。生活の参考にしてみてください。とはいえ、オープンデータは楽しいので皆さん愛してください!!!一緒に"Web 3.0"の世界に貢献しましょう!!!!!!


…という話をしてきました。カスみたいな話ですが何かの参考になれば幸いです。それでは。

*1:災害時に公衆無線LANが自由に使えるようになる「00000JAPAN」みたいだなと話しながら思っていました。

*2:Web 3.0、またの名を「セマンティック・ウェブ」。ブロックチェーンとかAIとかメタバースとかがごちゃ混ぜにされている†Web3†とは特に関係は無い。

*3:LT中には触れませんでしたが、これがRDFにおける「トリプル」です。

*4:「あるものがカモのように動き、カモのように鳴き、カモのように泳ぐのなら、多分それはカモであろう。」という帰納法の1つ。

2023年の抱負(12月1日公開)

2022年12月31日の次の日は2023年1月1日であることが知られています。いわゆる「お正月」シーズンの始まりですね。積みあがったやることに目を背けながら、実家のこたつでゴロゴロしている人々は、この時期になると新年らしいことを行おうとします。その一つとして「新年の抱負」というものを人類は作りがちですが、年末になって振り返ってみると抱負そのものすら忘れてしまい、結果として何の意味もないものとなってしまう人も少なくはないでしょう。

そのため予約投稿機能を活用して2023年12月1日にこの抱負を公開するように設定してみました。そうすれば黒歴史製造機としてお馴染みの「未来への手紙」と同じように、何らかの素材として活用できると思います。では、書いていきましょう。

2023年1月1日 Ekasilicon。

続きを読む