The Small Stuff

I have a script that I made years ago, but I use it multiple times every single day. It's super simple and all it does is check the status of various important pages on the websites I work on. It's my tiny little last-chance defense to make sure something I pushed out didn't break things.

The script has served me well, but there was one problem: it took almost a minute and a half to run.

"Not a big deal," I kept thinking. "I'm the only one who uses it, it's just slow because I'm impatient. I don't have time to fiddle with something that already works." Rationalizations continue...

The problem was that it was coded "synchronously," which means that it goes through each URL and checks it individually, waiting until the URL it's currently working on is done before moving onto the next URL. When I have 80+ URLs, it could take about 1-5 seconds for each link to ping back with its status.

4 years later, I finally decide to try and figure out how to do this "asynchronously," meaning we don't have to wait for the current URL check to finish in order to get started on the next URL.

If a task in synchronous code were a straight line, in asynchronous code it would be effectively folding the line over itself multiple times.

Sync vs. Async visualization of a task to be done as a straight line compared to the same line folded over itself.

The result? My script now finishes in 5 seconds.

We can do some math to see how that one little change to my script impacts my whole year.

Assuming I use the script once a work day (260 in a year), it has 80 URLs, and the old version took 1 second per URL.

| OLD VERSION | NEW VERSION | | ----------- | --------------------- | | 5.77 hrs | 0.36 hrs (21.67 min.) |

I saved myself 5 whole hours throughout the year—and that's with the most conservative numbers, assuming the best of the old version.

Consider this from Ch. 63 of Dao De Jing:

"Take account of the difficult while it is still easy, and deal with the large while it is still tiny. The most difficult things in the world originate with the easy, and the largest issues originate with the tiny."

It's not always clear what small thing will become large, what easy thing will become difficult, but I think we're more keyed into that than we think.

Consider the following and evaluate if there are any small things in your life that could be taken care of now, while they’re still small.

FLARE Framework

Frustration

When you find yourself in the ever-familiar feeling of frustration with technology or process or anything else, that's a trigger to look around:

  • What am I missing?
  • What can I change next time?
  • Is this a preparation issue? A prevention issue? A proactive issue?
  • Did I overlook something that caused the frustration?

Learning

  • Is there software or a website or a tool that you use frequently, but don't feel like a "power user" of it?
  • What keyboard shortcuts could make this faster or easier?
  • Are there hidden features? Settings that you could modify? (Too often I just deal with annoying programs only to find out there is a setting I could turn on/off that fixes everything...)
  • What do I need to learn to make the change I want to make?

Avoidance

  • What are you avoiding? This is SO powerful. If you're avoiding something, it might just be the thing you want to tackle first—get it done and out of the way before it continues to eat at your mental space, growing larger and looming dauntingly over you.

Routines

  • Is there anything hiding under the disguise of "routine" or habit? Something that can be eliminated, optimized, or augmented?
  • Can you take advantage of your routine?
    • Is the order that you do things the most effective? (Maybe you could combine steps 3 and 8, or do the last thing first)
    • Can you attach something to the routine so that you don't forget or procrastinate? (exp: adding a push-up routine after you brush your teeth in the morning)

Expenses

Monetary expense is not the only kind.

  • What is taking energy away from you?
  • What is stalling other work from being done?
  • What is interfering with your relationships?
  • What is slowing down progress or taking excess attention and effort?