Gestate your Sad Baby.

This was an email I wrote to a friend who was having trouble processing difficult/overwhelming feelings.  As an adhd person, emotional regulation is very difficult.  I developed this weird way of helping myself through rough patches:

 

Ok, first of all, I know this is crazy.

hahhaah
Don’t think less of me, but this totally works for me for a lot of reasons.
When I am having a feeling that is “negative” – I’m sad or lonely or angry or disappointed…for me, I feel it in the pit of my stomach.  I will visualize I’m “gestating the <feeling inserted here> baby.”
Let’s say I’m sad, for example:
I will visualize a baby in my womb. It is a “sad baby.”  And I am surrounding it with love, comfort, care, and creating a safe space for it to stay and gestate as long as it needs to.  Babies, for the most part only come out when they decide they are ready.  Babies, are not US, they are temporarily residing in us. We carry them around, day and night, a safe space for them as long as they need it.  We don’t overly identify with the baby we carry. We don’t think we are carrying ourselves.  However we overly identify with our feeling. “I AM sad.” “I AM mad.”  When we are pregnant we ratchet up the self-care.  We feed ourselves healthy food. We get plenty of sleep.  We avoid things that are not good for our baby.  If you visualize you are gestating this sad baby, lonely baby, angry baby, jealous baby, anxious baby…you are taking responsibility for it, and do so by caring for yourself at a very very high level. You are gentle with yourself.  Gestating a baby is hard work.  I will hold my belly as if there is a baby in there. I will talk to it. “I’ve got you. Stay as long as you like. I’m surrounding you with love.”
This TOTALLY works with fear babies, too.  Fear of the unknown is huge.  Fear babies are especially in need of a safe womb to gestate in.
Break out the pickles and ice cream!
:)

Anti-Entropy Mechanisms and Your Spare Tire.

First, let’s define entropy.

Most of the time in tech, the third definition applies:

 “…(in information theory) a logarithmic measure of the rate of transfer of information in a particular message or language.”

 

In the database world, though, the second definition also applies: 

“Lack of order or predictability; gradual decline into disorder.”

 

Particularly in the space of data consistency across replicas.  Any database management system worth its salt will employ anti-entropy mechanisms to catch data inconsistency across replicas early. Why?  Because updating one or two rows or columns is way less costly than having to start over from scratch.

So these anti-entropy mechanisms run regularly to determine if replicas are out of sync, then works to get them consistent.  

This is also an important concept when it comes to the area of behavior change.  Humans, like databases, tend to drift slowly into disorder (old, less desirable habits) unless we employ anti-entropy mechanisms in our daily life to check our own consistency.  Whenever I tell a group about my weight-loss, I inevitably hear, “That’s great, but now you have to keep it off.”  While that could be discouraging, it’s a realistic call out for making sure I have anti-entropy mechanisms in my life.

What does that look like and how does it relate to your belt no longer fitting?  It looks like still stepping on the scale and tracking your weight trends long after you hit your goal weight.  It looks like having an accountability partner that you check in with nightly on your goal to get out and walk every day.  It can even mean continuing to track your food intake or measure your waist monthly.  It can mean still putting check marks on the calendar for every day you go without cigarettes or spending 30 mins studying a new topic in your career long after you’ve achieved your career goals.

Personally, I do many of those: track my food, weigh daily, measure weekly, and check in with an accountability partner daily.

The benefits are nearly identical between data and your personal behavior change.  It’s easier to fix drift earlier.  If you wait too long to notice drive you might be starting over completely.

Consider yourself the replica that is in an inconsistent state, and the goal version of you is what you need to stay in sync with.  Anti-entropy mechanisms are the checks and balances of your world that maintain success once you have it.  

There are no bad queries…right?

I’ve worked with developers who write terrible, extremely questionable, queries. I’ve said many times over the course of my career, “That’s a bad query.” You know the saying about there not being any bad dogs, right? Only bad owners? What if that’s true for queries? What if there are no bad queries, just bad environments for queries, or bad data sets for a certain query, or a bad plan for a good query? Maybe it’s about the data/query/environment interaction more than the query itself?

As with everything SQL, I started thinking about that in the context of psychology…

Psychology tells us the individual both evokes and provokes the environment (including others in the environment) in which it finds itself (person-environment interaction). However, there is an even cooler concept (that freaks me out a bit), that we self-select environments that we are in. Meaning…we choose the shit storm we blame for our unhappiness.

Pardon me for a minute.

WHOA.

The asshole coworker? Not your fault, right?

Well, not so fast.

Let’s weave these together.

What if you have a query that runs great on a table with 10 rows? And then you move it to prod where there are 2.8 billion rows? What if it is on a laptop with 1gb of RAM allocated to SQL? What if it’s also running 85 other things just then?Bad query, or bad environment? Both is an option, too, of course. (If you said “bad dev environment,” you get a gold star!) What if you add indexes? What if you update statistics? What if you switch to columnstore? What if you put it on a grown-up server? What if you add a ton of RAM? What if you cache the table? What if you make the table in-memory? These could all be said to be environmental design to improve execution of the query because you’ve changed nothing with the query itself.

This is what happens to DBAs a lot. Queries come to us and are not able to be edited (third party software, grumpy developers, whatever). We then set about tying ourselves into knots to create an environment where that “bad query” can thrive.

People are like this, too, I feel. Sure, there are “bad” humans. Serial killers, for one come to mind. Narcissists are another. However, the vast majority of people mean to do their best. We try hard, maybe not for all the right reasons, but very rarely do most people set out to do harm to others. Some environments, some people in those environments, generate such a reaction in the individual that the literal worst comes out of them. Sometimes this means people need to remove themselves from harmful environments (or better yet, the toxic people should be removed), but other times (just like query tuning) environmental design can make a huge difference.

How can we go about improving a poor interaction? It’s the same process as for query tuning, actually. Observe. Detect patterns. Here you have two options (just like with SQL Queries):

Work backwards to find root cause, address root cause.

Or

Take a stab at what you think might help (up the RAM!), observe again, record the results. Then tweak and try again. Sometimes you make the interaction worse, sometimes better. All results inform our future choices.

I’ve recently had the opportunity to observe a couple of significant workplace behavioral issues. Where I used to get extremely upset, I’m now able to observe and say, ok, what’s the pattern here? Sometimes what I come back to is yet another concept in Psychology that we are most disgusted by traits in others that we have and hate about ourselves. Having spent a long time in therapy, and worked through a lot of cognitive distortions, when I see them in others it’s like a huge sign flashing over their heads. The interesting thing is, I will feel dislike way before it clicks why.

So, let’s bring it back to what I said earlier…we self-select our environments. If I accept a job only to find out later I clash with someone, the question I ask myself is…Why did I choose that job over others without team members with this characteristic? Then I ask, “What in me has that trait that I’m not in touch with?” Finding yourself in a person-environment interaction that triggers all your vulnerable spots should be an invitation to understand those places on a deeper level.

Sometimes fixing a bad query (or person-environment interaction) is about environmental design. You leave the bad job, you beef up your server, you defrag your indexes…whatever it takes. Sometimes it’s about rewriting the query, though. You look at how you can get more efficiency out of the TSQL and reduce I/O. Sometimes you look at your own issues and how they evoke and provoke others.

Sometimes, it’s all of the above.

When you can rewrite the query, update statistics, and add more RAM, you do.

When you are able to extract yourself from unhealthy environments AND leverage those experiences to understand why you self-selected such a situation, why you stayed in such a situation for any length of time, and what you can do in the future to handle it differently…you do. You rewrite your own damn query.