Self loyalty

My cliff notes for “Self-signaling the ability to do what you want“:

The sunk cost fallacy can lead us to failures like overeating, where if there’s too little prepared food left to save after we are full, we eat it all, without recognizing that the costs of the food are the same whether we overeat or throw away the leftovers.

Willpower based solutions to this kind of problem, being manual, are weak; better to create a new pattern that consistently lets us see what’s in our best interest. For the above example, pre-committing to save the leftovers, no matter how small, can be an effective pattern interrupt. This worked for Nate (the author) by giving what the side of him urging him to overeat really wanted — food storage to stave off fear of scarcity — thus aligning all of himself toward the same goal.

Failing with abandon — “I’ve already failed a little so I may as well fail all the way and enjoy it” — is related to signaling failures.

The technique I’m describing — self-signalling an ability to do the right thing even if it seems too late — can address this failure mode in general.

Failing a little is a self-signal that you can’t succeed. By stopping after you’ve failed a little, before failing with abandon, you can send a new self-signal: That you can stop and do the right thing, even when it might seem too late.

Consistent self loyalty — doing the right thing by yourself in these situations (for example, being loyalty to the part of you that values not wasting food, over judging looks from waiters and other social norms pressuring you not to take home small amounts)  — builds self-trust. This is a virtuous cycle that disarms the impulse to fail with abandon.

This post is part of the thread: Replacing Guilt Cliffs Notes – an ongoing story on this site. View the thread timeline for more context on this post.

Replace guilt with science

My cliff notes from “Don’t steer with guilt”, arguably the heart of this series:

Guilt works in the same way as a threat: You want to avoid it. Feeling guilt steers you toward a future without more guilt in it.

Being threatened with an ultimatum (say, “I’ll break your leg if you steal from me”) steers you away from a future where the threat is realized. If you need to make good on a threat often, the threat isn’t doing its job effectively of steering someone else’s behavior in a direction you prefer.

Similarly, if you find yourself experiencing guilt often, then it isn’t being effective at steering your behavior. You should ideally not feel guilt; conversely if you feel guilt often, guilt isn’t serving you.

Experiencing guilt is costly, and can be demotivation. It can lead to failure spirals: Guilt leads to more failure leads to more guilt… This can lead to boom/bust productivity/failure cycles, that lead to lower productivity over time than intrinsic motivation (lack of external, guilt-based motivation).

If you regularly behave sub-optimally, assigning guilt to that behavior will not be useful.

If the situation occurs regularly, then guilt is not the tool to use! You’re welcome to feel guilty if you ever kidnap a baby or punch a homeless person, and you can tell that the guilt is working in those cases because you never do those things. But if you repeatedly find yourself in a situation that you disprefer, then guilt is just not the tool to use. That’s not where it’s useful.

Employ science, rather than guilt, to sub-optimal ways in which you regularly find yourself behaving. Look for patterns and hypothesize about conditions that lead to your sub-optimal behavior, then experiment with changing conditions. If your behavior changes, you’ve confirmed the hypothesis. If it doesn’t, what else have you learned from the experiment that can inform your next hypothesis? And how else can you gather more data that will eventually lead to your improved behavior?

“Don’t bemoan individual failures.” Focus on the pattern.

Recognize that there are infinite ways you can improve yourself, and you have to prioritize which to focus on. Then let the others go. There’s no need to feel guilty about them, as you are spending your finite energy wisely on more important things.

[I]f you lack the time to change the pattern, then the occasional failure is a fair price. Trust yourself to fix the pattern if the costs ever get too high, trust yourself to understand that investing in yourself is important […]

Each failure is new data. Each success is new data. Feeling guilt is nonsense, as it has no positive (only negative) bearing on your science experiments.

Shift the meaning of a failure from “I am terrible, and should feel bad”, to “time to update my tactics”.


This post is part of the thread: Replacing Guilt Cliffs Notes – an ongoing story on this site. View the thread timeline for more context on this post.

Instance to Pattern

My cliff notes from “Shifting Guilt”:

This post recaps three previously introduced tools to shift guilt that comes from acting other than you desired. It recasts them as related, a theme of shifting guilt for a mistake to guilt for a systemic flaw in yourself; from the instance to the pattern.

Tool One: Refinement. Ask the guilt what it would have had you do, instead. Be specific. And, be open to recalling that none of your alternative actions were better than the one you chose (which melts the guilt).

But also notice if this shifts your guilt into a pointed obligation, which requires the second tool.

Tool Two: Internalization. Recognize external obligations, and transform them into a desire you can internalize — or reject. Ask yourself if it would be okay to drop the obligation completely, to address this directly. If it is a relief to drop an obligation, congratulations: You’ve rejected someone else’s preferences for your own. If some part of you protests dropping the obligation, recognize those as internal guides for your future behavior, and use them — rejecting the external obligation you no longer need. Avoid the trap of changing  language without removing the obligation (such as turning “I should have” into “it would have been better if I had”). “Because I prefer a world where …” is a useful language formulation crutch when forming this habit, but (again), remember to keep discerning until you arrive at a truly internalized preference.

This can lead you to internalized guilt, but guilt nonetheless. The third tool is for this situation.

Tool Three: Realism. Examine your guilt to see if it asks something unrealistic of you. Could you have performed the way your guilt would’ve had you, sustainably? Rule out working yourself ragged. Sift guilts through a realism filter, and you’ll discard those that require you to be more than human.

After applying these three tools, you may find yourself still guilty for behaving in a way that you don’t think is best. “Perhaps you will realize that you’ve been adrift, that you’ve lost focus, and you’ll feel guilty for failing to maintain your drive.”

This is progress. Look for patterns of behavior that lead to guilt, and focus on those. Rather than feel guilt for a specific failing, feel guilt for the pattern — the level of how you process.

These three are universally effective for the author to transform guilt into a critique of his own process, which you can address directly. (See future posts.) There may be other forms of guilt that you’ll need additional tools to shift; construct your own tools accordingly.

This post is part of the thread: Replacing Guilt Cliffs Notes – an ongoing story on this site. View the thread timeline for more context on this post.

I’m Writing a WordPress Book

I am writing a book about WordPress development. I hope it will inform beginner, intermediate, and advanced developers to all take more joy in their craft.

WordPress Patterns

Here’s the concept: It will be a book of patterns for WordPress development, with how-tos and essays organized in a non-linear, linked, self-reinforcing system — a coherent pattern language.

The book will describe masterful practices on a spectrum from philosophy, to information architecture, down to sound coding approaches for specific technical problems. It will guide developers to anchor their work in “the WordPress way”, identify the right tools for a given job, build in forward-thinking ways, and connect their work to related situations and patterns.

Something Different

To my knowledge, this is unique in the WordPress world. Code references serve a different purpose entirely: They’re more like a dictionary, useful to expand fluency but not a way to learn the language. One-off tutorials found through searches are how most of us learn the basics, but they are often of low quality and aren’t often helpful or available for advanced skills.

The brilliant Plugin Handbook comes closest to what I have in mind: it provides a comprehensive jumping-off point for how-to information, presented with context. In fact, I expect my book to often point back to the Plugin Handbook. But the pattern language format is distinct from the handbook format, and lends itself to different reading behaviors and learning styles.

The difference is all about how you approach the material as a reader. Handbooks are great for “get me up-and-running quickly”. Collections of pattern are  good for “given my need, give me a solid approach”, and for “given my problem, help me to understand the tradeoffs, the history, and and the why of the recommended solution.” Handbooks equip you with breadth; pattern languages go deeper, which is why they are potentially of use even to people with intermediate and advanced skill.

For Most Everyone

I think this concept could be useful for developers with intermediate and perhaps even advanced skill, as well as for beginners.

I wish I’d had patterns available to read when I started 3 years ago. I wish I had them to guide me still today, so I’m cautiously optimistic that others will find it useful, too.

To be sure that it is, I will ask a handful of other developers to review early drafts of my first few chapters. Their input will help me to course-correct and, I hope, confirm the value.

Open Source, Baby

In the spirit of open source, I am committed to making the book’s content freely available to everyone on the web. As I write, I will publish drafts (when I’m no longer embarrassed by them), and incorporate feedback while I edit. Eventually, when there is a coherent body of work, I expect to publish commercial e-books. Perhaps they’ll be GPL licensed (if that’s appropriate for the medium — I’ve yet to look into this at all).

I am writing at a slow pace, mostly due to spending a lot of time just researching and editing as I learn more. I have identified over a hundred potential chapters and expect that to double or triple. After four months I have a couple dozen chapters outlined and about half a dozen solid drafts — none of which are quite ready for review yet. I expect to accelerate a bit, but it will still be a good long while before anything is considered final.

All the more reason to publish drafts in the open: This way, I won’t have to wait for people to get some value out of the work.

Feedback is Love

Researching open source licenses for book content is on my todo list. I’d appreciate any pointers.

More generally, I would love to hear your reaction to this. Does the pattern language approach make sense as I’ve described it? Given your skills, do  you imagine this would be useful for you? Are there specific topics or patterns you hope this will cover? Are you interested in reviewing early chapters? Perhaps interested in contributing?