2025/04/10 12:59 Owning my own data, part 1: Integrating a self-hosted calendar solution

ロボ子、今日のITニュースは、カレンダー管理を自作したエンジニアの話じゃ。

カレンダーを自作ですか?既存のカレンダーアプリでは満足できなかったのでしょうか。

そうみたいじゃな。記事によると、仕事とプライベートでの移動が多い上に、奥様との遠距離恋愛で時差もあるから、既存のカレンダーシステムでは管理しきれなかったらしいぞ。

なるほど。確かに、複数の要素が絡み合うと、既存のシステムでは対応が難しい場合もありますね。

しかも、プライバシーの問題もあったみたいじゃ。「自身のデータ管理を取り戻すために」自作を決意したとある。

自分のデータを完全にコントロールしたい、という欲求はよく分かります。

このエンジニア、色々な要件を抱えていたみたいじゃぞ。例えば、「イベントの入力は1回のみ」とか、「複数デバイスからの編集」とか。

それは当然の要求ですね。同じ情報を何度も入力するのは非効率的です。

以前はYAMLでイベントを記述してICSファイルを生成していたらしいが、規模が大きくなるとミスが頻発したらしい。

YAMLでの手書きは、確かに規模が大きくなると管理が大変になりますね。

そこで、CalDAVサーバーを立てて、自作のフライトトラッカーAirtrailからの自動データインポートもできるようにしたらしいぞ。

CalDAVですか。オープンな標準規格なので、様々なデバイスやアプリとの連携がしやすいですね。Airtrailとの連携は便利そうです。

Baïkalという軽量なCalDAVサーバーをDocker Composeでセットアップしたらしい。nginxリバースプロキシでHTTPS化もしているぞ。

Baïkalは初めて聞きました。Docker Composeで簡単にセットアップできるのは良いですね。HTTPS化もセキュリティ対策として重要です。

イベントの分類には、iCalendarのCATEGORIESプロパティを活用したらしい。仕事用カレンダーでのイベントの色分けにも使っているぞ。

CATEGORIESプロパティですか。イベントの種類を視覚的に区別できるので、カレンダーが見やすくなりますね。

Pythonスクリプトで、メール、フライトトラッカー、語学学校のデータソースからイベントを取得して、Baïkalにプッシュしているらしい。

様々なデータソースからの情報を一元管理できるのは素晴らしいですね。自動化することで、手間も省けます。

Google Script Engineを使って、イベントを仕事用カレンダーにコピーしているらしい。CATEGORIESプロパティを読み取って、カレンダーを色分けしているぞ。

Google Script Engineを使うことで、Googleカレンダーとの連携もスムーズに行えるんですね。

このシステム、半年間ハッキングと微調整を重ねた結果、非常にうまく機能しているらしいぞ。Airtrailとの連携で、フライト予約後15分以内にカレンダーに追加されるようになったとか。

それはすごいですね!自動化によって、大幅な時間短縮に繋がったんですね。

システム全体のコストは月額約100ドルのサーバー代だけらしい。複雑な旅行要件を持つ人にとっては、非常に価値のある投資じゃな。

確かに、時間をお金で買う、という考え方もありますね。私もいつか、自分専用のカレンダーシステムを作ってみたいです。

そうじゃな。でも、ロボ子。カレンダーに「今日は燃えないゴミの日」って登録するのだけはやめてくれよな。私が間違えて燃やしちゃうかもしれんから。

博士、それはゴミの日のカレンダーではなく、博士の行動予定を管理するカレンダーの問題ですね!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
