Entries from 2024-01-01 to 1 year

Advent of Code 2024 を完走した

毎年12月に開催されている Advent of Code に、2019年から参加している。 過去記事: Advent of Code 2019 に挑戦している - すぎゃーんメモ Advent of Code 2020 完答した - すぎゃーんメモ Advent of Code 2022 を完走した - すぎゃーんメモ Advent of Code…

ブラウザで動く3D螺旋葉序シミュレータ

先日、Eテレ「ミミクリーズ」で、「あのもよう」という回が放送されていたのを子と一緒に観た。 www.nhk.jp その中で、自然界に出現する不思議な模様として黄金比・黄金角によって作られる模様を紹介していた。 実際に木に模した棒に等間隔で等角度ずつずら…

「だんご屋のひまつぶし」完全解析

「だんご屋のひまつぶし」とは 最長手順の問題は…? 組み合わせ、グラフ問題 プログラムで解く 状態の列挙 グラフの構築 最短経路問題を解く WASM化して、ブラウザ上で解く もしもすべて異なる団子だったら さらに一般化していくと 到達可能性 頂点数 本数を…

BlueskyのTUI Client Appを作り始めてしまった

memo.sugyan.com の続き…? I've published `tuisky`, a TUI Client for Bluesky, as v0.0.1. (It's still a work in progress.) Were there already other clients available for use in the terminal? #atdev #bluesky-client #tui crates.io/crates/tuisk…

Expressに22個以上の要素の配列クエリを渡すときは気をつける

自作ライブラリを使ったBlueskyクライアントを実装していて遭遇したバグ。 ATriumからのfeed.getPostsでurisが21個までなら大丈夫だが22個以上だとエラーになることが発覚した。問題切り分け中… ここまで自作クライアント実装してようやく気付く問題があるん…

BlueskyのDesktop Client Appを作り始めている

ATProtocolのRustライブラリを作っている 活動の続きとして、ライブラリの動作確認も兼ねてDesktop Applicationを作ってみることにした。 Tauri RustでDesktop Application作成、といえば今もっとも普及しているのがTauriだろう。 tauri.app ステータスとし…

Rustのserdeで、データフォーマットによって異なる型にserialize/deserializeする

背景 CidLink serde_json, serde_ipld_dagcbor 問題点: データフォーマットによって対象の型が異なる 最初の解決策: is_human_readable() による分岐 うまくいかないケース 解決策(?): Ipld を経由しデータの構造によって分岐する 汎用的? な解決策: Untag…

Cloudflare Workersで、自分のはてブをBlueskyに流す

bsky.app そういえば、古き良き時代は自分のブックマークは自動でTwitterに投稿されていたのだった。 今はBlueskyがメインになっているので、同じ仕組みが欲しい、と思った。ので、作った。 github.com 要件 先行事例 Rust版 WASM対応 Cloudflare Workersで…

Rustで将棋の局面画像生成、そしてCDN Edgeで動的生成

背景 先行・類似事例 自作のメリット Rustで局面画像生成 盤・駒画像の素材 画像処理 入出力 Generatorと下準備 Publish Web Appで使う CDN Edgeで動かす wasm-packでWebAssembly作成 Deno Deploy Vercel Edge Functions Cloudflare Workers Fastly Compute@…

Advent of Code 2023 を完走した

毎年12月に開催されている Advent of Code に、2019年から参加している。 過去記事: Advent of Code 2019 に挑戦している - すぎゃーんメモ Advent of Code 2020 完答した - すぎゃーんメモ Advent of Code 2022 を完走した - すぎゃーんメモ 2023年のAdvent…