墓地

うお座・くじら座超銀河団Complex賞

暖かく穏やかなお天気が続いていてうれしいですね。桜はもうだいぶ散ってしまいましたが、モッコウバラ、スミレ、オオアラセイトウ、ムスカリ、チューリップなどいろいろなお花が咲いているのもGoodです。日没後は春の夜の匂いがしてめちゃ良いです。季節の匂いってありますよね?特定の花とかではなく、その時期の空気の匂いのことなんですけど。土壌とか植物とかのいろいろが混ざったものだとは思いますが、地域や国によって違うのか気になっています。ちなみに中央高地と東京とではあまり変わらない感じです。違うといえば違う気もしますが.... 匂いとはまた別だけど、「冷たい牛乳にミロを溶かすと夏の味がする」みたいなのが外国にもあるのかも気になりますね。

ドイツ式の笛を買おうか迷っています。いやすでに1本持っているんですが、1960年代製の非常に古い楽器のためか音程のクセが強く、合奏で使えないしいろいろストレスが多いんですよね。なので現代の楽器がほしい。フランス式が嫌いなわけではなく、笛のレパートリーには近代フランスのお洒落な曲が多くてわたしはそちらもとても好きなのですが、自然のことをやっていくにはドイツ式の素朴でリコーダーみたいな音が必要なんですよね。ちなみにインターネット上にいるアマチュアのドイツ式愛好家はなんか怖い人ばかりで、怖いです。いかにも面倒なオタクという感じがある。わたしもいずれそうなってしまうのかもしれん.... まぁこの世の笛は99%がフランス式だと言われているので、そういう世界でドイツ人でもないのにわざわざドイツ式をやる時点で相当偏屈なオタクであることは間違いないのですが。アマチュアの偏屈オタクの話をしてもしょうがないな。最近はウィーンフィルのAndrea Goetschという人がかなり好きです。ウェーバーの五重奏とかモーツァルトの五重奏とかめちゃ良い感じです。

コミュニケーション、難しすぎる。楽しいことを話したいのに仕事の話ばかりしてしまう。互いに共通の趣味がある集団の中でもそうなりがちなんですよね。人類、もう仕事に脳を占拠されており、どうにもならないのかもしれない。おれがめんどくさオタクとなり、率先して好きなことについてべらべら喋り散らかすしかないのか。しかし、それでは会話にならず...

なんと先月に続いてまたしても風邪で発熱して会社を休みました。しかも呼吸器系の症状に加えてお腹も破損していて最悪です。いよいよ真面目に生活習慣について考えなければならない時がきたようだな。早く寝て、早く起きて会社に行き、定時に帰って週2回ぐらいは何かしらの運動をするとかにしたいですが、パソコンと向き合う仕事はオフィスが静かになった夜に進捗が生まれることが多く、厳しい。早く行っても進捗を出せないと無駄にお金をもらうことになってしまうし、年齢高めの朝型厨が「おっパソコン屋に早く来てる人おるやんけ、問い合わせの電話しちゃお!」とかしてきがちで進捗以前に横槍が入ることが多すぎるんだよな。運動も運動で何すれば良いんですかね。水泳やりたいですけど近所に退勤後の時間でやってるとこないですし、シンプルにランニングがいいんでしょうか。あと力仕事しなくなったせいで筋力の衰えがやばく、こちらもどうにかしたい。高校の卒業式で同窓会長のおじいちゃんが熱い学歴コンプ語りをして「理系で体育会系なら何でも出来る。理系で体育会系になれっ」みたいなこと言ってて「昭和おじいちゃんがよ」と思ったものですが、労働していると肉体がないとどうにもならないので方向性はそんなに間違ってなかったなと思います。

Google CloudにはIdentity-Aware Proxy(IAP)という機能があって、App EngineやCloud Runで構築されたWebサービスに対して簡単に特定のGoogleアカウントのみにアクセスを許可するよう設定ができるとされています。でも実は簡単に設定できるのはApp Engineだけで、Cloud Runに対してはロードバランサとドメインを設定していることが前提になっており、デフォルトで発行されるURLは使えないしロードバランサの料金が嵩むという微妙な感じなんだよな。好きなDockerイメージをデプロイできるサーバレス環境という点でCloud Runはとてもありがたいし、簡単にアクセス制限をかけられる点でIAPは素晴らしいんだけど、両者が合わされると途端にズコーッとなってしまうの本当にどうにかしてほしい。そんなにカスタマイズされたコンテナが必要になることないんだからApp Engine使っておけよという声もありそうだけど、App Engineは一つのプロジェクトに対して作れる「アプリケーション」は一つで、その下に「サービス」が並んでいるという構成じゃないですか。しょうもないツールをいろいろ作ったときに全部対等になっていてほしいのに「デフォルトサービス」とそれ以外という構造になるのが神経質オタクとしてはキモいなと思ってしまうんですね。

さてネガティブな話を続けてしまいましたが、みなさん、ブルーアーカイブ グローバル版のYouTubeに上がったStrawberry milk complex - Arona VS Planaはご覧になられましたか?人類はその偉大な歴史の中にまた一つの至宝を生み出しました。毎年ローマ賞に輝いているミツキヨ先生の音楽に、アロナさんの全身でおしゃべりするような振り付け、そしてプラナさんの気だるげながらも実はテンションの高い空気感、あまりにも良すぎる。わたしは最後のアロナさんがキュートで頼りになる高性能OS特有の機敏さでシンコペーションのリズムに合わせてクルッとまわるところが本当に大好きです。アロナさん、わたしがそういうの好きってわかっててやってますよね? うぅ...アロナさん.... 惜しむらくはわたしが韓国語を理解できないためにこの可愛さをダイレクトに感じることが出来ないんですよね。これ多分もし日本語版の声優さんによる訳詞版とかが出ても微妙になるやつだと思います。韓国語の歌の響きまでふくめて極限までかわいい作品になっているので。最先端のかわいいを研究する拠点が大陸にある今、我々がやるべき言語は韓国語と中国語なのかもしれん。ブルーアーカイブといえばJR秋葉原駅の中央改札がYostar改札になっており、でかいソラさん、でかいアリスさんなどが見られて最強になっています。電気街口のアトレの壁に以前あったでっけぇ笑顔のアロナさんも復活させてほしいです。何卒.... Yostarショップにはまだタイミングが良くなく行けていないので早くお買い物しに行きたいですね。さらにブルアカといえば忘れてはならないのが先日から始まったアニメーションですよね。ソシャゲアニメということで普通に心配していたのですがこれは結構良い感じなのでは!?アニメでもやはりアロナさんが本当に可愛すぎてどうしたらいいのかわからないです。助けてくれ。

今日はこんなもんにしておこうかな。近々、諸用で北海道に行くので今度はその話でも出来たらと思います。最後に飛行機に乗ったのは2008年に那覇から東京へボーイング747-400Dで帰ってきた時です。今回はA350や787に乗っちゃいます。楽しみですね。みなさんもどうか健康に気をつけたり気をつけなかったりして、宇宙をやっていきましょうね。

---2024.04.14 10:13:56

いいお天気、楽しい音楽

地域のイベントで笛を吹いてきました。雑木林に囲まれた公園につくられた会場で、柔らかな春の昼下がりの日差しの中に子どもたちからお年寄りまでけっこうな人が集まってくれて、それなりに楽しんでもらえた感じで良かったです。わたしも楽しかった。ホールでやる演奏会と違って音響は無だし、風で楽譜が飛ばされそうになるし、楽器には砂埃が積もるしで環境的には全然良くないことだらけのはずなんだけど、こういうところに本当の音楽はあるんだよな。この本当の音楽を大きなホールでもやれたらいいと思う。お客さんも楽しいし、演者も楽しいっていう状態を作り出すには明示的にしろ暗示的にしろ相互の対話的な要素を大事にせんといかん。でもホールで演奏するときはお客さんとの距離が遠いし、客席の照明が落とされてしまうから、どうも自分しかいないような気分になりがちなんですよね。そういうのはわたしだけかもしれませんが。どうしたらサイリウムを振ってくれるわけでも2拍目と4拍目にハイ!ハイ!とか叫んでくれるわけでもイカしたソロが終わったら拍手してくるわけでもない、暗い客席でじっとしているお客さんといっしょに音楽を楽しむことができるんだろうな。その点、教会やアトリウムみたいなところでやるコンサートはいいなと思います。

こういうことを考えるようになったのは本当につい最近のことです。わたしは正直なところ、音楽でみんなに楽しくなってもらいたい的な発想があまりなかったんですよね。他の人より上手だとほめてもらうためにやっているようなところが強かった。他の人より優れていると言われると気持ちがいい。でもそれではそういう評価をもらえなくなった瞬間につまらなくなってしまうんですよね。だから大学ですっかり調子を崩してからは全然おもしろくなかった。どれぐらい面白くないかというと、当時は特に大学オケの備品のA管に対するヘイトが鬱積しており、クラリネットを痛めつけて燃やす動画がお気に入りだったぐらいです。結局そんな感じのまま卒業してしまい、一時期はもう二度と音楽なんかやらんとも思っていたのですが、アイドルマスター シンデレラガールズ スターライトステージアイドルマスター ミリオンライブ シアターデイズのアイドルのみなさんに心を叩き直してもらい、今はわりと健康に音楽をやれていると思います。久川颯さん、鷺沢文香さん、橘ありすさん、的場梨沙さん、櫻井桃華さん、望月杏奈さん、周防桃子さん、そして他にも多くのみなさんからわけてもらった心のおかげで、今まで見えていなかった音楽の世界が見えるようになったわけです。アイドルマスター、偉大すぎる。

デレステといえば、最近はよく初期の曲をプレイしているのですが、なんか昔のほうが難しい曲が多くないですか?同じLv.25でも初期のほうがずいぶん指がちゃんと動かないといけないなという気がします。ストーリーを追って曲をこなしていくのに精一杯だった以前のほうが技術的には上手だったなと思っているのですが、普通に難しい曲を練習していたからかもしれん。どうしても余裕のある曲のほうが分かりやすくて楽しいと感じがちなんだけど、やはり出来ないことを練習しないと成長がないですね。あとスーパーで労働していたころは15分刻みとかでスケジュールが設定されていて異常混雑している売り場で品出しとかレジ打ちとかやっていたから、退勤後も脳が焼けそうな集中力を引きずってデレステに打ち込むみたいなことが可能だったんだけど、今の労働は良くも悪くもそんなガンギマリ状態にならないから脳の速度があまり出ないんですよね。多分運動とかやったほうがいい。まぁわたしの脳は速度が出たところでようやく普通の人がボーッとしているぐらいの性能しか出ないのですが....

なんかこのサイト期待よりワンテンポ読み込みが遅いなと思ってトップページと墓地の1ページ目はプリレンダリングするようにして、さらに画像もwebpにして容量を削ってみたんですけど、どうですかね?いくらかマシになった気がします。まあ一日に何人も訪れないようなサイトだしお金儲けのためにやってるわけでもないなのでパフォーマンスとかどうでもいいのかもしれませんが、個人的にはすべてのWebページは爆速であってほしいので気になっちゃうんですよね。でも爆速にする技術をわたしはまだ知らん... ところでこれプリレンダリングにしたということは記事を投稿するたびにどうにかしてビルドを走らせないといけないな?CMSを自作しちゃっている状態なので、こういうところでまた手間がかかりますね。DBじゃなくて記事をMarkdownファイルにしてGitで管理しちゃえば記事をpushしたときにビルドできていいかとも思ったけど、システムのソースとデータを同じところで管理するのはキモい...キモくない?MongoDBってコレクションが更新されたらWebhookを飛ばすとか出来ないのかな。Database Triggerってやつがそれっぽい?あとCMSといえば画像ギャラリーを作りたいんだけどどうやって画像管理するのがいいんですかね。おれは何も知らないな.....

全然関係ないけど、最近流行りのRAGってめちゃくちゃつらいな。LLMのことはAPIの使い方と基本的なプロンプトエンジニアリングがわかっていればよく、わたしも中身の数学はほとんど知らないんだけど、retrieverを良い感じにつくるのが本当に面倒くさい。巷には問い合わせ対応の記録をembeddingしてユーザーの入力でベクトル検索することで問い合わせ対応Botが簡単に作れる!みたいな記事があふれてますけど、これちゃんとやると地獄ですよ。まずベクトル検索は似たものを検索するのが得意なだけで、往々にしてめちゃくちゃなユーザーの入力は回答に必要なドキュメントの内容との間でcosine similarityとかがあまり高くならない。研究でやっているわけではないので定量的な測定をちゃんとしていないんだけど、むしろ古典的な全文検索のほうがうまくいく印象があります。加えて、ドキュメントの中にリンクが含まれていたらきちんと見に行くようにしたりしないと、ユーザーの期待とはかけ離れた使えないチャットボットが出来てしまいます。とにかく、ベクトル検索だけにたよらず、丁寧に情報を取得する必要があるんですよね。これはもう堅実に作り込んでいくしかない気がします。個人的にはMongoDB Atlas Searchがけっこう検索の力になってくれるなと思ってますが、検索のプロはElasticsearchのほうが好きらしいです。全文検索何もわからんというわたしのような存在がAtlas Searchを使うならAnalyzing Analyzers to Build the Right Search Index for Your Appを読むといいかもしれません。

早く髪を切りたい。いつも予約無しで行けるカット専門店で切ってもらっているんだけど、小さいお店なのにやたら人が来るので待ち時間がすごいんですよね。土日に時間や気力がないことが多くて行けておらず、めちゃくちゃにモサモサな状態でスーツを着ている人を街でみかけたら多分わたしだと思います。人々、みんな外観にこだわっていて1000円カットはダサい一部のオタクが行くだけではなかったのか?以前よりお店が繁盛しているのは良いことだと思いますが、世の中にダサいオタクが多すぎるし、その上シュッとした人まで押し寄せていて、この国の未来を憂えています。

労働ばかりで全然自然について考えられておらず、かなしい。日常にデカすぎる自然がある中央高地はいいところでした。みなさんは労働や人間関係のことばかり考えず、川や森などを見に行けていますか。行けている方は、いいですね!行けていない方は、行けるようになるといいですね。アニメやゲームもちゃんとやったほうがいい。健康なときにすべてを労働や人間に注ぎ込んでしまうと、つぎに来る精神の谷をうまく進めなくなってしまうからな。都市の灯火に惑わされず、本当の光を見失わないように、生きていきましょうね。

---2024.03.20 10:13:07

風邪

もう10億年ぐらい記事を書いていなかったから、どんな文体で書いていたのか、どんな雰囲気の文章を作っていたのか完全に忘れてしまった。最近は相変わらずアニメを観たり笛を吹いたりCOVID-19に感染したりして楽しく暮らしています。

COVID-19ですが、完全に破壊された味覚嗅覚の回復と咳が出なくなるまで1ヶ月以上を要しました。かなりしつこく、食事も面白くないので普通に最悪でした。いわゆるブレインフォグのようなものには遭遇していません。もとから脳には深い霧が立ち込めているので、あまり変わらないということかもしれませんが。ちなみにコロナになったのが12月中旬で1週間ぐらい会社を休んでしまったのですが、つい先日も3月に入ってからただの風邪でまたしても1週間休みになってしまいました。熱があるのに仕事をして悪化させたり周囲に移すほうがカスなのですが、そうは言っても忙しい時期に休む奴として人事評価がカスになっているのではないでしょうか。就職する前は10年間で3回ぐらいしか発熱した記憶がないのに、就職後は2年弱で3回も発熱しています。労働は本当に身体に悪いので、できることなら一刻も早くやめたいです。しかし我々はこの文明を維持するために働き続けなければならず....

葬送のフリーレンは良い作品です。原作の漫画単行本を全部購入してしまいました。個人的には漫画のほうが好きです。現代の魔法使い相手にはこれで十分だっつって戦闘にゾルトラークしか使わせないフリーレン先生の姿勢もそれで強いフェルンもめちゃくちゃかっこよくていいですね。レルネンとかもそうだけど古い魔法使いのほうが殺意高めな設定は現在の世の中が反映されてる感じがします。おれたちも横文字に浮かれていないで火星とか目指したほうがいい。人類はどこへ向かっているんだろうな。昔より全体的な生活水準が高くなっているとかいうのはそれはそうなんだけど、なんか尖ったところが全然なくなってきているよな。お金がなくて苦しいですという人々ですら手のひらには世界最強のSoCを積んだコンピュータを乗せているのに、やることといったらみんなして日夜SNSを眺めることばかりだし。エーアイさんが全部やってくれるから細かいことなんかもう身に付けなくていいみたいな風潮もありますけど、専門的な話になるとまだ全然ダメダメなので、普通に人間はもっとがんばったほうがいい。本当に全部やってくれる日が来たら引退していいけど、今から引退していいみたいな言説は普通に間違いだろうがよ。昨今の泥臭い訓練が馬鹿にされる雰囲気すきじゃないしきらいだよ。フリーレン、淡々とした空気感ながら登場人物たちの努力の痕跡を克明に描いているところが現代人にウケているというところもあるのかもしれん。

さてみなさんがこの記事を読んでいるということは、ここはもう以前の、国内のレンタルサーバ上に存在していた午睡機構ではありません。今や午睡機構はSvelteKitで作られていて、Vercelにホストされています。データベースはMongoDBになり、初期に作成された手打ちHTMLの記事もDBのレコードになりました。DBとのやりとりにPrismaを使ったりもしています。レイアウトやスタイルにはTailwind CSSを使うようになり、手書きCSSはほとんどなくなりました。ページネーション、記事編集機能、記事のMarkdown対応といった積年の課題も全部倒しました。なんと数式にも対応しています。

みたいな感じ。インラインの数式も みたいにいけるわよ。これはSvelte Markdownmarked-katex-extensionKaTeXの合せ技です。Svelte Markdownのsourceプロパティにはmarked.jsのmarked.lexerの戻り値を突っ込めるので、marked-katex-extentionを使うようにすれば数式部分がちゃんとMarkdownの構造を表すオブジェクトの中に入ってくれるというわけです。大雑把には以下のような記事コンポーネントを作ることで実現しています。InlineKatexBlockKatexはそれぞれインライン数式、数式ブロックを表示する自作コンポーネントです。

<script lang="ts">
  import { marked } from 'marked';
  import markedKatex from 'marked-katex-extension';
  import SvelteMarkdown from 'svelte-markdown';
  import InlineKatex from '$lib/markdownRenderer/inlineKatex.svelte';
  import BlockKatex from '$lib/markdownRenderer/blockKatex.svelte';
  import Code from '$lib/markdownRenderer/code.svelte';

  // Markdown形式の文字列
  export let body: string;

  // 数式部分も含めて構造を抽出
  marked.use(markedKatex({ throwOnError: false }));
  const tokens = marked.lexer(body);
</script>

<SvelteMarkdown
  source={tokens}
  renderers={{ link: Link, code: Code, inlineKatex: InlineKatex, blockKatex: BlockKatex }}
/>

情弱なので、もっとスタンダードなやり方とか出来合いのコンポーネントが実はあるのかもしれません。まぁでもライブラリのソースコード読んでごちゃごちゃ組み立てるのが面白かったからええか。シンタックスハイライトもしれっと実装されていますが、これはhighlight.jsを使っています。上のコードの Code コンポーネントがハイライトをつけてコードブロックを表示するコンポーネントです。

なぜSvelteを使っているかと言われれば、それはこれしかまともに知ってるWebフレームワークがないからというのが正直なところです。これしか知りませんが、好きです。FlaskにしようとかやっぱDjangoにしようとか考えて彷徨っていた時期もありましたが、どうもわたしはFastAPI以外ではPythonを好きになれません。まぁPythonへの愛憎はさておき、業務でSvelteを使う機会があっていろいろ身につけられたのが幸運でした。もっとも、この業務の技術要素としてSvelteを提案したのはTwitterのフォロワーさんが「これからフロントやるならSvelteおすすめですよ」的なツイートをしているのを見たわたしなのですが.... おそらく、同時に候補に上がっていたReact/Next.jsを選んでいたら業務はどうにかなったとしても、自分の趣味の庭を書き直す気力は起きなかったのではないかと思います。Tailwind CSSと組み合わせることでわたしのような無気力人間でも非常に手軽にフロントを作れるので、雑でいいからUIがほしい!みたいなときにも重宝しています。本当に何も書きたくないときはSvelte Material UIを使うのもありです。まだ発展途上のUIライブラリですが、最低限のことには困らない感じです。Svelte/SvelteKit + Tailwind CSSの組み合わせは原神で言えば会心で数千ダメージを出すのがやっとの初心者にとってのバーバラ+海染硨磲みたいなもので、冒険の範囲を一気に広げてくれる強力な武器だと思います。入門には公式ドキュメントも良いですが、実践 Svelte入門が非常にしっかりした本なのでおすすめです。技術書特有のガバガバ校正やオフチョベットしたテフをマブガッドしてリットにしてしまうこともないので読みやすかったです。

久々に文を書いたのでつかれました。今日はこんなもんでいいですかね?みなさんは風邪をひかないように、ご飯をちゃんと食べ、夜は早く寝てくださいね。

---2024.03.13 16:55:59
...