Time is just a useful abstraction
- this can’t be said by me
Here you are, close to another New Year. You definitely have some goals in mind for it, right? Can you achieve them? Or is it just wishful thinking?
Recently, I’ve been reading/listening to “Algorithms to Live By”, which marries algorithms used by computer scientists with daily living. I’ve been pondering on one question for the last year or so. What is the optimal schedule for your day? This book gave me an incredible overview of the matter of “Scientific Scheduling”. Go read it! You might learn a ton of other useful things as well!
How we spend our days is, of course, how we spend our lives. What we do with this hour, and that one, is what we are doing.
- Annie Dillard
Does the time fly? A recent paper on that is a really interesting read on the subject. Time do seem limited based on your own life experiences, right? Did you even notice where the last 5 years went?
Just google “how to choose personal goals” and you might be surprised of the different opinions you might get. I am not going to tell you how you should do it. I am just saying that it is important. In a sense, you are striving to optimize your schedule based on the belief that you will achieve those goals.
Probably not, and that’s ok. Still, some things are just worth trying. They will enrich you while leading you to an epic failure :)
Here is my cheatsheet for defining goals:
You are not out of the woods yet. You have to define tasks (one time and repeating) that allow you to make progress towards your goals. Do you want to lose weight? Define something like “hit the gym 3 times per week” and “go for a run 2 times per week”. Now that is important. While you can’t control how much weight you are going to lose, you can do something that you believe causes it. It can be pretty tricky to define those tasks properly. You’ve got to start somewhere, though!
Have you ever asked yourself “Now, where was I?”, “What was I thinking when writing these lines of code?” or “What was the main idea behind my blog post again?“. Keeping the context in your head while doing certain tasks (e.g. programming, writing, reading etc) is essential for better performance. You might end up in a pretty terrible spot when that context is lost. You need time to “load from memory” all the information again and even then might not recover it fully. Thus, it is important to work without interruptions for long periods of time.
I’ve been there countless of times and I hate it! Not knowing what to choose next from a set of tasks or even worse - starting one just to leave it for another one in an infinite loop. I’ve been trashing myself for too long now!
Simply put, “trashing” refers to a machine/human who is doing only meta-work. That is, no real work is done, just deciding what to do or switching between tasks.
One way to reduce the amount of trashing you do is to learn to say no. Reject doing some tasks. Another good one - when you can’t choose a task, choose at random!
Those two are really interesting. Responsiveness refers to how quickly you can respond to things. Throughput describes how much you can get done overall. And they are into a constant battle. The more responsive you are more you can’t focus on demanding tasks. The more throughput you want more distanced from everything you must be.
There is a middle ground, though. You have to define uninterruptable periods of time for your important tasks. So you can work for 3-4 hours and be as responsive as you want in the next 30-40 minutes. You might define a minimum reasonable amount of time for a task as 10 or 15 minutes. Shorter tasks do not deserve a slot on your schedule. Just set a reminder for those.
A lot of garbage is fighting for your attention. Cut as much of it as you can! Really rewarding things are often hard to achieve. Granted, this is not a perfect metric but might get you pretty close.
There is time to be easily distracted and that is perfectly fine. Just try to defend the time in which you must be focused. Let’s be honest here. Technology can be so very distracting! That can be a good thing! You just have to turn on DND mode on your phone/laptop and stop visiting the awful lot of “social” websites. Easy to say, huh?
There must be a time of the day when everything is allowed. Most blockers or “productivity boosters” are not smart enough for that.
You can layout the perfect schedule at the start of the day. Everything at the right time slot. The price of 15 minutes for making it is not that high, you think! Enough time for relaxation, work, sports, social life etc. What more would one want?
Then your dentist calls and reschedules your appointment for today at 2 pm. You feel cheated. You have to reschedule almost half of your day. What about that time when the meeting went for 2 hours instead of 30 minutes? But that rarely happens, you say?
Uncertainty lies deep within our daily lives. The world can be too complex to put the perfect plan ahead of time. So, we need to reschedule/plan on the go often. Can some of this work be outsourced to someone/something else?
No, it can’t. At least to me, that sounds pretty absurd. But wouldn’t be nice to do something like 90% of the work? Wouldn’t be great to motivate you, track your progress, suggest changes and new tasks that might improve the chances of achieving your goals? Is that possible?
You'll never get spam from me
This book brings the fundamentals of Machine Learning to you, using tools and techniques used to solve real-world problems in Computer Vision, Natural Language Processing, and Time Series analysis. The skills taught in this book will lay the foundation for you to advance your journey to Machine Learning Mastery!