adventures in elisp

samer masterson

creating a daily habit

I have zero daily habits. There is nothing I do that is propelled forward by the sheer fact that I do it every day. Even brushing my teeth is a conscious effort which I have to manually remember to do.

I’ve read about the power of habit, though, and I’ve wanted to leverage that power to become more productive for a while now. Hacker School is awesome because it seems to be optimized for turning want-to-do’s into do’s, and that makes this summer the perfect time to try to build some new habits.

I’m going to start small, and try to create a morning ritual for myself, defined by the following components:

  • open emacs
  • read previous day’s diary entry
  • write down what I want to accomplish for the day
  • open geary, answer emails
  • open firefox, check zulip
  • close geary, all non-work and zulip tabs in firefox

According to wikipedia, habit formation can be broken into three steps: the cue, the behavior, and the reward.

  • As a cue, I have pasted a post-it note to the top of my computer which outlines the habit I’m trying to form. I will also have a note card with check boxes next to the steps of the ritual that I will leave inside of my laptop every day, so I will not forget to do the ritual when I open my computer in the morning. This is key, because my memory is terrible, and the reason I usually fail to follow plans is because I forget that I had a plan in the first place.
  • The behavior is defined by what I’ve written on my note card. As I do each step in order, I will mark it off on the card.
  • As for the reward, once I have checked off everything on the note card, I will look at it and be happy that I finished my morning ritual. I might augment this by delaying any caffeine intake until the morning ritual is finished.

My hope is that I can make an easy transition from the end state of my ritual to getting work done, because all non-work things will be taken care of, and ideally only emacs will be open. According to wikipedia, “Lally et al. (2010) found the average time for participants to reach the asymptote of automaticity was 66 days with a range of 18-254 days.” So I don’t expect the habit to take immediately, and I will be satisfied if I reach automaticity within 254 days. Though I hope it doesn’t take that long! :)

Also, I’m making progress with the parser. Keeping track of how many non-terminals I’ve implemented is trickier than I thought it would be, because I implement the easy branches of the non-terminal first, with the intent to fill in the gaps later. So I’m not as concerned with noting how many non-terminals I’ve done a day. Every logical chunk of work turns into a commit, so I might track commits instead.