牛すき鍋御膳を食べた

今宮通を北大路から堀川まで歩いた。行き先は堀川今宮のすき家に行くためだ。 例年この時期のすき家は牛すき鍋御膳を販売してくれる。平たく言えばすき焼き鍋セットである。

このシーンはちょうど2年前の今頃にもあった。あの頃は確か大学入試の願書だったかをギリギリまで書いていて、提出先の大学の配送担当の北郵便局に持って行ったのを覚えている。あの頃から無計画性はあまり変わらないようだ。

提供を待っていると、あのころ歩きながら聴いていた曲が有線から流れてきたのには驚いた。驚いただけで何の関連もない。

beautiful glider

beautiful glider

セットが来た。 自分なりのおすすめの食べ方は、まず伸びる前早々にうどんを小皿へと退避させ、煮切れそうになったらコップの水を入れて冷ます。こうすることで長いこと楽しめる。ああ、卵はふたつ頼んでおくといい。猫舌に鍋は熱すぎるから。

前回ここに来た頃からするといくらか美味しくなった気がする。それは多分体感の問題だ。あの頃は(当時の自分からすると)失意の地底から上がってきてすぐだったから。 次来たときはもっと美味しく感じられるといいなあ。

食後、調子に乗ってSukiシェイクも頼んでしまった。バニラ味。この手のものはバニラ味が一番、牧歌的で美味しい。

今、まだシェイクをすすりながらこれを書いている。

そんな私です。

MacBookを初期化した

今日、手元のMacBookを初期化した。2024年の春から使っていて、ちょうど1年半。 それなりに思い入れや愛着も湧いてきていたが、HomebrewやMacPortsなど、様々なパッケージマネージャーを試したり、種々のドライバ、ソフトウェアをインストールしてきたことで、ジャンクファイルでいっぱいになり挙動も怪しくなったからだ。

ついでにOSも最新のmacOS Tahoeにアップデートしておいた。 この過程で、当然macOSのセットアップを行ったわけだが、ここにこそコンピューターと向き合うことの"楽しさ"があることを思い出した。 コンピューターを手にして、それを自分好みにカスタマイズすること、これからコンピューターを使ってできる無限の可能性が、セットアップという手順に凝縮されている。

これから私は、また (愚かにも) このマシンを使い倒し、様々なソフトウェアをインストールし、環境を肥大化させていくだろう。 しかし、それはそれでよかろう。なぜなら、私はそうやってコンピューターと一体化していくことが好きだからだ。 使えば使うほど、コンピューターは自分の行動に即した提案をしてくれ(時に行動を補完することすらあるが)、今に自分自身の思考に最も近くなる。

先日、情報学を学んではいるが、コンピューターと仲良くなれない、という友人と話す機会があった。 できれば私のように、コンピューターと一体化していく体験をしてほしいと思う。

Git Hooksでmainへのコミットを防止するアレと付き合っていく

Git Hooksでmainへのコミットを防止するアレとの上手い付き合い方を思いしついたのでメモ。

GitHubの無料Organizationだとprivateリポジトリに対してBranch protection rulesが設定できないので、運用でカバーするしかなかった。そこで、GitHooksを使って、コミット前にmainっぽいリポジトリへのコミットを防ぐように設定したけど、リポジトリごとにGitHooksを書いて周るのはやや面倒なので、グローバルにhooksを設定するようにした。

ところが、ブランチを切って作業するほどでもないリポジトリでもコミットが弾かれてやや面倒。そこで、git config --local pre-commit.allow-mainpushがtrueなら確認せずにコミットを通すようにした。これで、「俺がここにmainにpushしても止めてくれるな!!」という場合にも対応できる。

「これでmainにpushしちゃった」事故は根絶できるだろう。

実際のコード↓ github.com

Pythonのbytes型に対するインデックスアクセスはintを返す

M5StackでBLE通信をしようとMicroPythonを書いてたところ気付いたのでメモ。

str型みたいにインデックスアクセスすると、長さ1のbytesが返ってくると思ったらintが返ってきた。

text = "Hello"
data = text.encode()

print(type(text))  # 当然str
print(type(data))  # もちろんbytes

print(type(text[0])) # <class 'str'>
print(type(data[0])) # <class 'int'>

そういえばPython多倍長整数でもint型になるし、整数->int、浮動小数点数->floatという区別しかないので、1バイトがintになってもいいかと思った。 (とはいえ1バイトでも多倍長整数でも同じ型になるのは内部でどう扱ってるんだろう)

【SxPARK】 万博に出展していました

id:taiseiueです。7/19-20に関西万博で開催されていたイベント「デジタル学園祭」に出展していました。

何を出展していたかというと、細々と開発しているプログラミング言語のAliceScriptです。

docs.wsoft.ws

きっかけ

参加のきっかけはこんなツイートでした。

x.com

おっ募集してるじゃん〜とりあえず出すだけ出しとくか〜で応募しました。その後しばらく経って、USJの待ち列の中で審査通過の連絡をいただきました。ありがたい。

そういうわけでAliceScriptを展示しました。

当日まで

大学の先生に展示計画を相談させていただき、ディスプレイやPCなどの展示機材をお借りしていきました。

f:id:taiseiue:20250726220411j:image

重そうですね。

セットアップが素早く終わって我が家の金魚を見せびらかしたり。

x.com

この日はいい感じのマジックアワーと夜景が撮れたので満足していたら、終電を逃してしまってカラオケ泊していました。

f:id:taiseiue:20250726220927j:image
f:id:taiseiue:20250726220949j:image

展示期間

展示期間中は様々な方とお話しさせていただきました。エンジニア職の方、プログラミング言語を過去に自作されていた方、文学や芸術に造詣のある方など様々で、万博だなー(薄)という感じでした。もう少し長く言うと、普段エンジニア志向のイベントなどで会う方とは違った属性の方と沢山話せて楽しかったです。

あとは、小学校低学年くらいの子にカラーコードと16進数を教える活動をしていました。いつか覚えてくれてたらいいな。

展示の様子はこんな感じです。

f:id:taiseiue:20250726222048j:image
f:id:taiseiue:20250726225856j:image

展示で大活躍したミャクミャク

展示で使用したAliceScript WebRunnerは、今もブラウザからお試しいただけます。ぜひどうぞ。

try.alice.wsoft.ws

ソースコードはここにあるのでよかったら見ていってください。(完全VibeCodingなので気をつけて)

github.com

 

また、自分の展示もしながら他の方の展示も見にいっていました。いくつか面白かったものをあげます。

PIXFORGE

p5.jsを使ったデジタルアート作品。ポリゴンで出来た猫がいかにもカッコイイ。マウスや指の動きで画面の中にインタラクションできる部分が、他の動画作品にない要素でした。

www.pixforge.jp

Because of my stuttering

吃音症を体験できるソフトウェアとハードウェアのセット。ボタンを押すと吃音の強さが変えられて、それぞれの場合でディスプレイに映し出された相手のAIと会話できる。会話中の相手の動きが実際の吃音症をもつ方のそれを再現しているなど、細かいこだわりがあってすごかった。あと個人的にタイトルが好きです。

OZLYR

英数字を音階にして再生できるアプリ。MMLと違って、アルファベットと音階の対応を長調短調、ヨナ抜き音階などに変えられる。高校1年生で8万円以上も資金調達してて本当にすごい。

x.com

表彰

翌7/21には、グランフロント大阪でSxPARK内の優秀作品の表彰がありました。残念ながら表彰には及びませんでしたが、表彰のポイントなども聞けて、ブースでの展示態度やコミュニケーションなど、そういう評価軸もあるのかと勉強になりました。

まとめ

自分以外の展示では技術の社会実装のような作品が多かったと思います。私は技術大好きっ子なので、目新しい考えに沢山触れられてよかったです。

万博での展示で、普段話さないような属性の方といろいろな話ができて楽しかったです!貴重な経験になりました!出展の機会をくださったSxPARK事務局の方をはじめとして、WSOFTのブースにお越しいただいたみなさん、ブースにお邪魔して話させていただいたみなさん、本当にありがとうございました!締めに、特に何にも使わなかった記念撮影の画像を載せておきます。次の万博は誰か一緒に出ましょう。

1人で記念撮影に写るtaiseiue



Kyoto.cs#4 を開催しました

id:taiseiueです。7/2(水)の夜にKyoto.cs#4を開催しました。

いつもは土曜日の昼から開催しているのですが、仕事帰りの方に寄って頂こうと今回は平日夜に開催した格好です。

会場はマネーフォワード様の京都開発拠点をお借りして開催できました。感謝です。

団欒の様子

今回の内容は↓こちらからどうぞ!

scrapbox.io

そういえば3月のキックオフから数えて5回記念となります。ここまで5回とも会場提供&アドバイスをくださったid:luccafortさんに大感謝です。

これから

Kyoto.cs#5も8月中の開催をメドに準備中です。ぜひご参加ください!

kyotocs.connpass.com

開催に関する情報などは、@taiseiueのX でも流すのでご確認ください。

これからKyoto.csでやりたいことは、Kyoto.cs 計画 · GitHubに並べています。これからこんなことするんかな〜くらいの気持ちで見てみてください。

Kyoto.csでは、開催場所を提供してくださる方や、運営を手伝っていただける方を募集しています。Xやtaiseiue<at>wsnet.jpにご連絡ください!

 

IORegistryExplorerを眺めてみる

この前教授に、IORegistryExplorerなるツールを教えてもらったのでメモ。

このツールはAdditional tools for Xcodeに含まれているのでこれをインストールする。AppleDevelopperにならないと見れないので気をつけて。(無料で平気)

https://developer.apple.com/download/all/?q=Additional%20tools%20for%20Xcode

色々と面白そうなツールがあったので、ダウンロードしてきたdmgまるごと/Users/Applicationsにコピーした。入れてみるとこんな感じ。

Aditional tools for XcodeをLaunchpadで表示している様子

眺めてみる

IORegistryExplorerを開いてみた様子

眺めても詳しくはなんのこっちゃなのだが、どのデバイスがどのルートで接続されているかがだいたい分かる。

IOService - hpmBusManagerを見ている様子

これを眺めていると、MacBookの2口あるType-Cポートのうち片方だけがPD対応なのか、とか思うけど実際のところどうなんだろう。公式の技術仕様には「2つのThunderbolt / USB 4ポートで以下に対応」とあるが。

support.apple.com