In today’s technology-laden world, it’s easy to get addicted and become dependent on our screens. After a decade of smartphones, it’s becoming clearer that this dependency adds stress to our lives. I used to be a programmer, in other words, glued to the screen and stressed. I quit that field to pursue a more self-aware life, and though I don’t code anymore, I’m fascinated whenever I discover seemingly unrelated connections between my old profession and new one. I want to tell you about a programming concept called ‘hooks’ which can help you become more self-aware, improve your memory, health, and happiness.
Programming and self-awareness are vastly different practices, yet that doesn’t mean we can’t use programming tricks to boost our self awareness.. If you’re someone like me who loses sandals, forgets things, and sometimes stresses, exercises like these take little effort and give much more in the end.
In programming terms a hook is ‘…a place in code that allows you to tap in to a module to either provide different behavior or to react when something happens.’ I know what you’re thinking, “I understand all of this!” I’ll explain anyways.
To understand how hooks can help you, it helps to understand how programmers use them. In programming we’re usually doing something in response to something else. When you write to Mark Zuckerberg over Facebook and hit enter, your computer sends your message to FB → FB forwards it to Mark’s computer → his computer receives the message. Once Mark sees the message, his computer notifies the FB server that he saw it → FB notifies you that your message was sent and seen. There’s a clear, albeit convoluted sequence, but it’s always the same.
To illustrate where and how hooks are used, let’s imagine Elon Musk personally hires us to modify the SpaceX Falcon Sequence. He wants magnificent fireworks to shoot out of the rocket before it separates. Similar to sending a message on Facebook, a rocket launch sequence is a series of events that happen one after another in the same exact order every time.
The straightforward approach to add Elon’s fireworks would be to change the launch sequence from:
Liftoff → Engine Cut Off → Stage Separation
and change it to:
Liftoff → Engine Cut Off → Fireworks! → Stage Separation
That would work, but changing the launch sequence is risky for reasons I won’t go into, and besides, a programmer’s job is to make things as complex as possible! Instead, we’re going to hook into the launch sequence to send a cue to signal the fireworks. With hooks, we can set a cue before, or after each step to call our routine — blow up fireworks. To visualize how hooks work, let’s modify our original sequence from:
Liftoff → Engine Cut Off → Stage Separation
Here’s what it looks like with hooks:
(Before Liftoff) → Liftoff → (After Liftoff) →(Before Cut Off) → Engine Cut Off → (After Cut Off) →(Before Separation) → Stage Separation → (After Separation)
Now instead of changing the sequence itself, we can set a hook after the engine cuts off, or before the rocket separates to launch our fireworks. This approach is safer and more versatile than changing the actual sequence. Furthermore, we can add more than one routine to occur on the same hook. This way, when Elon decides he wants a unicorn to parachute out of the rocket before separating, we can add that as a separate routine unrelated to the fireworks. Clever, right?
I know what you’re thinking, “Cool Marius, but how is this applicable to everyday life?” Seeing as our lives composed of routines, we can add hooks to set ourselves reminders, memorize new things, and to reduce stress by practicing self-awareness. We can set them in a similar fashion to how programmers set theirs.
An everyday-hook is a conscious cue to a stimulus, reminding us to do something, look at our watch, do a push-up, whatever… Programmers set hooks before or after specific steps, and like a built-in alarm system, once the program reaches each hook, it sends a cue to run the routine. In the real world however, we don’t have such an alarm system. All we have is our memory, and we all know how faulty that can be. That’s where we’ll use habit-building techniques to supplement what we lack in program-ware, but I’ll get to that later.
Let’s focus first on what everyday-hooks have in common with traditional hooks: cues and routines. Whereas a computer always sees the cue, we need to be creative to make sure we notice the cues we set for ourselves. We need a conscious cue to a stimulus. A stimulus could be a post-it-note you made, a car alarm, or a furry dog. The conscious cue would be seeing the note, hearing the alarm, or feeling the fur, assuming you made a mental note beforehand for each stimulus. A cue is only as good as you are at noticing it, so consider involving as many senses as possible. Once you have the cue, decide what to do with it.
Though similar, a hook is not to be confused with an unconscious reaction the way that seeing someone breaking into your car might send you foaming at the mouth, raging at the burglar.
To illustrate how to use them, imagine we’re a student who’s so stressed we often forget our homework. To remedy that, we could hang a sign on our front door, which we’ll see before leaving home. We put that sign up to remind us to stop, mentally go through every class, and ask ourselves if we have everything. To help reduce stress we decide to start running. We set a hook after class by placing our running shoes in open sight so that upon returning home, we see them. To become happier, we set a gratitude alarm. We open our phone’s alarm, set a random time before bed, and every day when it rings, it reminds us to think up five things that we’re grateful for today (yes, it really helps).
My examples are general, and you may already have the good habits in place, and might be wondering what’s the difference. These are similar to good habits, only that these are consciously created habits. If you have a few minutes, write down what things you do every day, and consider what habits you’d like to start, whether it’s learning to meditate, or exercising. Once you spot the patterns in your everyday life, you can begin molding it like a block of clay, and harden them through habit building.
According to Charles Duhigg’s book The Power of Habit, there are three steps to starting any new habit: the cue, the routine, and the reward. Sounds familiar, no? The only thing that’s missing from turning our hooks into habits is the reward. The reward is the missing piece that makes the cue and the routine stick.
Returning to our student, if we want to ensure we get in the habit of remembering homework before leaving home is to reward ourselves for remembering to check. As a reward, you could treat yourself to a coffee (just don’t let that become its own unhealthy or costly habit). Similarly, to make running a habit, we must make the reward match the intensity of the voice inside our head telling us to take a day off. We could treat ourselves to a warm bath afterwards, or to watch an episode of our favorite tv show.
A hook and a habit can be the same thing, only whereas a habit takes a while to form, we can implement a hook immediately, if we know how to engage ourselves to notice our cues. With that said you can go much further with hooks.
Taking It Further
I like to stay in shape, however I don’t like limiting myself only to long, once-a-day activities, like going to the gym. I’d rather strive towards it through a variety of quick and long activities, like taking the stairs instead of the elevator, and walking instead of driving. I like to apply the same to developing peace of mind. I used to think you could only practice self-awareness by blocking off a 15-minute chunk of my day to disconnect. Then I realized you can work on your self-awareness throughout the day by practicing conscious awareness, literally stopping yourself throughout the day to smell the air, notice the sounds, notice what you’re feeling. I discovered one such game while trying to learn how to lucid dream.
Those unfamiliar, lucid dreaming is a practice of consciously waking up to the realization that you are dreaming. Since my first and last lucid dream, many years ago, I’ve been trying to recreate the experience by doing this exercise: Remember to consciously look at your hand five times today and ask yourself if this could be a dream?
The idea behind practicing this exercise is that if you get in the habit of doing this when you’re awake, the habit will supposedly form in your dream. I didn’t realize it at the time, but this is an exercise in self-awareness as much as it could be for lucid dreaming. Another exercise is to be conscious every time you stand up from sitting in a chair.
If you find these exercises difficult, that’s because they are. After years of trying to do this exercise, I’ve finally just started being able to do it. Had I known about setting hooks, maybe I could’ve set hooks to remind me, however once I my self-awareness improved, I realized you could use it to do some cool things. What if every time you remember to look at your hand, you used it at a cue for more practical things?
To practice this, I started by memorizing one new word a day. Before that I tried keeping my daily to-do list in my head, instead of writing them out, but I ran out of tasks. The biggest challenge I’ve noticed is adding things to the list, and not forgetting it five-minutes later, however you can use mnemonic techniques to make it more memorable. Once I remember it the second time, it gets easier and easier and the hand becomes a memory enforcing tool.
I don’t claim to be a master of self awareness, but seeing as our brains are these complex machines that we don’t fully understand, I’m curious what hacks we haven’t unlocked yet. I want to reduce my dependence on my phone and my screen time. With that said I hope my words bring inspiration, improved memory, or a challenge to those curious enough to try.