無駄と文化

実用的ブログ

2026-01-01から1年間の記事一覧

PHPカンファレンス香川2025のちょっと嫌だったところ

ふと思い出したので書く。 私はPHPカンファレンス香川2025に参加していない。が、プロポーザルを出して落ちているので無関係でもない。 プロポーザルを出した立場として、ちょっと嫌な気分になって参加予定を取りやめた。 3行まとめ PHPカンファレンス香川20…

生まれた私と死ぬ私は本当に同じ「私」なのか

自意識は、物心ついてから死ぬまで一貫して同じ「私」であり続けるものだろうか。 そう疑問を抱くのは、人間の脳には本来は一貫しない事実にまで無理やり一貫性を見出すような強いバイアスがあるからだ。もし「一貫性を感じる脳を持っているから、自分は一貫…

BigQueryのAPPROX_COUNT_DISTINCTの誤差・コストを実測する

BigQueryのAPPROX_COUNT_DISTINCTの誤差(精度)とコストを、公開データセットで実測して検証。COUNT(DISTINCT)との違いや、ユニーク数(カーディナリティ)による挙動の違い、実務での使いどころを整理します。

BigQueryのCASTとSAFE_CASTは名前が逆じゃないか?

ふたつのキャスト BigQuery には値をキャストする関数として CAST() と SAFE_CAST() の二つがある。 このように動作する。 SELECT CAST('0xDEADBEEF' AS INT64) AS number; /*------------* | number | +------------+ | 3735928559 | *------------*/ SELEC…

サブエージェント と エージェントツール

最近は Google Agent Developer Kit (通称: ADK) でエージェントを自作して遊んでいます。 サブエージェントにタスクを委譲ってやつをやってみました。そしたら思ってたんと違ったので書き記します。 サブエージェントが思ってたんと違った ADK ではとても簡…

今週うまくいったプレゼンテーション

「今週」と言いつつ実際には先々週の話です。 3月24日25日と二日連続でイベントに参加して LT をしました。そのスライド作りがめちゃくちゃ上手くいったのでノウハウを書き記します。 ちなみに LT 資料がこのへんにあります。 blog.mudatobunka.org 上手くい…

インターネット表紙買い・インターネット積ん読

私は書店が好きだ。書架の間をうろうろしているだけで思ってもみなかった本に出会える。 表紙が私に語りかけ、好奇心を刺激し、関心の扉を開いてくれる。 しかし近年、書店は減少傾向だ。そこで家にいながらインターネットで表紙買い・積ん読する方法を紹介…

徒歩旅実況ブログを支える技術

先日、高松市から徳島市までの約80kmを歩いて旅をした。 実際の経路と歩いた距離 こういう長距離の徒歩旅は以前にもやっていて、このブログに記事が残っている。 blog.mudatobunka.org 歩きながら写真を撮ったものにコメントをそえてまとめている。これらの…

徒歩旅日記 (高松→徳島) - 2日目

高松市から徳島市まで約70kmを歩いて旅します。この記事は旅路のログです。随時更新。 1日目の記事はこちら。 blog.mudatobunka.org 行程 スタート JR高松駅 - 香川県高松市浜ノ町1-20 ゴール JR徳島駅 - 徳島県徳島市寺島本町西1丁目61 https://maps.app.go…

徒歩旅日記 (高松→徳島) - 1日目

高松市から徳島市まで約70kmを歩いて旅します。この記事は旅路のログです。随時更新。 2日目の記事はこちら。 blog.mudatobunka.org 行程 スタート JR高松駅 - 香川県高松市浜ノ町1-20 ゴール JR徳島駅 - 徳島県徳島市寺島本町西1丁目61 https://maps.app.go…

春先のミカンへ

2025年3月、我が家にミカンの木がやってきた。 福岡市の都心の森1万本プロジェクトで苗木が無料でもらえたのだ。 memorialtree.info が、鉢底の排水穴が詰まったまま雨ざらしにしていたので梅雨の時期に完全に水没してしまった。 これまで葉が一枚また一枚…

BigQueryの課金モデルを見直してコスト削減した

GA4 のイベントデータを BigQuery にエクスポートして分析しています。 1日あたりのデータは数GB程度なんですが、毎日蓄積されつづけるのでコストが気になりますね。 なので課金モデルを見直してコスト削減してみました。 3行まとめ 課金モデルを「論理課金(…

Claude Codeの「知識言語化モード」でAIにインタビューされながらドキュメンテーションする

AI エージェントネタです。先日書いた「今週うまくいったドキュメンテーション」の続き。 blog.mudatobunka.org 前回の記事では、 ドキュメントは下書き時点で AI エージェントに読ませるといい 自分では伝わるつもりでも、読ませてみると正しく伝わらない表…

BigQueryまわりのロール - これが足りない/これが過剰

Google Cloud にはいろいろな組み込みロールが用意されていて便利です。 一方で、 クエリは実行できるのに結果が見れない データは見れるのにクエリが打てない テーブルを作りたいのに作れない など、思ってたのと権限が違ってしまうこともあります。 この記…

`github.event.inputs` よりも `inputs` を使う

GitHub Actions のワークフロー構文の公式ドキュメントを読んでいて、 on.workflow_dispatch.inputs のセクションにややこしい注意書きがあることに気がついた。 The information in the inputs context and github.event.inputs context is identical excep…

セグメント木で時系列データの統計量を計算する

何気なく @chokudai さんのタイムラインを見ていたら「セグ木」という言葉が目にとまった。 セグ木だけやたらみんな解けるようになってる話、ちょっと考えれば、「もっと高度なデータ構造であるmapを使った問題」がもっと解かれているのだから、標準ライブラ…

今週うまくいったドキュメンテーション

ドキュメンテーションは大変だ。知識を絞り出すのと文章を組み立てるのは別の知的作業で、それを同時にやらなければいけない。 私はよどみなく文章を書くのが得意ではないので、大いに生成 AI の力を借りたい。 今週やってみてうまくいった方法を書き留める…

Rust で Grass インタプリタを実装する

書くのも読むのも難しい Grass 言語のインタプリタを書きました。Rust 実装です。 github.com cargo install --git https://github.com/todays-mitsui/rusty-grass.git でインストールして遊べます。 モチベーション Grass 言語は言語仕様がカッチリしていて…