As I begin to write this post, I mark a milestone of 40 consecutive days of successfully practicing a new, constructive morning routine that includes journaling and meditation. I’ve had the goal of such a routine for, well, decades, but never before been able to execute consistently. I had practiced short sessions of breathing meditation on and off (mostly off) for perhaps a decade and had managed a few dozen short journal entries over the past few years, but that was it. On the latter, I was only moved to write when experiencing an emotional extreme, at a height of inspiration or in the depths of depression. In the long stretches of relatively even-keel existence, this practice typically fell by the wayside in my day-to-day busyness.


My initial motivation for attempting to regularly meditate and journal arose from the repeated recommendations of the practices in the positive psychology literature. Behind the foundational physiology-focused wellness practices, including getting 8+ hours of sleep nightly (accounting for measurable difference in IQ scores), eating a whole foods, vegetable-centric diet (more than 90% of the body’s supply of the neurotransmitter serotonin is manufactured by intestinal bacteria, so feeding [them] well is essential for mood as well as health), and getting regular exercise (in its promotion of serotonin, norepinephrine, and dopamine, as effective as taking Zoloft in treating depression with effects akin to taking “a little bit of Ritalin” for focus and “a little bit of Prozac” for affect), these practices, meditation in particular, made the list of happiness-promoting habits of nearly every positive psychology researcher I have read.

In his excellent, erudite book The Happiness Hypothesis, Jonathan Haidt persuasively makes the point on the research behind the efficacy of meditation:

“Suppose you read about a pill that you could take once a day to reduce anxiety and increase your contentment. Would you take it? Suppose further that the pill has a great variety of side effects, all of them good: increased self-esteem, empathy, and trust; it even improves memory. Suppose, finally, that the pill is all natural and costs nothing. Now would you take it? The pill exists. It is meditation.”

Journaling had perhaps less empirical support in the psychology literature as a beneficial life practice than meditation, except particular forms such as gratitude journaling, which have been scrutinized in controlled studies and found salutary. However, it is a practice that has long appealed to me, probably because I associate journaling with some of the most successful and admired people in history. However, I know upon examination that this is an unsupported belief, an example of the availability bias, since the only diaries I’m aware of are those written by such famous people. Regardless, even if I’m not going to be writing the next Meditations, as another reflective practice for building self-awareness, this one engaging the intellect directly, journaling still seems like a habit meriting adoption. (For whatever it’s worth, this now too-long post was mostly composed during journaling sessions.)


I had tried a number of things to get myself to do both of these consistently, including daily automated e-mail reminders that appeared in my inbox every morning, daily recurring tasks for each that popped up in my task manager application, “don’t break the chain” calendar views which would populate with completed tasks when I marked them off. The e-mail messages got skimmed and deleted on my march to Inbox Zero. The recurring tasks got shuffled around with everything else on my task list, occasionally checked off, but more often than not carried over to the next day (and the next, and the next…), and the calendar, when I glanced at it, looked more like a scatterplot than a chain. I knew what I wanted to do, why I wanted to do it, but didn’t have the how figured out at all, even if neither where terribly complicated activities.

Despite those failures, the cumulative effect of some recent reading prompted me to try again. (On trying again, I’m a big believer in the power of persistence. The psychological literature identifies grit as a leading predictor of success. It’s more correlated with measures of success than are measures of IQ or “talent”.) I had, after all, over the long stretches of years, just found any number of ways that didn’t work for me. What would work?


My reading pointed to a number of factors associated with successful habit change based on psychological models of human behavior, three of which I summarize here.

The Habit Loop

The basic model of habitual behavior is the “habit loop” popularized by Charles Duhigg in his book The Power of Habit. Duhigg surveys the research on habit formation and breaks down the process into three components which form a reinforcing cycle. Using more alliterative vocabulary than Duhigg, blogger James Clear calls these components the “3 R’s” of habit formation: Reminder, Routine, and Reward.

Graphic based on Charles Duhigg’s “Habit Loop” in The Power of Habit. Created by James Clear.

The Reminder is the cue that triggers the behavior. The Routine is the habitual behavior itself. The Reward is the benefit gained from the habitual behavior, which (to add a couple more R’s) Reinforces the strength of the association between the Reminder and Routine, resulting in Repetition.

The increased interest generated by variable Rewards generate a much stronger emotional response than fixed rewards, which is why gambling is so addictive. Since we over-value our own work, Rewards that you have a hand in generating also produce a greater emotional pay-off. (As an aside, I think these two dimensions explain my love of cooking.)

Understanding this cycle suggests several interventions in modifying existing or creating new habits. First, behaviors need reminders. By removing the Reminder for undesired behaviors (such as keeping the cookies out of sight), existing behavior patterns may more easily be broken. Alternatively, an existing Reminder-Reward pattern can be repurposed by consciously substituting a new Routine.

Tiny Habits

A second useful model for understanding behavior change is Stanford professor B.J. Fogg’s behavior model, which adds to Duhigg’s habit cycle the dimensions of Ability and Motivation. If changing behavior were as simple as switching in a new routine or removing a reminder (a trigger in Fogg’s terminology), habit change would be easy. Fogg’s model recognizes that an individual’s skill level (Ability) and desire (Motivation) determine whether or not the reminder will actually trigger the behavior to form a habit.

Fogg Behavior Model. BJ Fogg

Understanding these factors also suggests interventions helpful in habit change. One can try to increase the motivation for a desired behavior (or decrease for an undesired behavior) to get over the action line threshold. However, Fogg thinks focusing on the motivation dimension is exactly wrong. Instead, he argues that success is much more likely to follow from focusing on the ability dimension. In particular, he advocates starting with “tiny habits“.  That is, making the desired habitual behavior initially so small and easy to do that it requires little or no motivation. For example, if you desire to exercise right after getting up in the morning but the idea of a 30 minute workout seems overwhelming, start by doing 1 push-up. Fogg likens this technique to planting a seed. “If you plant the right seed in the right spot, it will grow without further coaxing.” Eventually, you will find 1 push-up leading to 2, and 2 to 3, until you have “grown” a work-out routine from the tiny seed of a single push-up and created a new, healthy habit.

This works because the motivation required to overcome any resistance to completing one push-up is minimal and easy to muster, and mental motivation follows physical action. Our motivation for an activity frequently follows, rather than preceding, initiation of an activity, so the key is simply starting. Once an activity is started, a psychological “physics of inertia” works to continue the behavior. It turns out that Nike’s “Just Do It” slogan is psychologically sound advice, at least if “it” = initiating.

Implementation Intentions

Fogg advocates codifying tiny habits using the specific formulation of After Trigger, I will Tiny Habit. For example, “After I brush my teeth, I will do 1 push-up.” This formula is a variant of an implementation intention, which is a conditional planning method defined by Professor of Pychology Peter Gollwitzer. The basic structure of an implementation intention is If Cue, then Behavior.

An implementation intention operationalizes goal-directedness by specifying in concrete terms the specific circumstances under which one will undertake specific actions. In controlled studies, Gollwitzer and his colleagues have found that rehearsing such concrete implementation intentions significantly increases goal-attainment. The hypothesized mechanism of action is the creation of an automatic association between the Reminder and Routine that allows the behavior to be initiated without conscious deliberation.

Gollwitzer’s partner Gabrielle Oettinger has developed a full behavior change intervention protocol combining implementation intentions with mental contrasting (identifying obstacles to goal achievement after visualizing a desired unrealized goal), popularized under the acronym WOOP [Wish Outcome Obstacle Plan].


The preceding models and methods provide useful frameworks for thinking about and tools for implementing behavior change. In this section, I synthesize these findings using two different metaphors, one biological and one computational.

Elephant Training

In The Happiness Hypothesis, research psychologist Jonathan Haidt masterfully blends wisdom from classical philosophy and ancient wisdom traditions with the empirical evidence provided by current behavioral science research. In presenting his recommendations for cultivating a flourishing life, he develops the metaphor of the human mind as divided into two parts: an elephant and its rider.

The elephant is our unconscious, automatic, emotional mind. The rider is our conscious, rational, deliberative mind. The rider is the planner, but totally dependent upon the elephant for the doing. The rider may set the destination and try to motivate and steer the elephant, but is entirely dependent on the elephant carrying the self toward the destination. Moreover, in being much smaller and less powerful than the elephant, the rider has limited means for controlling the elephant. The elephant has its own mind, consisting of inborn instincts and needs as well as behavior routines formed through past conditioning, which are not directly accessible to the rider and may be in conflict with the rider’s conscious intentions. When the elephant is distracted by an environmental cue which triggers an instinct or habit routine or doesn’t understand the instructions that the rider has given it, or is just fatigued, it will follow its own mind rather than execute the plans of the rider.

With this understanding, the proper task of the rider becomes training the elephant rather than trying to force its will upon it directly. The following “elephant training” techniques have been borne out by empirical research on habit formation.

  • Establish Desire: As an animal with a mind of its own, the elephant is driven by desire. Establishing a powerful motivating “why” for new behaviors is important. The elephant can be motivated by what you consciously put in front of it.
  • Issue simple instructions: The elephant has a great memory, but when teaching it new tricks, you’ve got to start simple. You can’t expect the elephant to learn a complex new behavior pattern without breaking it down into simple parts.
    • Specific: Importantly, the behavior must be specific, not general. The elephant responds to concrete particulars, not abstract intentions. “Exercise more.” isn’t specific enough. “I will jog in the park for 30 minutes.” is unambiguous and therefore actionable.
    • Cued: Just as you would use a gesture and verbal command to initiate an animal trick, new behaviors must have specific cues to trigger them. This can be anything that you routinely encounter an recognize. We could extend the exercise example to “After work on Thursdays, I will jog in the park for 30 minutes.” and the end of the workday Thursday would serve as the cue.
    • Baby steps: Don’t try to do something new all at once. You wouldn’t train an elephant to rear on its hind legs without first teaching it to sit down. Once you’ve reliably taught the first trick, you can build on that to instill the second trick. Likewise, if a 20 minute workout is too much to do every day, start building a tiny but regular habit of doing one push-up.
  • Prepare the path: You rely on the elephant to walk on a path toward your goals. But the elephant can be distracted by things it sees on the path (unconscious cues to undesired habits) or blocked by obstacles on the path. Take the time to prepare the path to ease the elephant’s way.
    • Physical: Tempted by cookies on the counter? Put them out of sight so the elephant doesn’t see them when passing by. Path to exercise not clear? Store the dumbbells next to your bed or desk.
    • Social:Do those walking with you help or hinder you in advancing toward your goals? Either enlist them to support you, or separate from them if they won’t.
    • Respect biology: Like any animal, the elephant has biological limits. It gets tired. It needs solid sleep, nutrition, exercise to perform. If any of these foundations are not in place, start habit change interventions here before moving on to any higher-level behaviors.

    Brain Programming

    As I internalized these understandings, I came to develop another metaphor for implementing behavior change that I offer here in hopes it will be helpful to others. That metaphor is rooted in the field of computer programming. While in many ways, the elephant and rider is a more comprehensive (and fun) metaphor, when it comes down to instilling new habit routines in the elephant, I think the computer programming metaphor brings a level of clarity that the elephant and rider metaphor lacks.

    In this metaphor, the elephant maps to a computer and the rider to a programmer. The computer is always executing its inborn operating system (instincts) as well as its current set of adaptively generated applications (existing behavior routines), generating the unconscious, automatic mind. For most of us, the majority of these apps were developed and installed unconsciously over the years by the interactions with our parents, friends, and the rest of our environment. However, our self-awareness gives us the ability to take on the role of programmer and consciously write and install new applications. However, while our unconscious computer is incredibly powerful, it’s tricky to program. Doing so successfully requires understanding both our mental computer’s capabilities and limitations, its preferred programming language, as well as the method for compiling instructions written in that language into installable and executable habit routine “applications”.

    To that end, I offer the following high-level acceptance criteria for coding new habit routines/brain apps, which can be thought of as invokable subroutines/procedures written in the imperative style, that is, as series of sequentially executed instructions or commands. To amuse myself, I’ve written sample pseudo-code to illustrate each criterion. Hopefully the syntax I’ve chosen is close enough to English that non-programmers will be able to follow the logic. (For the record, while I have some training and experience in programming, I am not a computer scientist nor even a professional programmer, so apologies for an misrepresentations of programming paradigms this metaphor makes.)

    Acceptance Criteria

    1. Defined: Does each step in the behavior routine call a specific subroutine already installed in your mind’s library? (Do you already know how to do the step without conscious deliberation?) As soon as a step requires additional thought in deciding when or how to do it, or the presence of skills one does not presently have, it becomes a potential obstacle halting execution. Effective behavior routines must be executable without further analysis. If not, write, debug, & deploy the subroutine per these criteria.
    2. Pseudo-code example…
      routine: JournalInTheMorningAtHome () {
      I.WalkTo (location:Kitchen);
      MorningCoffee := I.PrepareCoffee();
      I.WalkTo(location:Study, bringing:MorningCoffee);
      MyNoteBook := I.OpenApp(app:ONENOTE);

    3. Low Cost: Is each step small enough so that even when your brain is fatigued/willpower depleted, it will not throw an exception when evaluating the cost of executing the step? (Does doing just this step sometimes make you feel overwhelmed?) Since the algorithm used to evaluate the cost of the step operates relative to current a baseline of system capacity register values, starting small avoids aborted execution. Once the iterative “tiny” habit is successfully installed, the number of iterations can be increased incrementally much more easily than by attempting to start the full-blown desired end-state. If so, write the subroutine as an iterator which allows you to register success simply by starting. 
    4. Pseudo-code example…
      routine: BurpeeExerciseRoutine (integer:MaximumBurpees) {
      integer:BurpeeCount := 0;
      try {
      while (BurpeeCount < MaximumBurpees) {
      BurpeeCount := BurpeeCount + 1;
      } catch (error) {
      if (BurpeeCount >= 1) {
      return { TRUE, "Good job starting!", BurpeeCount };
      else {
      return { FALSE, "Needs Work.", BurpeeCount };
      return { TRUE, "Max goal met! Good job!", BurpeeCount };

    5. Invokable: Is the triggering event detected by an event listener? (Are there specific, unambiguous internal (thought or emotion) or external (recognizable event) triggers of which you are aware that will invoke the routine?) The event definition must be a clear, obvious signal for the event handler to recognize it. Putting it into words results in a when {condition} then {action} implementation intention statement. You must have an event listener installed and registered that listens for the some internal or external cue and then invokes the habit routine. This event listener can only listen for events already exposed by the brain’s operating system or by some other already executing application. If you’re not aware of the triggering event, then you have to write, debug, & deploy a routine to expose the cue for handling. This may take the form of meditation, journaling, or visualization practices.
    6. Pseudo-code example…
      // register event listener to recognize anxiety
      I.EmotionalState.AddEventListener("anxious", OnAnxiety);

      // define event handler to respond to anxiety
      routine: OnAnxiety () {

      // equivalent shorthand for event listener/handler combination:
      When (I.EmotionalState.Current == "anxious") then

    7. Resourced: Is another routine meeting these acceptance criteria established to make sure that any required resources (ex: exercise equipment) are easily at hand so that “hardware not found” exceptions are not raised? (Have you prepared the environment to support the new habit routine?) If not, write, debug, & deploy a helper subroutine per these criteria.
    8. Pseudo-code example…
      routine: PrepareForMorningExercise () {

      I.Find(["shorts", "t-shirt", "heart rate monitor"])

    9. Deployed: Has the routine been manually deployed to production for automatic invocation? (Have you practiced the routine under conscious initiation until it becomes a habit?) Unlike most computer operating systems, the unconscious mind requires multiple manual execution successes before the app installs fully and will be automatically executed as written. Debugging and deploying is always the hardest part. Debugging will reveal unmet criteria 1-4 that result in failed execution. Even after obvious errors are removed, deploying to production typically requires consistent, repeated manual insertion attempts, sometimes over weeks, for full installation. Each successful manual execution increases the routine’s execution priority in the underlying operating system, which will eventually execute the routine automatically.

    I’m sure this brain programming metaphor is not novel, but it was useful to me in internalizing the success factors for habit formation revealed in psychological research. In particular, I found it helpful to have the anchor of writing code to program a computer as the model of (almost) how specific and explicit I should be in specifying desired behavior routines for myself. Of course, in applying this knowledge, I did not actually write pseudo-code for myself. Its inclusion here was a playful exercise in articulating the metaphor. However, to start the habit routines, the English I wrote was nearly as directive and concrete in order to avoid the noted pitfalls of ambiguity in cues or desired behavior as well as that of cognitive fatigue.

    Example Routine

    Here’s an excerpt from the new morning routine that I mentioned, which tied into pre-existing habits like checking e-mail (where I receive a copy of these instructions via a Zapier-automated message to myself every morning) and making coffee. Each step is tediously explicit, but that made it very easy to follow in a groggy morning fog. No decisions to make.

    Wake! [05:15]

    • Turn off alarm
    • Unplug phone
    • Walk to bathroom with phone
      • Mark time
    • Remove, wash & store mouthguard
    • Wash face
    • Bio-break as necessary
      • {Archive Asana inbox items}
      • {Clear easy e-mail}
    • Strip & weigh-in
    • Record weight on iPhone
    • Redress
    • Mark time

    Caffeinate [05:20]

    • Walk to kitchen with phone
    • Begin coffee preparation
      • Open OneNote app & navigate to KAG > Journal
      • Add New Page to Journal, titling YYYY-MM-DD
      • Put out supplements & medications
      • Prepare breakfast if distractingly hungry
      • {Tidy kitchen}
    • Finish coffee preparation
    • Mark time

    Write/Reflect [05:30]

    • Walk to study with coffee & phone
    • Enjoy coffee {eating breakfast + supplements}
    • Write reflection in Journal or blog

    Meditate [06:00]

    • Mark time
    • Put cushion on floor
    • Sit on cushion in half lotus position
    • Set iPhone timer for >= 10 minutes
    • Focus with 5 repetitions of box breathing
    • Follow breath
    • Silence timer
    • Mark time

    Example Implementation Intentions

    Here are a few of examples of implementation intentions I’ve used to make habits “invokable”.

    • when I feel like checking social media then I will check Asana {@Easy tag} for tasks.
    • when I am about to put food on my plate then I will ask myself, “is it worth the calories?”.
    • when I take a bite of food then I will put down my utensil while I chew & savor the bite.

    Baby Steps to Better

    No profound transformations have resulted from programming myself with new habits, but that was not my expectation. I am pleased that I’ve started a few new constructive routines, especially since they are ones I’ve struggled to initiate for years. My aim is incremental improvements, consistently compounded; baby steps to better.
    What tricks and techniques have you found success with in improving your habits?