Happy little bee on happy little flowers on my walk to the happy little pizzeria.

A bee is working its way through a bush covered in bright oranges, red, and yellow flowers.

Although I’ve trusted OmniFocus for years, I’m still compelled to try out the alternatives sometimes. This time I wanted to see what the new Sequoia Reminders app with calendar integration was like. It’s so pretty!

Today I discovered that it also silently mutates some of my tasks, like removing the URLs from them so I can’t click straight from the task to the thing I need to do, or removing their repeat settings so that they become one-and-done.

Yikes, no. Back to OmniFocus, yet again.

I’ve written a couple extensions for PopClip that make my life a little easier. One shows you the geographical information of an IP address. The other sends selected text to TextBuddy. Maybe someone else will find them useful.

Currently reading: My Struggle: Book 2 by Karl Ove Knausgaard 📚

Now that I’m done with Gaiman’s “Norse Mythology”, it’s back to being enchanted by Knausgaard not quite enjoying anything at all.

We’re nearly 2/3 of the way from Y2K to Y2K38.

That thing you’d been putting off fixing? This would be a great time to start thinking about it again.

When a coworker forwards you an email to ask if it looks like phishing, take a moment to publicly praise them for it. “Jane sent me an example of a new phishing campaign going around. Her instinct to let us know about it was exactly right. Thanks, Jane!” Reinforce the idea that Security has their back and will be pleasant to interact with. That’s how you get them to want to report things.

If you’re writing an SDK, don’t include a section on how to fetch all the pages of chunked results. That’s your job, not theirs. Make that the default interface and provide advanced methods to fetch a page at a time if your user specifically needs to for whatever reason.

Don’t make users write this:

all_results = []
results = sdk.get_items()
all_results.extend(results.items)
while results.has_more:
    results = sdk.get_more_items(results.next)
    all_results.extend(results.items)

Let them write this:

all_results = sdk.get_all_items()

Looking at you, AWS and Dropbox.