In programming, there is The Unix Way and there is The Microsoft Way. Down in the deeps of our cultural understanding of programming, there is this:
When you ask a question of a database, you're frequently expecting that the answer will be a list of things. By The Unix Way, if you ask a database for a list of things, and your query is sufficiently restrictive that nothing in the database matches, you get back an empty list. By The Microsoft Way, if your query matches nothing, the systems thrown an exception that you are expected to deal with. Dealing with an exception is onerously heavyweight compared to just asking "Is the list empty?" I've mentioned this problem before.
Unpleasantly, I discovered this problem the other day in Django's "activity stream" plug-in: if you weren't actually following anything, then there would be no activities to show you. The plug-in didn't throw an exception, but it didn't return an empty list. It returned the Python object meaning "No object." I have successfully convinced the upstream maintainer that an empty list is better, and my patch was accepted.
It seems like such a small thing, but Small Things Matter when it comes to programming. People notice the clatter and clank of a bad API.
And here's what this has to do with affirmations: Affirmations don't work. Research has shown that affirmations actually make the people who need them most worse off: the affirmation raises cognitive dissonance within the recipient, and instead of affirming the statement, reminds and re-affirms the negative state of mind that led to using the affirmation in the first place.
You know what does work? Reminders of past victories. That's what sports psychologists use, because they've known forever that the current-tense "I'm great!" messages don't work.
So I keep track of my past successes, even the small ones.