Here's a bunch of loosely related statements:

  • I want to make my environment conducive to the goals I want to achieve.
  • One of the goals I want to achieve is being a reliable person.
  • A non-negligible part of being a reliable person is not being a total flake.

All very reasonable. And now, the problem: occasionally, I am a total flake.

Perhaps once or twice a month until embarrassingly recently, I found myself completely missing meetings because I was deep down some rabbit hole and only loosely aware of any larger external reality. Like most people, I have calendar notifications enabled. Perhaps less like most people, I'm exceptionally capable of ignoring them.

Since being a flake was antithetical to my goals, I resolved[1] to make my environment more amenable to minimal flakiness, like the worst croissant you've ever had.

And that's the story of dont-miss-it, which monitors all of my (Google) calendars, and blasts a large, red, wholly unavoidable DON'T MISS IT notification in the center of the screen shortly before a meeting is about to happen.

It looks something like this:

A screenshot of a terminal editor with several panes in it. Overlaid on top of this is a large box with a red border that says "DON'T MISS IT" in capital letters, with a smaller message saying "Meeting coming up in 5 minutes" below.

Okay, this is a bit dramatized for comedic effect, but in everyday use it is still intentionally quite large and garish and I have missed zero meetings since setting it up.

From a technical perspective, it's not particularly crazy. It's written in Go, it has OAuth integration with Google Calendar for loading calendar events, it uses a notify library that wraps DBus to send the notifications, and there's a simple loop that iterates though all the calendars we're monitoring, then sets a timer until the next event.

And now for the questions nobody asked.

Since you're using Go, why not poll the calendars in parallel with g o r o u t i n e s?

Because this is my deeply unassuming schedule, not high-frequency trading. Also spamming Google APIs with unnecessarily bursty traffic isn't good for the longevity of your OAuth clients.[2]

Why not just style your existing calendar notifications instead of making a whole application?

I honestly don't know. I think I may have tried this, but gave up trying to differentiate calendar notifications from other types of browser notifications.


  1. After one particular egregious incident

  2. This is mostly a joke, but be a good API consumer and not hit endpoints with any more traffic than you need to.