2023/11/24 08:58:00

Bluesky

Bluesky Advent Calendar 2023にエントリーした

Bluesky Advent Calendar 2023に流れ上エントリーしてしまった。

となると記事をあげるならここに書くことになるはず。

1回しか記事書いて公開していないので公開方法忘れてる感じがするので、お試しの記事を書いて手順を思い出す事にする。

まずはDirectusに入稿するところから。

2023/12/16 00:00:00

Bluesky

Blueskyで作ったおもちゃとその裏の仕組のお話

この記事は Bluesky Advent Calendar 2023 の 16日目 の記事です。Bluesky で私が作ったおもちゃとその裏の仕組みのお話をしたいと思います。

背景

私は @shigepon.net というアカウントで Bluesky5/10 より参加しています。 元々私はエンジニアですので Bluesky に来ても何か作れないかなと思っていたのですが、とりあえず私の自宅の炊飯器でご飯が炊けたら「ご飯が炊けたよ!」ってポストするだけの ボット だけ作って普通に SNS として利用していました。 ところが、カスタムフィードっちゅうもんが案外簡単に作れそうだっていうことを気付かせてもらったので、これはいっちょ作ったろか、っていうことでカスタムフィード職人の道を志す事になりました。

作ったおもちゃ

過去に作ったカスタムフィードはこんなのがあります。

  • サイコロ 1,2,3,4,5,6 という 6 つのポストの中からランダムに 1 つだけを選択して表示するだけのフィード
  • 奈良 奈良の地名、駅名、特産品、観光地をキーワードに含んでそうなポストを Bluesky の初期の頃まで遡ってできるだけ表示しようと頑張るフィード。表示対象になるフィードは私がサーバをたててから langs に ja を入れて発言した方のポストのみですので、ja が入ってない方や最近発言されてない方は対象外です。また、奈良の地名と同名、あるいは、一部に含むようなキーワードを含んでいてもそのポストもフィードに含めてしまいますが、これは仕様です。奈良県っぽく見えるポストは全部可能性として表示して、見る人に奈良かどうかを判断してもらう想定で作っています。そういう仕様にしたのは、厳密に奈良か否かをポストの内容だけで判断するのが難しかったのと、おもしろかったからです。
  • ランダム 奈良同様に langs に ja を入れて発言された方を対象に、自身の過去のポストの中からランダムに 10 コ選択して表示するフィードです。自分のポストしか対象にならないので、他の人にはその内容が見えませんし、見る度に表示されるポストが変わるので、刹那的に楽しむものになっています。
  • ゲームブック ゲームブックのシナリオを作成するとそのゲームブックを遊ぶためのカスタムフィードを公開できるようにするための仕組です。私が用意するのはその仕組だけでカスタムフィードはシナリオを作成された方のアカウントで公開されるようになっています。これまでに作成されたゲームブックは以下になっています。
    • gamebooktest001 @so-asano.com さんの作品。いわゆるゲームブックっぽいテイストの短編シナリオ。
    • pool of bluesky @ubanis.com さんの作品。やってみればわかると思います。
    • ジオマンシー占い @msonrm.bsky.social さんの作品。ジオマンシーという占いをカスタムフィード上で再現した作品。画像添付も利用しもらって占いの世界を表現されています。
    • blue_love @so-asano.com さんの作品。「ギャルゲー第 1 弾です!」とのことです。選択肢も複数ありランダムも利用されて狙ったエンディングまですすめるにはそこそこ歯応えがあります。
    • Bluesky ちゃん と謎解き空中散歩 @kawaiirailroads.millie-may.net さんの作品。無料で公開して良いのか?と思うくらいに綿密に作り込まれた謎解きゲーム。ゲームブックの可能性を最大限に活用した力作です。

とまぁこんな感じです。

動かしているサーバ

動かしているサーバがどうなってるのかと言うと、カスタムフィードを提供するフィードジェネレータを自宅サーバ上で動作させています。なのでカスタムフィードに何を出すのかというアルゴリズムを自分で書いたプログラム次第で好き勝手表示させている(SkyFeed のような決められた仕組の中ではなく AtProto の限界まで自由にできる)のです。

また、奈良とかランダムについてはElasticsearchを動かしてそこにインデックスを作成しています。ここに入れるポストを格納する方法が以下の基準になっています。

  1. Firehoseに流れてきたポストのうち langs に ja が含まれるもの
  2. 1.の条件に合致したポストのうち過去1日間以内に発言したアカウントの全ポストの取り込みを行っていない場合に全ポストの取り込み

なのでlangsにjaを入れて発言した人のポストからその人の最初のポストまでがElasticsearchに入って、ランダムや奈良で参照される事になります。langsにjaを入れているけれども日本語ではないポストも中には存在しますが数が少ないので放置しています。

最近起こった変化

最近、Blueskyのサーバの挙動が変わったようで、以前はカスタムフィードにアクセスがある度にその回数だけフィードジェネレータにアクセスがあったんですけど、最近はカスタムフィードを表示しようとしても勝手にサーバでキャッシュした内容を返却するようになっていて、ちょっとやそっとどうやったところで以前のようなテンポの良いカスタムフィードの挙動にならないのです。まぁ正式サービスじゃないので仕方のない事とはいえ、しょんぼりしているのは事実です。とりあえず、過去に選択したのと同じ分岐をたどると、以前に分岐した時に表示したタイムラインを表示する挙動になってしまったので、カスタムフィードを使ったゲームブックを遊ぶ際には、遊ぶ側である程度慮った操作をする必要が出てきます。ごめんなさい。私が悪いんじゃないって言いたいですけど。

  1. とりあえずフィードを表示して目的とする分岐リンクを踏んでみる
  2. 1.でうまくその先のストーリーが表示されたら大丈夫、また今表示されたポストを見て1.にトライする
  3. 1.でうまくその先のストーリーが表示されずに巻き戻った場合は、今表示されている選択肢は見なかったことにして黙ってリロード(ブラウザのリロードボタン、アプリなら下スワイプ)すると、1.で選択した時に本来表示されるべきポストが見えるはずなので、1.にまた戻ってその先のストーリーを楽しむ

この時、3.の症状になった時に1回しかリロードしないようにしないと、連続して同じ選択肢を何度も選択したことになってしまい、ストーリーが知らないところでずんずんすすんでしまうので、ていねいに操作しないといけないのです。まぁ仕様変更かかるだろうと思いながら公開したので仕方ないですが、このシステムの上でシナリオ作成をしていただいた方には申し訳ないと思っています。

書いているプログラム

さて、さらに仕組の奥の方の話にすすめていきます。技術的な色合いが濃くなっていくのですが、エンジニア枠なので技術の話にも触れていきます。

これらのプログラムは実は Rust で書かれています。Rust 上で AtProto を扱うライブラリは既に他の方が用意されているものもあったのですが、Firehose を使ったライブラリがその時点ではなさそうだった(調査不足の可能性あり)のと、AtProto をたたくことそのものはそんなに難しくなさそうなのと、Lexicon からコードを起こすソフトウェアを書いてみたかったのとで、結局自前で用意してしまいました。この自前で用意したライブラリは、@kojira.io さんに唆されてうっかり crates.io で公開してしまいました。aerostream という形で公開していますし、ソースコードも GitHubshigepon7/aerostream として公開しています。まぁロクにテストコードも書いていないので、自分でツール作りながらへこへこデバッグしているような状況ですので、もし不具合見つけたら GitHub に Issue あげてもらえるとうれしいです。いちおうこのライブラリにはコマンドラインプログラムとしてもビルドできるようになっていって、ログインせずにただ条件に合致したポストをだらだら眺めるだけのアプリとして利用する事もできるようになっています。こういうような道具立てで、Rust のプログラムをコンテナイメージにビルドしています。もっぱらコンテナのベースは ArchLinux を使っています。Rust も最新のライブラリ追いかけないとけっこう動作環境シビアで、ArchLinux のような最新を追いかけるようなディストリビューションを使っておかないとついていけないので。

カスタムフィードを実際に作成する方法

いちおう簡単にですが aerostream を使ってカスタムフィードを自作する方法を説明しておきます。

https://github.com/shigepon7/aerostream/blob/main/examples/feed_generator.rs

ここに過去に作成した「美味」のカスタムフィードのソースコードがあるのでこれを見ながら簡単に解説します。基本的にやることは以下の流れになります。

  1. Algorithm traitを実装する
  2. FeedGenerator のインスタンスを作成する
  3. FeedGenerator の Record を作成する
  4. FeedGenerator のインスタンスに 1. で作成した Algorithm のインスタンスを add_algorithm する
  5. FeedGenerator のインスタンスを start する

美味フィードの場合はこれに加えて Firehose でポストの情報を検索できるようにするために Subscription trait の実装 も行っています。Subscription も Algorithm 同様に FeedGenerator に対して set_subscription することで、Firehose からのイベントを受けられるようになります。

実際の挙動としては、カスタムフィードにアクセスがあれば、Algorithm の handler() が呼ばれ、既に蓄積されているカスタムフィードとして表示すべきポストの AtUri の一覧を返します。cursor や limit の処理は FeedPosts にポストの内容を登録しておくことで自動で処理してくれるようになっています。「美味」カスタムフィードの場合は、このポストの一覧は Subscription で受け取ったポストの一覧から必要なものを餞別して FeedPosts に格納するようになっています。一方、カスタムフィードへのアクセスとは別に、 Firehose からは常時イベントが流れ続けていて、こちらは Subscription の handler() でそれを読み出すことができます。一度に送られてきたイベントの中から Post の create と delete だけを選別して、text に「美味」を含むポストの create であれば FeedPosts に追加、delete であれば FeedPosts より削除するという形でカスタムフィードとして表示すべき情報を蓄積していきます。この2つの動作の組み合わせでカスタムフィードを実現しています。FeedGenerator は http を直接ハンドリングでき、FeedGenerator の start() を実行すると 8000番のポートを listen しますので、インターネットからの http アクセスをこのポートに接続すれば、実際にカスタムフィードとして機能するようになります。

これらのプログラムを動作させる物理サーバの構成

ちょっと話を切り換えて自宅サーバの話をするのですが、PC を 7 台ほど組み合わせて Kubernetes のクラスタを組んでいます。これを Cloudflare をリバースプロキシにして公開しています。自宅は固定 IP ではなく普通のフレッツの契約ですので、Cloudflare を DDNS 代わりに利用させてもらっています。WAN 側の IP を調べて Cloudflare に登録している IP から変わっていたら Cloudflare をたたいて DNS のエントリを変えてもらうようにしています。ただ、うちの家は外からの入口のルータに NVR510 を使っていて、ここに 小型 ONU を直接挿す形にしているので、ひかり電話の SIP サーバも NVR510 が担当している形になっています。世の中に SIP サーバ公開すると、アホみたいに攻撃パケットとんできていて、どうも 1 日に 1 回くらい再起動かけてあげないと電話の着信もできなくなってたようなので(詳しい原因の調査までは面倒でやってない)、毎日 AM3 時になると NVR510 を再起動かけるようにしています。ルータ再起動かけると WAN 側 IP が変わるので AM3 時前後はもしかするとカスタムフィードが見えないかもしれません。このへんは自宅サーバの方が楽しいから、という理由でクラウドを使わない私の個人的な嗜好の問題ですので、動いてなかったらごめんなさい。クラウド借りる方が電気代より安いんじゃないかとか思ったりする時もありますが気付かなかったことにします。自宅はエネファームと太陽光発電とどっちもついてる上に蓄電池までついているので停電には強いと信じています。これらのエネルギー機器もほぼ趣味で自宅に導入しちゃいました。

話を脱線させてスマートホームシステムの話

ついでに言うと、ご飯が炊けたよボットは、元々自宅のスマートホームシステム(これも Rust で書いてあって、自分で EchonetLite をしゃべって家電の状況を知ったり制御したり、ネットの情報をスクレイピングで収集して自宅に雨降ってるのか教えてくれたり、JR が遅れてるのか教えてくれたり、川が増水してないか教えてくれたり、監視カメラで動体検出すると教えてくれたりするもの)を動かしていたところに、Bluesky に投げても良さそうな、ご飯が炊けた、という情報だけポストさせるようにしたものになります。スマートホームシステムの本体は UI には Slack を利用していて、家庭内で発生したあらゆるイベントが監視カメラ画像をアニメ GIF にしたものも含めて時系列に並ぶアプリになっています。家の鍵を持たずに出かけた子供が家の鍵を開けて欲しい時には「監視カメラの前で踊れ」という指示を出しているので、時々うちの子供は監視カメラの前で踊ります。そうすると Slack に電子錠の解錠コマンドを遠隔で入力して鍵を開ける仕組みになっています。踊り認証システムです。でも最近、子供も学習したので踊らずに LINE で「鍵開けて」って送ってくるようになりました。その方が確実ですしね。

まとめ

話が脱線しましたので、このへんでそろそろ〆めにかかろうかと思います。こういう家に帰っても技術どっぷり浸かってるような変人が運営するカスタムフィードですので、ちゃんと動いてなくてもブチ切れたりせずに、生暖かい目で見守ってやってください。もし良ければ、動いてないよって優しい口調で教えていただけると泣いて喜ぶと思います。これからもお付き合いよろしくお願いします。

2024/04/24 21:00:00

Bluesky

Bluesky meetup in Osaka Vol.2 のたこ焼き裏話

開催までの道程

Bluesky meetup in Osaka Vol.2 が 2024/4/14(日) に知る人ぞ知る形で開催されました。Bluesky チームの Why さんが来日するが、東京だけじゃなく大阪までも来てくれるというので、これは歓迎せねば!というのが事の発端なのです。

場所は うかわ さんが親切にも提供してくれる事が早々に決まりました。イベントで出るゴミもビルの回収にのせて良いことになりました。もう本当にこれには感謝しかないです。NTT データさんめっちゃ良い会社ですよ。

イベントとしては Why さんに質問して、ケータリング頼んで飲食するというスタイルは早々に決まっていたのですが、発起人の こじら さんから無邪気な発言が。

2024/03/13 22:00 たこ焼き焼いたりできないかなあ。流石に無理か

これに対してうかわさんも

2024/03/13 22:05 たこ焼きは OK ですが現状復帰できる範囲でw

と回答すると、さらに クコ さんがそれにかぶせる形で

2024/03/13 22:11 BRUNO ならうちありますよー

と、とんとん拍子でたこ焼き焼く流れに。

もつられて、

2024/03/13 22:13 bruno うちにもあるぞ

ということでたこ焼き器 2 台体制でのタコパ開催の流れに。

事前にテレカンで役割分担等決めたのですが、私、特段、お手伝いできる点がなさそうだったんで、たこ焼き準備の主担当を担うことにしました。

事前の準備

GIGAZINE さんは関西だし声かけようということで、こちらはクコさんが突撃してくれることになり、きっちり参加してくれることになりました。当日も何かあったらまた気軽に呼んでねって言うてくれはったので、気軽に声かけて良さそうです。

ステッカー等のグッズについても開発チームに Koji さん(えるたん さんに Bluesky のアカウント教えてもらいました!ありがとうございます!) がチームメンバーにかけあってくれて、こっちで作っても良いし、チームの方で用意しているものも送ってもらえる事になりました。ステッカーのデザイン (connpass の告知画像等もですけど) は みりめい さんがお忙しい中、さくさく作ってはりました。この方、本当に仕事が早くて尊敬しかないです。

あと、今回は実現しなかったのですが、「月化粧」に好きな図案をプリントできるっていうサービスがあって、こういうのをおみやげに持って帰ってもらうのも良さそうだとう話はあったんですが、手配するふんぎりがつかずに流れていきました。おもしろそうなので個人的に何か使ってみたい気はします。

あと、ビンゴ大会と開催するのであれば必要かも?と思って実は BINGO っていうカスタムフィードも用意していました。このカスタムフィードは、閲覧する人ごとに 1 ~ 75 までのランダムな数字の系列を、Reload する度に 1 つずつ生成するフィードになっています。それだけではなくて @bot.shigepon.net に対して view <handle or did> というメンションを送ると、その対象のユーザーが生成した数字の系列を閲覧することができる仕組になっていて、ビンゴ大会に参加している人たちが「数字なに?」っていちいち聞き返さなくてもスムーズにビンゴ大会が進行できる仕組も実は仕掛けられていました。これ別に普段から公開しているので使いたい人いたら勝手に使ってください。view モードを解除する場合には、同様に @bot.shigepon.net に対してメンションする形で reset とポストすれば、自分で数字の系列を生成するモードに戻ります。

たこ焼きの準備

準備としてはたこ焼きの準備に集中する事になりそうだったので、まずはたこ焼きのレシピを発掘するところから。粉はたこ焼き粉を買ってくる想定だったので、粉の販売元のレシピを参考にするのが良かろうということで これ を参考にしました。実際には粉の袋に書いているレシピよりも卵の分量が少なかったので、当日にうかわさんに卵を 6 コ追加で買ってもらいました。これも申し訳なかったです。

買い出しは前日に行くことにしましたが、急に言うて急に買えないものもあるだろうということでそれだけ Amazon で購入しました。それは「」です。どうせみんな写真とるだろうからビジュアル的に、ザ ★ たこ焼きにしたくて舟買いました。ただこれ、実は器の厚さ的に熱を通しやすいので、焼きたてのたこ焼きを入れたら熱くて持てなかったので、本当に見た目だけのものでした。机の上に置いて食べるスタイルなら良いと思いますが、ソースをダバダバにかけると継ぎ目のところからソースが漏れるので、そのあたりも含めて楽しむべきものと割り切って利用するのが良さそうです。ダバダバにかけるのがいかんのです。

あと、事前に準備するものについてはスプレッドシートでちまちまと書きためていたのですが、こんなのあったら良いよ、こういうのは必須だよ的にいろいろ yukotan さんに教えてもらいました。ありがとうございます。実は、会場にはパントリーというか、水道とシンクもあったので、洗い物ができてしまうという素敵な会場だったのですが、粉を下水道に流したりするとそれはそれで配管詰まりを発生させるリスクもあったので、掃除関係のグッズの手配のアドバイスが非常に参考になりました。もしステッカー必要なら LINE の匿名配送で送りますのでまた連絡ください。あと、全く関係なく にゃりん は単純にステッカーくれって言うただけなのですが、にゃりんにもステッカー送ろうかなとは思います。

で、残りのものはうかわさんと二人で私の車でロピアと併設のダイソーまで買い出しに行きました。Bluesky meetup in Tokyo の裏ですがタコを買いおきするわけにもいかないので、クルマで買い出しまわりながら東京の様子をスマホで確認して買い物してました。荷物が多くなると当日持って行くのだけで大変だったので、そのままクルマで乗りつけて、事前に切らないといけないタコ以外は全部会場に事前に搬入しました。会場にはなんと冷蔵庫もあるので、ネギとか冷蔵すべき品物もちゃんと前日搬入で冷蔵保管できたのです。ほんまに NTT データさん良い会社です。

前日搬入して、調理スペースの場所、ケータリングの配置場所を決定し、100 均で購入したブルーシートをセッティングしておきました。ゴミを気軽に捨てて良いという選択肢がとれたのでブルーシートも使用後はそのまま廃棄させてもらいました。ただビジュアル的にはブルーシートは若干物々しさが滲み出たのでそこはマイナスだったかもしれません。とはいえ、原状復帰するにあたっては非常に役にたったのでこれはこれで良しということにします。

前日に発覚した重大事項

で、実はここで非常に重大な事実が発覚します。それは

日曜は集中管理の空調が停止する、運転させるには 4 ~ 5 万円費用が発生する

ということでした。さすがにその空調費用を負担できるスポンサーもないので「窓を開放してしのぐ」という作戦を取らざるをえませんでした。これは参加者の方には大変申し訳なかったなと思いますが、当日そこまで大問題にはならなかったのはまだ時期的にそこまで暑い時期ではなかった事に救われたのだと思います。

前日の搬入も終了し、帰り際に 551 の蓬莱買って帰るということで、わざわざ天王寺まで寄り道して 551 を買って帰り、にゃりんにもらったうなぎコーラと一緒に食べました。うなぎコーラは疲労した体には最初はおいしいと思えたのですが、2 口目以降は漢方薬の味がしました。まぁタコパの前日の滋養強壮になったと信じます。

当日、開始まで

そして当日。前日タコ切るのは疲れて無理だったので、当日の朝にさばきましたが、こりゃタコ多かったなっていうくらいタコまみれだったので、包丁の峰の部分に人差し指があたってマメができてつぶれてしまいました。なかなか強敵でした。

で、当日。事前にスタッフだけが集合。ケータリングだのドリンクだのの配達を受け取ったり。Why さんが「ファミキチ食いたい」って言うので昼食に一部メンバーで Why さんとファミキチ買いに行ってましたが、全員で行くわけにいかないので留守番してたら空腹のままタコパに突入する羽目に。これはたこ焼きを焼く覚悟をしていた自分としては選択ミスだったなと思います。まぁでも事前に Why さんとしゃべって名刺ももらえたし、スタッフとしての役得もあったんでそれはそれで良かったかなと。ないへぶ さんのリアル名刺もゲットしたし。

ということで、ぼちぼち会場に参加者が到着し始めたものの…入口が日曜なので表ではなく裏の保安の横から入る事になったりとか、最寄り駅の本町が非常に巨大な駅だとかで参加者も会場になかなかたどりつけない羽目に。セキュリティドアもあるので、建物の入口と、会場の入口のセキュリティドアの前に人を配置して会場に誘導。なんやかんやあったものの各自会場にはどうにか入れた模様。

会場に入っても席に座らずにおられた ねふ さんがおられたので声をかけたら、一六タルトをわざわざ持ってきていただいたということで、ケータリングの横に配置して早いもの勝ちでご賞味いただくことにしました。私も一切れいただきました。遠くから参加していただいて、手土産まで持ってきていただいて、本当に感謝です。広島に住んでた時は四国もよく出かけたのでタルトも食べる機会多かったのですが、関西に移ってきてからは機会も減ってしまってなつかしく味わいました。

meetup 本番

なんやかんやばたばたしたものの、meetup が開始されました。私はたこ焼き器の近く、会場の後方に座席を確保していました。ただ空調がなく窓を開放していたために、窓の外からの自動車のロードノイズや緊急車両のサイレン音が非常にけたたましくて、実はほぼ音声が聞こえず、会場にいながら YouTube 配信の字幕見てました…。土曜なら空調使えるらしいので、日曜は絶対に回避すべし。

しのさん が移動中に作成した前日の東京開催のまとめとか、この人、鉄人か?と思うようなタフっぷりで、たんたんとイベントは進行。Why さんへの質問もゆるゆる進行しながら徐々にタコパタイムが近づく。もうそろそろ質問タイムも終了というタイミングで、おもむろに生地の仕込みのためにパントリーへ。カメラの前を遮ってごめんなさい。生地はダマダマの生地になってしまいました。まぁこのへんは事前の段取りもなかったのでやむなし。焼いたらわからん、ということでそのまま勢いで焼いてしまうことにしました。

で、タコパ開始になりましたが、なぜかめっちゃめちゃたこ焼きを焼くところを注目される羽目に。あれ?焼いてる人を見る会だったっけ?たこ焼きを賞味する会じゃないのだっけ?焼き方については ちらいむ さんに「一気に反転させると丸くならないので、ちょっとずつ回すのが良い」とアドバイスいただいたので、意識して焼かせてもらうことに。なんでこのタイミングでここまで緊張せんといかんのだろう?主旨違うんじゃない?ってずっと思いながらたこ焼きを焼いていました。初回のたこ焼きが一式焼きあがると注目も減ったので作業に集中できましたが、これいつまでたっても何も食えねぇパターンだなと思ってたら、ないへぶさん、tama ちゃん、あかい さんが焼くのを変わってくれました。おかげさまで、食事もできましたし、ちょっと参加者とも交流できました。これまた感謝です。ケータリングはあかいさんがサンドイッチを取り置きしてくれていましたし、たこ焼きは計算上 300 コ焼ける形にしていたので十分に数があったから私の分も残っていました。あと、あかいさんの着てたシャツはほぼ 1 年前の Bluesky meetup in Osaka Vol.1 と同じでした。

タコパはクコさん側のたこ焼き器の方は昨年の Bluesky meetup in Osaka Vol.1 という名の BBQ でも肉焼きで大変お世話になった Hidari さんが、去年に引き続きクコさんとの絶妙なコンビプレーでたこ焼きも焼いておられました。Hidari さんは写真撮影もしていただいて非常に感謝です。Hidari さんの写真って非常にやさしい感じの写真で、被写体がみんなやわらかい感じになるんで大好きです。

若干、一部界隈で噂になっていた「あのたこ焼きソースは関西人が選択したベストオブたこ焼きソースに違いない」(超意訳)というたこ焼きソースですが、全くそんなことはありません。ロピアに買いに行った時に「これくらい入ってるボトルだと足りなくなることなさそうだよね」って言って適当に買いました。なので、決してこだわりのソースではありません。まぁでもたこ焼きソースって言われるとこんな感じの味だよねっていう味ではあったので、そんなに奇を衒ったものでもなく、比較的オーソドックスなソースだったと思います。

で、会場は 18 時に完全撤収の予定だったのに、たこ焼きがなかなか焼き終わらなかったので、焼き終わりを待たずに洗い物を開始。ボールを水洗いできるのは本当にありがたかったです。あと、できるだけ汚れが残らないようにキッチンペーパーで粉をふきとったりしましたが、紅しょうがの汁の臭いだけは取れませんでした。まぁやむなし。

とかなんとかしてると、なぜか最後にしのさんに前に呼ばれて何かしゃべれと。いや、なにそのむちゃぶり。たこ焼き番長とか言うけど、ちゃいます。私はただこのイベントが成功するようにと願ってご奉仕させていただいているものです。特に何もネタ用意してなかったので「帰るまでが遠足です」しか言えなかった。もうちょっとアドリブきくように精進しないといけないなと思いました。

会を終わって

本番も終わりばたばたと後始末。ドリンクの残りを、司会を務めてくれた ばいそに さんが一気飲みしたり、ゴミをまとめて搬出したりテーブルの上をウェットティッシュで拭いてまわったり。床に多少の食べカスも落ちたりしていましたが、これまた会場据付の掃除機で吸ったりして香ばしい香り以外は元の状態にきれいに戻すことができました。このあたりの手際も非常に良かったと思います。

その後、Why さん、その友人の kumavis さん、一般参加者なのに急遽通訳してくれた チャド さん (ばいそにさんと yukotan さんにアカウント教えてもらったのでフォローしました) と、スタッフとで慰労会を開催しました。スポンサーしてくださった全力機械さんの代表取締役のやましんさんに直接慰労会の会場まで探してもらって、スポンサーとしても慰労会の突撃隊長としてもどちらも感謝です。慰労会では横に座って酒談義してました。やましんさん、いつでもうち遊びに来てください。慰労会では、kumavis さん、めちゃめちゃおもしろかったです。鰹の酒盗にものすごくはまってしまって、Why さんと一緒にもりもり食べてましたし、日本酒もかなり好きなようで辛口が良いと言いながら、東洋美人を何度もオーダーしてました。へぎそばもおいしかったし、普通に宴会してました。そのあと持ってきたホットプレートやボウルやその他を大量に抱えて電車に乗って帰宅。大和路線に乗るやいなや爆睡した私を最寄り駅で起こしてくれたうかわさんには感謝しかないです。ありがとうも言わずにダッシュで駅で降りたのですが、その時の頭の中には「迎えにきてくれてる奥さんがいるのに電車ちゃんと降りられなかったら申し訳ない」しかなかったです。お酒の飲み過ぎには注意しましょう。

振り返っての感想なんですが、惜しむらくは、誰も「マサラのこ」を持ってこなかったことです。 ミツジ さんにも事前にネタふりされていたのに、準備に終われてそこまで心の余裕がなく気付いた時には後の祭りでした。今度(あるのか?)あれば必ずや、例の SNS でやりとりされる体内摂取目的の粉を準備せねばならない、と心に強く誓うのでした。

あと、ほぼ働き詰めだったんで写真はほとんど撮影できてないです。この文章も文字ばっかりやけど堪忍な。

ⓒ2023-2024 しげぽん(@shigepon7)