ぜんぜん日々更新ではない日記です

まぁ、ぼちぼちやっていきます。
このページは最新7日分で、逆順(最新が上)で並んでいます。
過去のものはヘッダ部分のリンクから選べます。

目次

2025-08-15 酒の味
2025-08-15 飲み会
2025-08-12 盆まつり
2025-08-04 昔のプログラマ
2025-07-23 ここしばらくの出来事
2025-07-02 akamai の CDN
2025-06-29 uniqlo のシャツ
 今月の日記
酒の味  2025-08-15 10:46:56  料理

▲目次へ ⇒この記事のURL

こちらが今日の本題。


先に書いた飲み会の話と、本日が長男の誕生日(21歳になった)のが頭の中で結び合わさり、酒の味の話を書こう、と思った。

この話、以前から思っていることではあるが、書いてなかったと思うから。


我が家では、子供が小さいころから、親が酒を飲むときには、「酒は美味しくないものだ」と教えている。

子供が妙に興味を持って飲もうとすると危ないからね。


そして、僕は実際に、酒は美味しくないものだと思っている。

アルコールは人体にとって毒であり、毒をまずく感じるのは当然。


でも、美味しくないのになぜ飲むのかと言えば、酒は「楽しい」からだ。

毒により神経が軽く麻痺し、いつもと違う感覚になる。いわゆる「眩暈めまい」の状態で、カイヨワの分類する遊びの4要素のうち一つだ。

飲むだけで遊びの感覚が得られる。これが楽しいから飲むのだ。


ただ、酒が美味しいとする人がいるのも理解できる。

僕の定義では「美味しい」と「楽しい」は分離できるものだが、この二つは非常に密接であり、分離しない方がよいと考える人や、そもそも分けて考えたことなどない人もいるだろう。


一人で食べるより、誰かと食べる方が美味しい。

人がいることで食べ物の味が変わることはないが、食事は確実に「楽しい」ものとなる。

そして、楽しい食事は美味しいのだ。だから、酒が美味しいというのも間違いではない。


愛情のこもった料理はおいしい、というのも同じだな。

自分に愛情が向けられている、と知った時に不快に思う人はいないだろう。温かい、楽しい気持ちになる。

ただ、これは愛情をいただく側が言うことで、いくら愛情をこめても、伝わってないと美味しいと感じてもらえない。




酒は不味いが楽しい、そして楽しいものは美味しい。

じゃぁ、酒が不味くなければもっとおいしいのに。



酒が不味い、と思っているのは僕だけではなく、古今東西の人がみな思っている。

だから、酒が少しでも不味くなくなるように、様々な工夫が試みられている。


酒に炭酸が入ると、炭酸で舌がしびれて味を感じにくくなる。

「不味い」を無くして「楽しい」だけにできるなら、それは美味くなったと言えるだろう。


シャンパンやシードル、ビールなんかがそうだな。


ただ、発酵時の炭酸を閉じ込められるようになったのは、ガラス瓶が普及してから。比較的近年だ。


同じように、強く冷やしても酒の味を感じにくくなるが、これは瓶よりさらに後、冷蔵庫ができてからだ。

キンキンに冷えた、炭酸の利いたビール、というのはごく近年のもので、長い歴史のほとんどは「ぬるくて気の抜けたビール」だった。


でも、ドイツは水質の悪いところが多く、寄生虫などが原因で下痢をすると命にかかわったため、アルコールによって寄生虫がいないことが保証されているビールは、まさに命の水だった。中世では子供でも当たり前にビールを飲んでいるのはそういうことだ。




蒸留酒もまた、不味さを消すための工夫だと思っている。

アルコール濃度が高くなるため、アルコール独特の臭みは出るし、味も苦みがが強くなるのだが、わずかな量を我慢して飲むだけで「楽しい状態」になれる。

苦い薬でも楽になると覚えれば飲めるようになるのと同じで、慣れてしまえば不味いことも忘れてしまう。


本来、醸造酒は酸っぱくなりやすい。現在の酒は高度な技術で酸味が出ないようにしているものが多いけど。

でも、蒸留することでこの酸っぱさも無くせる。

(酢酸とアルコールで蒸発温度が違うためだ)


蒸留したてよりも、しばらく時間を置いたほうが飲みやすい、というのも発見されている。

アルコールは毒なので「不味い」のだが、時間を置くと水と結合して「包み込まれる」ことで、舌で感じにくくなるらしい。

また、不快な香りが揮発する、樽の香りがうつる、などの効果もある。

いずれにせよ、多くの蒸留酒が作りたてではなく、しばらく置いてから飲むのが良いとされる。




ポルト酒のような工夫もある。


ポルト酒はワインなのだが、発酵の途中で蒸留酒であるブランデーを加える。

すると、急にアルコール濃度が高まるために、発酵を行う酵母が死んでしまい、発酵が止まるのだ。


発酵は、澱粉が糖に代わり、糖がアルコールに変わる、という反応だ。これが、糖を多く残したまま止まってしまう。

つまり、甘い酒になる。これが、甘口で飲みやすい。


甘いというのは、生物にとって活動のエネルギーとなる糖が含まれている、という味であり、何よりも重要だ。

だから、多少毒であるアルコールが入っていても、糖の美味さが勝ってしまい、飲みやすくなるのだ。


じゃぁワインに砂糖入れればいいじゃん、という話もある。

昔は今のような精製糖が入手しにくかったのでポルトワインのように作る方が簡単だったのだろうが、現在実際にワインに砂糖を入れて飲む飲み方はある。


クリスマスなんかに飲まれる、ホットワインだな。

シナモンや胡椒などの香りも入れ、身体が温まる飲み物として供される。




不味い酒を美味しく飲むための方法としては、カクテルを外すことはできないだろう。

カクテルのレシピは星の数ほどある。これこそが、人類が「酒は不味いが飲みたい」と思っている何よりの証拠だと僕は思っている。

本当に酒が美味しいというのであれば、そのまま味わえばいいのだ。美味しくないからできないのだ。


先に蒸留酒の話を書いたが、一度アルコール分が高まっているのだから、薄めて醸造酒程度になったって問題ない。

だから、美味しいジュースなどと混ぜてしまう。元の醸造酒の不味いところを取り去り、美味しいものに置き換えた感じだ。

(最大に不味い毒である、アルコールは残っているのだけど)


最初に、炭酸が入ると舌が麻痺する、と書いたが、炭酸と混ぜたカクテルも多い。


アルコールは少し苦みがあるが、柑橘も少し苦みがあるため、柑橘と混ぜると味がごまかされやすい。

柑橘の香りだけでもよい。毒の苦みではなく、柑橘の苦みだと誤認させればよいのだ。

だから、柑橘を使ったカクテルも多い。


蒸留酒ではなく、醸造酒を使ったカクテルも多い。


ワインに果実を漬け込んだ「サングリア」などもこの類型だと思うが、実際にサングリアを作ると日本の酒税法では「果実酒」となり、醸造免許が必要となる。

(「梅酒」は販売目的でなく家庭で作る分には違法にならないが、サングリアの場合は違法となる。ベースとなる酒が果実酒用に作られたものではなく、正しく課税されないため)


なので、お店で提供されるサングリアは、本当はサングリアではなく、ジュースと混ぜただけのカクテルであることが多い。

最近は大手酒造メーカーがサングリアとして売っている酒も多いので、そういうやつかもしれないけど。

(これなら醸造免許を持った会社が作っているので問題ない)




酒の話は尽きない。

人類は酒が大好きで、昔から様々な工夫をしてきた、ということだろう。


途中でも書いたが、これこそが「酒は不味い」と示す証拠だと思う。

楽しいから飲みたいけど、不味いのは嫌だから工夫してきたのだ。


酒は、美味しいのではなく、楽しい。

僕はそう思っている。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

料理

別年同日の日記

02年 急な仕事

04年 実家で相談

04年 男の子です

05年 満1歳

13年 長男誕生日

14年 ミスティクア 

15年 Windows10 へのアップグレードで Chrome が動かなくなったが

15年 Windows10のスタート画面

21年 コロナ闘病記 5

21年 コロナ闘病記 6

21年 コロナ闘病記 7


申し訳ありませんが、現在意見投稿をできない状態にしています

飲み会  2025-08-15 09:37:30  その他

▲目次へ ⇒この記事のURL

仕事先の社長に誘われて飲み会に行ってきた。


いつもは仕事に呼ばれ、終わった後に飲み会という流れなので今回も何か仕事あるかな、と思っていたらなかった。

夕方に来て、と言われるので、昼は自宅で仕事をして、早めに切り上げて仕事先に向かう。


その会社のマスコットキャラクターを頼んでいるイラストレーターさんも来る、というので地元のお菓子をお土産に買って行った。(我が家は仕事先まで Door to Door で1時間半ほどかかる。周辺の人から見ると「ちょっとした観光地」だ)


イラストレーターさん…基本イラストレーターだが漫画も描く。Vtuber のデザインなんかも手掛けたらしい。飲み会の席で初めて聞いた。

まぁ、ちょっと有名な方。でも、気さくで、いろいろな話をして楽しい飲み会だった。


特にオチのある話ではなく、楽しかったから記録にとどめるのみ。


▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

その他

別年同日の日記

02年 急な仕事

04年 実家で相談

04年 男の子です

05年 満1歳

13年 長男誕生日

14年 ミスティクア 

15年 Windows10 へのアップグレードで Chrome が動かなくなったが

15年 Windows10のスタート画面

21年 コロナ闘病記 5

21年 コロナ闘病記 6

21年 コロナ闘病記 7


申し訳ありませんが、現在意見投稿をできない状態にしています

盆まつり  2025-08-12 14:46:47  その他

▲目次へ ⇒この記事のURL

町内会の盆まつりが終わった。


いやー疲れた。町内会としては最大の行事。


僕は「当日の実働部隊」のうえ、力仕事ではなく放送とPCでの印刷担当。

(祭りは寄付金と模擬店の売り上げで行っており、寄付してくれた人の名前を張りだす「華掛け」が大切。その場で PC で名前を印刷して張りだすのだ)


事前準備もしてないし比較的楽な部類だと思うのだが、本当に皆様お疲れさまでした。


事前準備していないとは言いつつ、いくつか新しい試みをしたのでその準備はしている。


1. 盆踊り曲が増えた


以前はいろいろ音楽を流していたのだが、そもそも「盆踊り」を楽しんでいた世代が老人ホームに入ってしまっているのだ。踊れない。

コロナ禍のときに祭りを開催できずに数年のブランクが開き、久しぶりに開催したらそれまで踊りの中心になっていた人たちが皆いない、という…


その人たちは盆踊りの中心であり、女王のように君臨していた。

率先して踊ってくれ、周囲もそれに合わせることで楽しめていた、という良い面もあるが、その人たちの意見は絶対だったという悪い側面もあった。


その人たちがいなくなったのだ。翌年から大改革が始まった。


盆踊りなんて今の若い人にはわからん。子供向けのダンスを取り入れよう、というのでできたのが「キッズタイム」。

ある意味これは大成功だったのだが、キッズタイムに時間をとられ過ぎたために「盆踊りを楽しみたかった」という大人の意見も多くなった。



で、今年また大きく変えたのだ。踊る時間を3つに分ける。

1つはキッズタイム。子供向けの踊り中心だ。ただ、ここで「炭坑節」と「東京音頭」という2大盆踊りを教える時間も設ける。

もう1つは、定番盆踊りの時間。上に挙げた2曲に加え、「きよしのズンドコ節」を流す。ズンドコ節はちゃんと踊りもあるのだが、炭坑節の踊りであわせてもなんとなくいける。


そして、もう1つは「休憩時間」の BGM を全部盆踊り曲にした。去年は、子供に喜んでもらおうと子供に人気のある曲を流していたのだ。

「定番」でない盆踊り曲を踊りたい、という要求には、ここで答える。休憩時間でも踊りたい人は踊ればよい。


で、ここの「盆踊り曲」に、ダンシングヒーローマツケンサンバIIを入れたのだ。

町内会長の発案によるが、「誰も踊れなくても構わないから、新定番を取り入れていこう」ということだった。


この二つ、全国的に最近の「新定番」。

ダンシングヒーローは 1985年の曲だし、名古屋ではその頃から踊られていたらしい。

でも、数年前にバブリーダンスと称して高校のダンス部がこの曲に合わせて踊ったものが大ヒット。

高校生向けのダンスコンテストでいくつも優勝した上に、テレビでも紹介されて大人気に。

で、「実は中京地区では盆踊りにされている」というのも一緒に有名になり、全国で踊られるようになったのだ。


マツケンサンバII は、普通に曲がヒットしたころから全国で踊られているらしい。

盆踊りの年齢層とマッチしたのだろうね。


どちらも、結局盆踊りというのは「誰かが踊りを作ればよい」だけなのだ。曲が何であれ、誰かが踊りを考案すれば盆踊りになる。

他の定番も含め、町内会の HP で踊り方ビデオをリンクして公開したのだが、なにぶん HP は今年4月に作り始めたばかりで、読んでいる人が少ない。


僕も踊るつもりでいたのだが、祭りの1週間前に腰を痛めてしまってね…。夏祭りまでには動けるようにはなったが、踊りの練習はできなかった。うろ覚えでもにぎやかしで踊ってみたのだが、途中でわからなくなり惨敗。

誰かひとりが踊れれば周囲はそれを見て踊れる。来年は覚えて踊れるようにしたい。



2. ラジオ放送を取り入れた


もう一つの新しい試みとして、ラジオ電波での放送を取り入れた。


FM波は、50m 離れたら聞こえないほど微弱な電波であれば、ある程度の決まりを守れば使用してかまわない。

(その地域で聞けるラジオ局の周波数の近くはダメだとか、緊急信号用の周波数の1/2 、1/3 周波数はダメだとか、いろいろ気を使う点はある)


そこで、機材を購入して、お祭りの際にスピーカーから流している音声を、ラジオでも放送するようにした。


というのも、町内会でもっているスピーカーの出力では、会場の端まで音が届かないのだ。

大体 10m くらいの範囲は聞こえる。人がいなければ 20m でもはっきり聞こえる。

でも、人がいて雑踏の喧噪になると、20mでは音が鳴っていることはわかるが、言葉などは聞き取れない。


そして、会場はお祭りの櫓を中心として、一番遠いところでは 30m くらいあるのだ。


踊る人は櫓近くにいて、周辺は模擬店だ。でも、アナウンスなど模擬店を楽しんでいる最中でも聞こえないと困るものもある。

そこでラジオ放送だ。模擬店にラジオを置いてもらえば、スピーカー音声が聞こえないところでも、放送内容が聞こえるようになる。


ただ、この試みは半分成功、というところ。

ラジオが必要、と伝えたところ、町内会で手配すると言われていたのだが、当日受け取ったのは小さなポータブルラジオ3つだけだった。


ポータブルなのでスピーカーが小さく、音も出力が弱い。

雑踏の中ではラジオの前 1m 程度のところまでしか音が聞き取れない。

それでも、ラジオを置いたところの店にいるお客さんには聞こえていたようだけど。


櫓の上で太鼓をたたいている、囃子会の人は独自に「大音量が出るラジカセ」を準備してくれた。

毎年、櫓下にあるスピーカーからの音では、太鼓の音にかき消されて合わせずらかったのが解消したという。

このため、囃子会の人には今回の試み大好評。


(関係ないが、櫓と放送席の間にトランシーバーも導入した。毎年何か伝えることがあると「伝令」が走っていたのだが、すぐ話ができるというのも大好評だった)



僕の担当分野での「新しい試み」はこれくらいかな。




1日目は順調で大盛況。

大盛況すぎて、人が多いので事故が起きないか心配だった、というのは後から聞いた。

(放送席は会場脇の屋内にあり、全体がよく見えない)


子供は走り回ってるし、近所の老人ホームから車いすの老人も20人くらい来ていたのだ。

実際、子供用に用意していたお菓子があったのだが、十分用意したにも関わらず足りなかった。

(足りない分は2日目に用意していた分を出した)



2日目は朝から雨。結構激しく降っていた。

この雨は予想されていたので、昼ごろ方針を決めて連絡する、と聞いていた。

まぁ、この雨じゃ無理だろう…と思っていたら、昼頃に決行の連絡。


天気予報では徐々に弱まるとはなっていたが、「止む」とまではなっていない。夕方の開催時刻でもせいぜい「小雨」だ。


やると聞いたので会場に行ったが、関係者みんなが「本当にやるの?」 という感じだった。


これが、実際に開始時刻には雨が上がったのだ。そして、5分程度の小雨は2回降ったが、開催期間中はそれだけだった。

むしろ、前日の暑さが消え、踊りやすいくらい。


まぁ、運がよかっただけとも言える。


町内会長としては、多少雨でも楽しみにしていた子供は喜んで来るだろうし、前日のような大混雑にならないならその方が安全だろう、という読みだったらしい。だから、雨が降ったままでも構わなかったのだ。



さらに翌日の片づけは、雨の中での作業となり、作業していた人はずぶぬれだった。

僕は相変わらず PC や音響機器の片付けなど屋内作業中心で、その後もその流れのまま屋内でテントを拭いて畳む作業をしていた。


毎年のことだが、大きなイベントなのでうまく行かない点も多く、反省点も多い。

しかし去年の反省は確実に活かされているし、多くの人が喜んでくれたので成功だったと思う。


関係した皆様、準備した側だけでなく、遊びに来てくれた人々も含め、お疲れさまでした。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

その他

別年同日の日記

02年 中華料理

05年 ゴミ箱

14年 IBM PC の発売日(1981)

15年 夏の家族旅行・福島

15年 アイスバーガー

15年 宿に到着

15年 2日目

15年 夕食

15年 旅行中のナビについて

16年 家族旅行:プレジャーフォレスト

16年 極楽パイロット

16年 プレジャーフォレスト・キャンプエリア

16年 プレジャーフォレスト・2日目


申し訳ありませんが、現在意見投稿をできない状態にしています

昔のプログラマ  2025-08-04 12:09:18  コンピュータ

▲目次へ ⇒この記事のURL

かなりどうでもよい話です。


度々書いているが、町内会の仕事をやっている。

基本的には頼まれて仕方なく。

でも、任期を超えても積極的にやっているので、周囲から見れば「好きでやっている」部類だろう。


まぁ、それはいいんだ。

基本的には町内会の仕事は任期のある物で、頻繁に人が入れ替わる。


そして、今年一緒に仕事しているのは、80越えのおばあちゃんだ。

僕が「ご出生お祝い会」や「子育てサロン」の仕事をしているので、女性の方が適役だろう、という判断。


やっているのは福祉関連で、敬老の日にお祝いの品を配布するのも大切な仕事だ。

回覧板でアンケートを配布し、後期高齢者にあたる 75歳以上の人で申請があった場合はお祝の品を配布する。



この集計作業はほぼ僕が行っているのだが、人がやるのでミスもある。

ミスがあって配布漏れ、とかなるとお祝にケチが付くので、集計データをエクセルにいれたら、別の人の目も入れてダブルチェックを行う。

ここで、一緒に仕事をしている方に手伝ってもらった。




ここまでが前置き。

エクセルとか、最近のパソコンわからないわー、というおばあちゃん。

まぁ普通の反応なのだけど、「最近のパソコン」というのがミソ。


昔フォートランのプログラム作ってたらしいのだ。

キーパンチャーなどではなく、プログラマ。


以前パソコンでもプログラムしようと思って Visual Basic をやってみたのだけど、フォートランと違い過ぎて挫折したらしい。

エクセルはもっと簡単ですよー、なんて話をしながら、せっかくなので昔はなんのマシンを使っていたのか訊いてみた。


CDC 160A らしい。あまり知らない機械。


「もう、古い機械よ。最近は 6500 とか、そういうの使ってるんじゃないかしら」


と言われたのだが、6500 は 1960年代の中ごろに発売され、80年代までサポートされていた機械だ。

さすがにもう使われていないと思う。


6000シリーズなら、今年の春に調べていたので、少しわかる。



いや、話としてはこれだけで終わりです。

「自分の生まれる前の機械」として興味を持って資料を漁っていた 6500 を、その時代に実際使っていた人が身近に居た、というだけ。

(6500 を使ってたわけではないけど、160A はその頃の廉価機)


町内会のご老人方、話聞くと面白いんだよね。

国鉄時代に鉄道員やってて駅長まで務めた人とか、携帯電話黎明期にシステム設計して料金体系定めた人とかいる。




▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

別年同日の日記

11年 家族旅行

11年 家族旅行2日目

13年 「迷路のねずみ」動画公開

16年 手相占い特別版

20年 梅雨明け


申し訳ありませんが、現在意見投稿をできない状態にしています

ここしばらくの出来事  2025-07-23 18:09:37  その他

▲目次へ ⇒この記事のURL

ふと気づいたら、今月の日記 akamai の技術解説しか書いてないではないか。

これは僕の「日記」なのに、技術解説のみというのは良くない。


今月だってそれなりにいろいろあったのだ。

いろいろあったのだけど…ネタとしては弱くて、書くほどじゃないかな、って思って書かなかったのだ。


せっかくだから、まとめて書いておこう。

1つづつでは弱くても、まとめればそれなりの量になる。




6月末の話しから始まる。

長女の高校で文化祭があったので見に行った。


もう3年生だが、1・2年生の時はまだ「コロナ警戒」のため、家族から1名だけ、と指定されていたのだ。

それで妻が見に行っていた。僕は今年初めて。


「携帯電話、電波はいらないよ」と妻と長女から散々聞いていたが、校内本当に電波が入らない。笑いが出るレベル。

山の上にあって、「陸の孤島」みたいに言われてるんだよね…


この文化祭で、長女は部活卒業。演劇部だった。

しかし、この演劇部が困った人だらけで、振り回された3年間であった。

(我が強くて自分勝手な親子がいて、子供も親も他人の迷惑を顧みない行動をとり続けたのだ。

 それを筆頭に困った人ばかりの部活で…嫌気がさして辞めた部員も多数。結果、困った人しか残ってなかったともいう。)


長女も出演した最後の公演、その困ったちゃんが何かに感化されたそうで、「自分がシナリオ書くからミュージカルをやる」と強行して、本人が音痴だという…

シナリオ書くのに難航して、曲を作る時間も十分になかったらしい。なので音が非常に薄く、スーパーの店内BGMのよう。


それでも、公演したものは「かなりマシになった」バージョンだそうで、文化祭のしばらく前に大会で出したものは本当にひどかったって。

(主演の「こまったちゃん」があまりに音痴なので、直前に他の部員が結託してクーデターを起こし、何曲か歌のシーンをカットさせたらしい。大会の際はそこどまりで、無理なカットが多いので話が繋がらなかった。

 文化祭公演はカットした歌の代わりのシーンを作って、話がまともにつながるようにしたもの)




2週間後の7月頭、今度は次女の高校の文化祭があったので見に行った。


次女は写真部に入った。とはいえ、カメラ持ってない。

今年立ち上げたばかりの部活で、部長が「スマホのカメラでもいいよ」と言ってくれたので、スマホで写真撮ってる。


で、はじめての文化祭展示なのだが、今時なので現像するのではなく、プリントセンターで綺麗に印刷してもらったものを壁に並べてある。

スペースが狭いので、いろいろな写真をごちゃっと。なんとなく色別に分けてグラデーションを感じさせてあるのは悪くないアイディア。


でも、最初は印刷された紙をそのまま貼ろうとして、「そのまま壁に貼るのはなんか違う」と、段ボールに貼ってから壁につけたそうだ。

これが、段ボールの表面のうねりが出てしまい、なんとも貧相。段ボールの小口見えてるし。


時間がなかったので急ごしらえしてから、皆で反省して「来年はもう少し考える」らしい。




ところで、次女の高校は文化祭のしばらく前に「クラスTシャツ」を作ったのだが、こちらもひと悶着あった。

教員の指示が適切でないために、ありとあらゆる「違法案件」を踏み続けたのだ。


このページでも時々著作権がらみの話書いているのだけど、僕は「普通の人よりは」著作権に詳しいと自負している。

(弁護士ではないので、あくまでも普通の人よりは、どまりだ)


Tシャツデザイン案が上がってくるたびに、それは著作権違反だ、肖像権違反だ、商標法違反だ、と指摘していたのだが、そもそも教員に順法精神が欠如していた。全く根拠なく「大丈夫です」と言って、違法な道を突き進むのだ。


…結局、最初に依頼したTシャツ作成業者に「なぜか」そのデザインは受け付けられないと断られ、作ってくれるところを探して依頼したらしい。

断られた時点で、業者も法に違反している、と判断したのに、そこでデザインを変えるのではなく、請け負ってくれるところを探してでも作るという行動。


…で、クラスTシャツができてから、「クラスTシャツがらみのトラブルが続出している」と政府関連機関も注意喚起する事態になっていますね。

もう少し早く注意喚起してくれれば、学校での無駄なごたごたもなかっただろうに。


(いや、注意喚起が遅かったとかの問題ではなく、順法精神のない教員が問題なのだが)




ちなみに、次女の高校、昨年受験前に「視察で」文化祭に行った際、著作権違反が凄かった。

ポスターとか、有名キャラを真似て描いた絵だらけだったのだ。


ところが、今年の文化祭ではそうしたポスターはほぼ見られなかった。

どうも、クラスTシャツの件でいろいろ申し入れたので、教員側でも少し知財について学んだらしい。

Tシャツの時には間に合わなかったが、しばらく後の文化祭には活かされた、というわけ。


ちなみに、長女の学校は昔から知財に厳しい。

詳しい先生がいて、案の時点でその先生のチェックを通らないといけないのだそうだ。




さて、次女の文化祭の少し後の話。


2日ほど後に、僕が腹痛を起こした。気分が悪くなるほどの状態で、仕事を早退させてもらったほど。

でも、1日でだいたい治った。寝てるときに腹冷やしたかな…と思っていたら。


さらに2日後、長女も似た症状。その翌日には長男も。

あら、これ、そういうタイプの風邪だわ。


で、週末の土曜日に、夜になってから次女も同じ状態に。

…なのだが、8時過ぎに、すごい腹が痛いと苦しみ出した。涙が出るほど痛いらしい。


これはちょっと尋常ではないが、救急車を呼ぶほどの事かどうか…

でも、土曜日なので病院行くなら早くしないと、日曜日は休診の所が多い。


調べたら「救急車を呼ぶかどうか迷ったら電話」というサービスがあった。神奈川県のサービスだ。

そこに電話をかけて相談。症状を聞く限り、すぐ病院へ、と言われ、夜間診療している病院を紹介された。


その頃には本人が少し持ち直しており、自動車移動ならできるというので家の車で連れて行った。


病院に行ってから気分が悪くなり、戻してしまうこと2回。

血液検査や CT スキャンも行ったうえで、有意な異常は見られないので、家族もかかったということを考えて急性ウィルス性腸炎だろう、との診断。

この病気でそこまで腹痛になることはあまりないらしいが、全くないわけではないという。




1週間ほどたって、一昨日の話。

海の日の休日。


次女の高校では、1年の今のうちから志望大学決めとけ、と言われている。

少し前に次女もいろいろ調べて、自分の興味がある学問・偏差値レベルなどを勘案して1カ所志望校を決めていた。


で、それを決めたときに調べたら、海の日にオープンキャンパスをやるという。

その時点で「締め切りは昨日だった」のだが、確認したらキャンセルが出たようで申し込めた。


2名まで行けるそうなのだが、今年受験生の長女が、志望校ではないが見てみたいという。

娘二人で見に行った。


これは問題ないのだが、暑い日だった。

帰ってきてから、長女は「疲れた」と仮眠。

塾に行く時間になって起こしたのだが、様子がおかしい。目がうつろで受け答えが変。


熱中症だ、と判断して、氷嚢などで体を冷やす。経口補水液も作って飲ませる。

塾には休みの連絡を入れた。


しばらくして、顔には生気が戻ったが、高熱が出た。

本人寒いと言うが、毛布に入ってしまうと体の熱が逃げない。腹に薄いタオルケットをかけるくらいで、身体を冷やし続ける。


1時間くらいしたら、熱も引いてきた。とはいえ、37度を超えていたが。

熱中症は急に死ぬことがあるので、親の目の届くところで仮眠させて様子を見ていたが、夜中には大丈夫そうだと判断できる状態になった。


翌日(昨日)は学校の終業式で、休むとややこしいことになる状態だったが、熱も下がって問題なく行くことができた。




▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

その他

別年同日の日記

02年 免許更新

09年 ゲーム解禁

13年 ○○、Fonera やめるってよ。

14年 高柳健次郎の命日(1990)

15年 夏風邪

18年 LED 電球

19年 のみかい

22年 プリンタ購入


申し訳ありませんが、現在意見投稿をできない状態にしています

akamai の CDN  2025-07-02 18:11:48  コンピュータ

▲目次へ ⇒この記事のURL

先日、uniqlo のシャツの話題で「akamai」という企業を取り上げた。


話の腰が折れるので、この企業が提供しているサービスについては割愛した。

しかし、面白い技術なので知ってほしい、と思って説明しているページを探してみたものの、的確に書かれたものが見当たらない。


CDN という仕組みを提供している、ということと、その技術について非常に「ふわっと」書かれたページは多い。

ふわっと、というのは書いている人も理解していない、ということだ。


こんなに面白い技術、是非知ってほしいのだけど、書かれたページがないのか…

となれば、自分で書くしかあるまい。




最初に断っておくが、僕自身は akamai の中の人でも何でもないし、ページ提供者側として利用したこともない。

以前にどこかで聞いて技術概要は知っているが、細かな部分は間違っているかもしれない。


また、以前の Akamai は「CDNの企業」だったのだが、現在はセキュリティなども含めたサーバ運用全般を扱っているようだ。

それに伴い、CDN もどんどん新技術が導入されているようだが、僕はそうした細かなことは知らない。


これから書く話は「基本的な」ものに過ぎない。

現状を正しく表しているものではない、という反面、まだ単純だからわかりやすくもあると思う。




まず、CDN について。Content Delivery Network の略で、コンテンツを届けるネットワーク、という意味になる。


コンテンツという概念はまた微妙なものなのだが、この文脈の中では「WEB ページで提供されるデータ」だと思ってもらってよい。

通常は通信して取得するもので、わざわざ「届けて」もらう必要はないものだ。


ところで、インターネットは世界中と通信できる。

たとえば、海外旅行に行きたくてアフリカの観光サイトを見たとしよう。


もちろん通信できる。でも、ページが表示されるまでに時間がかかる。遅い。

理由は、遠いからだ。世界中と通信できると言っても、遠ければ時間はかかる。


通信は電気で行われていて、光の速さ…とよくいわれるが、途中で何度も中継が入る。

中継点ではコンピューターが処理していて、処理速度は光の速度よりずっと遅い。


距離に応じて中継点も増えるので、遠くへの通信は遅くなるのだ。



CDN は、こうした状況を改善する手段だ。


遠くへ通信するから遅いのだ。

ならば、世界中にサーバーを用意し、キャッシュ(データのコピー)を置いておけばよい。


アフリカのサイトを見ようと思った時に、実際にアフリカに接続するのではなく、日本国内から同じデータを取り寄せられる。

つまり、データが世界中にあらかじめ届けられているわけだ。これが CDN 。


…と、akamai や CDN で検索すると、ここまでの話を書いてあるだけのページが非常に多い。


ただ、そのアイディアが簡単に実現できるほど世の中は甘くない。

キャッシュを行おうとすれば、世界中にそのためのサーバが必要だ。誰がそのサーバの設置・維持料金を払うんだ?


すぐにページが取得できる、というのは、ネット利用者にとってはありがたいけど、それだけでは足りないのだ。




ここで、コンテンツ提供側の立場で考えてみよう。


コンテンツ提供者は、サーバを世界に向けて公開する。

公開する意図があってそうしているのだから、できるだけ多くの人に見てもらいたい。


しかし、ここにいくつかの問題がある。


まず、本当に世界中の人からアクセスが来ると、サーバの処理能力が問題となるのだ。

サーバを、強力な処理能力を持つものに交換しなくてはならない。

実際にはそんなに強力なサーバはないので、「負荷分散」という技術を使って、複数台のサーバで処理することになる。


通信速度の問題も付きまとう。

先にアフリカと通信する例を挙げたが、世界中に配信したとしても、遠くから見てもらうのは遅いのだ。


多くの人に見てもらいたいが、大抵の人はページを開いて、3秒待っても表示されなければ見るのを諦めてしまう。

サーバの処理能力をいくら上げたとしても、距離の問題はいかんともしがたい。


もう一つ、通信料金の問題がある。

個人でネットプロバイダと契約していると、定額制ということが多いのだが、インターネットというのは通信の量によってコストが決まるのだ。(従量制)


つまり、コンテンツ提供側には以下の問題がある


・サーバ増強コストの問題

・「距離」による通信速度の問題

・通信量に応じたコストの問題


このうち、特に距離の問題なんて解決するのが難しくて、世界中にホストを設置しなくてはならない。

これは同時に回線契約の数も増やさないといけないわけで、かかるコストは簡単には見通せない。青天井と言ってよいだろう。


CDN はこれを解決できる。

先に書いたが、世界の各所にキャッシュサーバを置いて、誰かがデータを必要とした際に、近いところからデータを得ようというものだからだ。

自分で設置しようと思えばコストは青天井でも、誰かの設置したものを借りるのであれば、現実的な金額に収まる。


つまり、少なくともコンテンツ提供側は、 akamai と契約してお金を払うだけの価値があるのだ。




ネットには、コンテンツ提供者がいて、それを見たい閲覧者がいる。

しかし、akamai を理解するには、もう一人の登場人物が必要だ。一番重要な役割を担っている。


それが、接続事業者、ネットプロバイダだ。

我々は、ネットに接続するときにネットプロバイダのサービスを使う。


勘違いされやすいのだけど、「回線業者」とは違う。回線業者は NTT など物理的な回線を提供する会社だ。

ネットプロバイダは、この回線を利用して、インターネットに接続するサービスを提供する。


ケーブルテレビのインターネットサービスなど、回線とプロバイダ事業を一体化して提供している場合もある。

携帯電話なども、docomo は回線業者であり、ネットプロバイダでもある。

でも、docomo 回線を借りてネットプロバイダ事業を行う、MVNO 業者のようなところもある。


ともかく、ネットプロバイダはインターネットへの接続サービスを行うのだが、ここで「ネットプロバイダ内」にもネットワークがある。

同じネットプロバイダを利用する顧客は、まずネットプロバイダの小さなネットワークに入り、そこからインターネットに接続しているのだ。


こうした、小さなネットワークが相互接続したもの、というのが「インターネット」のそもそもの語源だ。


さて、ネットプロバイダは通常月額料金を徴収して顧客にネット接続を提供している。

しかし、プロバイダのネットワークの外側にある「インターネット」への接続は、月額固定などではない。

データ通信量に応じて決まる、従量制だ。


つまり、ネットプロバイダにとっては、「社内の」ネットワークへのアクセスで完結してくれればありがたい。

インターネットへの接続コストが減るからだ。

でも、顧客はインターネットに接続したいからこそ、ネットプロバイダと契約している。


ここで akamai の登場だ。


akamai は、ネットプロバイダの「社内ネットワークに」キャッシュサーバを設置する。

すると、世界のどこかにあるはずのコンテンツが、社内にあることになるのだ。

外部へのアクセスが生じないので、ネットプロバイダのコストは減る。


これには副次的な効果もある。

ネットワークは、通信するデータ量が増えれば、より「太い」線が必要になる。

そして、太い線は月額の「基本料」が高い。先ほど従量課金と書いたが、基本料はそれとは別に必ず発生するものだ。


顧客が増え、通信量が増えれば、より太い線が必要になる。

しかし、キャッシュサーバの設置で外部への通信が行われないなら、太い線の契約をしないでも済む。



最初に、akamai のサーバの設置・維持費用は誰が出すのか? と問いかけた。


この答えがここにある。

ネットプロバイダは、社内にサーバを設置することに意味があるので、設置場所を提供し、お金を払ってでも設置を依頼する。


先に書いたように、お金はコンテンツ提供側からももらっているので、設置費用は「設置しない場合の回線利用コスト」よりも安い程度に設定できる。




利用者、コンテンツ提供者、ネットプロバイダ。

ここで、3者の思惑が一致し、キャッシュサーバーを設置すればだれもが幸せになれる状態が出来上がる。


しかし、まだ問題はあるのだ。これを「どうやって」技術的に実現するのだろう?



いちばん簡単な方法は、「すべての」 URL に対するアクセスを受け取るサーバーを作ることだ。


ネットプロバイダ内部からのアクセスを、すべて一旦キャッシュサーバーが受け取る。

キャッシュがあればそれを返し、なければ実際のコンテンツを取りに行く。取得した内容はキャッシュする。


じつは、これは「キャッシュプロクシ」と呼ばれる手法で、akamai 以前から実際に存在した。

そして、特定の目的では非常に有用だったが、一般的に使うには問題の多い方法でもあった。


まず、「プロクシ」について説明しよう。

キャッシュプロクシは、プロクシにキャッシュの機能を後付けしたものだからだ。


そもそもは proxy とは「代理人」の意味だ。


会社など、セキュリティを守る目的で外部のネットワークに直接接続したくない場合に、基本的には全員インターネットへのアクセスを禁止する。

そのうえで、「特定のサーバ」にだけアクセス可能な権限を与え、外部にアクセスしたい場合はそのサーバを経由するようにする。

つまり、外部へのアクセスは、すべて「代理人」に依頼するわけだ。


この特定サーバの事を、「プロクシサーバ」と呼ぶ。


これはもともとアクセスを制限するためのものだ。

全ての通信はプロクシを経由する。だから、ここにキャッシュを入れたり、様々な便利機能を入れることもできる。


その反面、プロクシを使用するといろいろと制限がある。

たとえば、動画を見ることはできないかもしれない。ネットゲームは遊べないかもしれない。


というより、もともとプロクシは前提として「ネット利用禁止」の時に使うのだ。それでも使いたい機能だけを提供する。

会社ならそうした制限はむしろ有用かもしれないが、ネットアクセスを提供することが仕事の「ネットプロバイダ」としては、この手段を使うわけには行かない。


ところで、ネットではプロクシの事を「串」という隠語で呼ぶことがある。

隠語を使う、というのは、悪いことに使う人も多いためだ。


プロクシは「代理人」なので、相手に自分の正体を明かさないでアクセスすることができる…場合がある。プロクシの設定にもよるけど。

何かの理由があって、存在を隠したい人にはとても良い仕組みだ。だから隠語になってしまうのだが。


そういう、何らかの事情がある人には、あえて制限は受け入れたうえで、メリットを得る必要があるのだ。


つまりはメリットとデメリットを秤にかけて、利用者が使うかどうかを選ばないといけない。

決して「自動で使われる」ものであってはならない。


一応、Windows の Chrome や Edge 等でもプロクシの利用は可能だ。

でも、いったいどれだけの人が設定方法を知っているだろう? 普通は使わないで良いものなのだ。


キャッシュサーバーを使うと便利だ、という環境を作りだせたとして、じゃぁ利用するのにはプロクシの設定をお願いね、というのではダメなのだ。

そんな状況では誰も利用しない。


そこで、akamai は巧妙な方法を編み出した。DNS を利用するのだ。




インターネット上のサーバには、IP アドレスが割り振られている。インターネット上の住所、と言われることが多い。

通信を行うときは、「必ず」相手の IP アドレスが必要となる。


でも、URL には IP アドレスは含まれていない。

どうなっているのかというと、「ドメイン名」を元に IP アドレスを調べる方法があるのだ。

その仕組みが DNS だ。


たとえば当ページは www.wizforest.com というドメイン名を使用している。

今ここをアクセスしている人は、DNS を使用してこのドメイン名を IP アドレスに変換し、アクセスしているのだ。


ところで、この DNS というデータベースが、データの登録方法に面白いやりかたを取っている。

話をするうえで必要なので、長くなるが説明しよう。


データベースというのは、普通はデータを1カ所に集約したものだ。

このページの例でいえば、www.wizforest.com 、というドメインに対しての IP アドレスを、どこかに登録しておけばよい。

そうすれば、すぐにドメインから IP アドレスを知ることができる。


実際、ドメインから IP アドレスへの変換は、初期のころは1つのデータベースで行われていたのだ。

たった1つのファイルにすべてのデータを入れ、ネットワークに接続するコンピューターは、そのファイルを取得して使用していた。


(この頃の話は過去に書いている


しかし、ネット上のホストが増えるに従い、この方法は破綻した。

ホストが増えたり減ったりするたびにデータを変更しなくてはならないし、何よりも「世界中の」コンピューターに、最新情報を即座に届けないといけない。

それはもう無理だった。その状況を打開するために考えられたのが、DNS という「分散データベース」だ。


まず、データベースは組織ごとに準備する。

このページでいえば wizforest.com が「組織」であり、そこに www というコンピューターが公開されている、という形式になる。

他にも、メールサーバとか、DNS サーバとか、いろいろなコンピューターが組織内にある。


今、組織内のコンピューターとして「DNS サーバ」と書いた。

僕は自分の DNS サーバに、これら「組織内のサーバ」のデータを記入する。


そして、さらに上の組織… .com の DNS サーバに対して、wizfores.com の DNS サーバアドレスを通達しておく。


これで準備は完了。


誰かが www.wizforest.com にアクセスしたいと思ったら、まず、「その人の端末」に登録された DNS サーバに問い合わせを行う。

これは、その端末から一番近くにある DNS サーバのはずだ。


しかし、すぐ近くの DNS サーバが、世界中のコンピューター全てを知っていることなどまずないだろう。


でも、有名な .com の DNS サーバなら知っている。

そこに問い合わせると、www.wizforest.com は知らなくても、wizforest.com の DNS サーバなら知っている、と返答がある。


そして、wizforest.com の DNS サーバに問い合わせると、www.wizforest.com の IP アドレスが得られる。


DNS サーバはこうした分散管理により、非常に巨大なデータベースを作り上げている。



ところで、最初に問い合わせたサーバが「偶然知っている」こともあり得る。


僕のサイトなんかはともかく、google.com とか youtube.com の場合、問い合わせる人が非常に多い。

そうした問い合わせのたびにいちいち上のような長い手順は踏んでいられない。

DNS サーバは、一度問い合わせた内容はしばらく覚えておいて、次の問い合わせにはすぐ答えられる、という機能も持っている。




ところで、分散管理している、ということは、全体の整合性は誰も管理していない、ということでもある。

これは DNS の重大なセキュリティ―ホールだ。


上に、www.wizforest.com を問い合わせる際の、問い合わせのリレーを書いた。

最終的には、wizforest.com まで問い合わせが来て、正しい IP アドレスを得られる。


じゃぁ、最初に尋ねるネットプロバイダ内の DNS サーバが、聞かれたとたんに嘘の IP アドレスを教えたらどうなるだろう?


「問い合わせた内容は覚えておく」という機能があるので、すぐに IP アドレスを教えてもらえることはある。

だから、それが嘘かどうかなんて気にもせず、本当のアドレスだと信じてしまう。


これは「DNS ポイズニング」と呼ばれる、 DNS の仕組み自体が持つセキュリティホールだ。

(プログラムのバグなどによるセキュリティホールではなく、基本的な仕様自体に欠陥がある)


DNS サーバは「多数のサーバに問い合わせて」IP アドレスを調べるので、その経路のどこか1カ所でもハックされ、嘘を教えるようになっていたら、その問い合わせに関連したすべてのサーバは嘘を信じてしまうのだ。


誰かがどこかの DNS サーバをハッキングして、偽サイトにユーザーを誘導してクレジットカード番号を盗む…なんて犯罪が実際にある。


でも、この仕組みを使って、本物のサイトではなく「キャッシュサーバー」にアクセスさせてしまえば?


ここで、DNS ポイズニングのターゲットは、ネットプロバイダの利用者限定だ。

利用者が外部のサイトを見ようとしたときに、DNS がネットプロバイダ内に設置されたキャッシュサーバの IP アドレスを教える。

「偽のサイト」を教えているのだから DNS ポイズニングなのだが、そのサイトはキャッシュされたもので、寸分たがわず元のサイトと同じだ。


何の被害もないし、むしろメリットだらけなのだ。

セキュリティホールを使うのは褒められたことではないのだが、これは「良い使い方」だ。




akamai のシステム概要としては、以上のようなものだ。


まとめると、キャッシュにより、


・利用者は通信速度が上がる

・コンテンツ提供者は、サーバの負荷が下がる

・ネットプロバイダは回線利用料が下がる


特に、ネットプロバイダが回線利用料を下げるためには「自社にキャッシュサーバを置く」必要があるので、設置場所を提供してくれる。


また、この仕組みを維持するために、DNS という既存の仕組みを巧妙に利用している。

新しい技術ではないので、すぐに使い始めることができる。


誰もが得をする技術で、そのために誰もが喜んでお金を払う。

技術的にも経済的にもよくできている。


こんなシステムを設計したことが、すごいと思う。



おまけ


いい加減話が長いので終わりたいのだが、途中で DNS ポイズニングの話を書いたので、おまけ。

不安にさせたままじゃ申し訳ないからね。


フィッシング詐欺に注意、という呼びかけを見たことはあるだろうか?

メールなどのリンクで偽サイトに誘導されるので、そういうリンクを使わないことが対策とされる。

必要であれば、自分でサイトの URL をブックマークして置いたり、検索したりして入れば大丈夫、と…


でも、DNS ポイズニングは「正しい URL に対して」偽の IP アドレスを教える手法なので、上に書いた方法では対策できない。


DNS ポイズニングの対策はちゃんと用意されていて、誰でも簡単に利用できる。


DNS は普通自動設定されるが、手動で 8.8.8.8 と 8.8.4.4 という二つのアドレスを設定すると良い。

これは google が行っているサービスで、ややこしいので技術説明はしないが、DNS ポイズニングを防いでくれる。


google DNS が公開されて初期のころは、DNS ポイズニングを防いでしまうため、akamai の CDN が使えなくなる、という問題があった。

しかし、現在は akamai と google で協力しており、google DNS でも問題なく CDN が使用できるようになっている。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

Programming Tips

uniqlo のシャツ【日記 25/06/29】

別年同日の日記

03年 なかなか忙しくて

09年 夏風邪

14年 ダグラス・エンゲルバートの命日(2013)

17年 バーベキュー


申し訳ありませんが、現在意見投稿をできない状態にしています

uniqlo のシャツ  2025-06-29 19:36:21  コンピュータ 歯車

▲目次へ ⇒この記事のURL

uniqlo のシャツ

家族の買い物に付き合って Uniqlo に行ったら、イカレたデザインのシャツを売っていたので買ってきた。


Peace for All というキャンペーンで、このテーマでいろいろな人・企業にデザインしてもらったシャツを売っているようだ。


僕が買ってきたのは、Akamai という会社のコラボシャツ。店内ポスターではあいうえお順にデザインが並んでいたので、「アカマイ」は先頭だった。こんなイカレたデザインが先頭に描かれているとは。


Uniqlo も良く Akamai にコラボ依頼したな…と思ったら、後で調べたところこれは第2弾だそうだ。

しかし、第1弾は自分としては惹かれるデザインではなかったようなので、こちらでよい。




さて、この Akamai という会社、多くの人は知らないだろう。

そして、僕のようにネット関連の技術者であれば、知らなくてはならない会社だ。


Akamai は、ネットを裏で支える技術企業だ。

消費者にネット接続を提供するプロバイダも、コンテンツを提供する企業側も、そしてコンテンツを閲覧する利用者側も、全員が儲かって幸せになる仕組みを作り上げている。そしてもちろん、そのシステムを提供する Akamai も大儲けしている大企業だ。

これを、25年前の時点で、誰もがすぐに利用できる既存の仕組みの巧妙な組み合わせで作り上げた、ということが素晴らしい。


この仕組みが非常に面白いのだが…巧妙なので、説明すると非常に長くなる。一度書いてみたのだが、話の腰が折れすぎるので、今回は割愛することにした。

(いい説明があればリンクを…と思ったが、これまた技術的で巧妙なので、ちゃんと説明しているページを見つけられなかった。この話、面白いから機会があれば説明したい。)


後日追記

書きました。

akamai の CDN




さて、そんな技術会社の作ったシャツは、技術オタクが泣いて喜ぶようなデザインになっている。


写真を拡大すればわかるが、暗号のような訳の分からない文字列だ。

すでに解読した blog 等もたくさんあるが、暗号部分の解読どまりで、全体の構造を解説しているページは見つけられなかった。

ちょっと解説しておこう。


書かれている内容は以下のようになる。

(改行位置などは T シャツデザインと違うが「正しい」位置にいれてある。そのため、このままコピペすれば実行可能ファイルになる)


#!/bin/bash

eval "$(base64 -d <<< 'IyEvYmluL2Jhc2gKCiMgQ29uZ3JhdHVsYXRpb25zISBZb3UgZm91bmQgdGhlIGVhc3RlciBlZ2chIOKdpO+4jwojIOOBiuOCgeOBp+OBqOOBhuOBlOOBluOBhOOBvuOBme+8gemaoOOBleOCjOOBn+OCteODl+ODqeOCpOOCuuOCkuimi+OBpOOBkeOBvuOBl+OBn++8geKdpO+4jwoKIyBEZWZpbmUgdGhlIHRleHQgdG8gYW5pbWF0ZQp0ZXh0PSLimaVQRUFDReKZpUZPUuKZpUFMTOKZpVBFQUNF4pmlRk9S4pmlQUxM4pmlUEVBQ0XimaVGT1LimaVBTEzimaVQRUFDReKZpUZPUuKZpUFMTOKZpVBFQUNF4pmlRk9S4pmlQUxM4pmlIgoKIyBHZXQgdGVybWluYWwgZGltZW5zaW9ucwpjb2xzPSQodHB1dCBjb2xzKQpsaW5lcz0kKHRwdXQgbGluZXMpCgojIENhbGN1bGF0ZSB0aGUgbGVuZ3RoIG9mIHRoZSB0ZXh0CnRleHRfbGVuZ3RoPSR7I3RleHR9CgojIEhpZGUgdGhlIGN1cnNvcgp0cHV0IGNpdmlzCgojIFRyYXAgQ1RSTCtDIHRvIHNob3cgdGhlIGN1cnNvciBiZWZvcmUgZXhpdGluZwp0cmFwICJ0cHV0IGNub3JtOyBleGl0IiBTSUdJTlQKCiMgU2V0IGZyZXF1ZW5jeSBzY2FsaW5nIGZhY3RvcgpmcmVxPTAuMgoKIyBJbmZpbml0ZSBsb29wIGZvciBjb250aW51b3VzIGFuaW1hdGlvbgpmb3IgKCggdD0wOyA7IHQrPTEgKSk7IGRvCiAgICAjIEV4dHJhY3Qgb25lIGNoYXJhY3RlciBhdCBhIHRpbWUKICAgIGNoYXI9IiR7dGV4dDp0ICUgdGV4dF9sZW5ndGg6MX0iCiAgICAKICAgICMgQ2FsY3VsYXRlIHRoZSBhbmdsZSBpbiByYWRpYW5zCiAgICBhbmdsZT0kKGVjaG8gIigkdCkgKiAkZnJlcSIgfCBiYyAtbCkKCiAgICAjIENhbGN1bGF0ZSB0aGUgc2luZSBvZiB0aGUgYW5nbGUKICAgIHNpbmVfdmFsdWU9JChlY2hvICJzKCRhbmdsZSkiIHwgYmMgLWwpCgogICAgIyBDYWxjdWxhdGUgeCBwb3NpdGlvbiB1c2luZyB0aGUgc2luZSB2YWx1ZQogICAgeD0kKGVjaG8gIigkY29scyAvIDIpICsgKCRjb2xzIC8gNCkgKiAkc2luZV92YWx1ZSIgfCBiYyAtbCkKICAgIHg9JChwcmludGYgIiUuMGYiICIkeCIpCgogICAgIyBFbnN1cmUgeCBpcyB3aXRoaW4gdGVybWluYWwgYm91bmRzCiAgICBpZiAoKCB4IDwgMCApKTsgdGhlbiB4PTA7IGZpCiAgICBpZiAoKCB4ID49IGNvbHMgKSk7IHRoZW4geD0kKChjb2xzIC0gMSkpOyBmaQoKICAgICMgQ2FsY3VsYXRlIGNvbG9yIGdyYWRpZW50IGJldHdlZW4gMTIgKGN5YW4pIGFuZCAyMDggKG9yYW5nZSkKICAgIGNvbG9yX3N0YXJ0PTEyCiAgICBjb2xvcl9lbmQ9MjA4CiAgICBjb2xvcl9yYW5nZT0kKChjb2xvcl9lbmQgLSBjb2xvcl9zdGFydCkpCiAgICBjb2xvcj0kKChjb2xvcl9zdGFydCArIChjb2xvcl9yYW5nZSAqIHQgLyBsaW5lcykgJSBjb2xvcl9yYW5nZSkpCgogICAgIyBQcmludCB0aGUgY2hhcmFjdGVyIHdpdGggMjU2LWNvbG9yIHN1cHBvcnQKICAgIGVjaG8gLW5lICJcMDMzWzM4OzU7JHtjb2xvcn1tIiQodHB1dCBjdXAgJHQgJHgpIiRjaGFyXDAzM1swbSIKCiAgICAjIExpbmUgZmVlZCB0byBtb3ZlIGRvd253YXJkCiAgICBlY2hvICIiCgpkb25lCgo= ')"

PEACE FOR ALL


これは UNIX のシェルスクリプトだ。

ファイルに chmod +x で実行属性を与えれば実行できる。


先頭行は、bash を使用して実行できる、という、OS に対する指示だ。

2行目が長いのだが、eval している。これは、bash でその次の文字列を評価せよ、という命令だ。

eval の対象となる部分は、 " " で括っている。


さて、「その次」だが、謎の文字列に見える。でも、評価するのはこの文字列ではない。


$( で始まっているが、これは「外部コマンドを実行して、その結果を返せ」という指示だ。

(2行目の最後付近に、対応する閉じ括弧がある)


評価対象は、この外部コマンドが返した結果である。


そして、外部コマンドが base64 -d だ。これは、base64 形式でエンコードされた文字列を、デコードせよ、という指示。

謎の文字列は、base64 エンコードされたもので、後で詳細を書く。


3行目の PEACE FOR ALL は、命令ではない。キャンペーンに合わせて書かれているメッセージ。

しかし、ここに命令ではないものが入っていても大丈夫なようになっている。こちらも詳細は後で。




さて、base64 部分をデコードしたもの。


#!/bin/bash


# Congratulations! You found the easter egg! ❤️

# おめでとうございます!隠されたサプライズを見つけました!❤️


# Define the text to animate

text="♥PEACE♥FOR♥ALL♥PEACE♥FOR♥ALL♥PEACE♥FOR♥ALL♥PEACE♥FOR♥ALL♥PEACE♥FOR♥ALL♥"


# Get terminal dimensions

cols=$(tput cols)

lines=$(tput lines)


# Calculate the length of the text

text_length=${#text}


# Hide the cursor

tput civis


# Trap CTRL+C to show the cursor before exiting

trap "tput cnorm; exit" SIGINT


# Set frequency scaling factor

freq=0.2


# Infinite loop for continuous animation

for (( t=0; ; t+=1 )); do

# Extract one character at a time

char="${text:t % text_length:1}"

# Calculate the angle in radians

angle=$(echo "($t) * $freq" | bc -l)


# Calculate the sine of the angle

sine_value=$(echo "s($angle)" | bc -l)


# Calculate x position using the sine value

x=$(echo "($cols / 2) + ($cols / 4) * $sine_value" | bc -l)

x=$(printf "%.0f" "$x")


# Ensure x is within terminal bounds

if (( x < 0 )); then x=0; fi

if (( x >= cols )); then x=$((cols - 1)); fi


# Calculate color gradient between 12 (cyan) and 208 (orange)

color_start=12

color_end=208

color_range=$((color_end - color_start))

color=$((color_start + (color_range * t / lines) % color_range))


# Print the character with 256-color support

echo -ne "\033[38;5;${color}m"$(tput cup $t $x)"$char\033[0m"


# Line feed to move downward

echo ""


done


また bash のシェルスクリプトだ。


つまりは、シェルスクリプトを、そうと判らなように巧妙に base64 で隠しているだけで、シャツに書かれた元のシェルスクリプトは、上記のスクリプトを動かすためのランチャーに過ぎない。


で、ここまで解読できてしまえば…あとは実行して、としか言いようがない。

このプログラム自体は、それほど面白い動作をするわけではなく、ただカラフルで面白おかしい形に PEACE FOR ALL の文字を書き続けるだけだ。


2行目で起動する上のプログラムは、for 文で「終了条件のない」ループを行っている。

終了条件がないので、終わることはない。CTRL + C で停止するまで止まらない。

そして、CTRL + C した時には、元の(base64 が書かれた)プログラムも停止してしまう。


つまり、元のプログラムの最後の行(3行目)は絶対に実行されない。


元プログラムの3行目には PEACE FOR ALL と書いてあり、これは命令ではないと先に書いた。

しかし、この仕組みにより、命令でないものが書かれていても、特にエラーにはならない。


▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

コンピュータ

歯車

関連ページ

akamai の CDN【日記 25/07/02】

別年同日の日記

06年 訃報

12年 続々々おたふく

13年 髪ゴム

14年 DAISY DAISY

18年 関東梅雨明け


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

97000

-- follow --




- Reverse Link -