21 November 2017

These Questions Will Improve Your Relationships


1 Do you see me?
2 Do you care that I’m here?
3 Am I enough for you, or do you need me to be better in some way?
4 Can I tell that I’m special to you by the way that you look at me?

Schafler notes that patients from her practice come in and complain that they walk into the bedroom and their partner barely looks up from the phone. Or they get their kid dressed and ready for school without really acknowledging them or making eye contact. Taking a moment to let someone know that you see them, that you care that they’re there, that they’re enough, and that you think they’re special is the nitty-gritty of what makes a good relationship good.

I have a friend who is a master at making me feel good about myself—she asks me questions, seems sincerely interested in the answers, and treats me like I am a special person who has unique things to offer her as a friend. I’ve always thought she had unusually good social skills, but now I realize that she is (unconsciously) always answering these four questions that I’m (unconsciously) asking.

John Gottman, a psychotherapist whose research can be used to predict which couples will stay together and which will divorce, calls these requests bids: “any attempt from one partner to another for attention, affirmation, affection, or any other positive connection.” Not every bid will be answered, but what matters, according to his research, is that you answer the bid affirmatively 85%-ish percent of the time. (Couples likely to divorce were at more like 33%.)

16 October 2017

Rubber duck debugging

Today I spent an hour trying to figure out why "the system" was behaving a particular way.  My conclusion was that it was impossible based on the code.  Eventually I decided to call over an experienced colleague as another pair of eyes.  Just 30 seconds into explaining the issue I figured out what was wrong.  To which my colleague said you didn't need me you just needed a rubber duck!


15 August 2017

Diffuse an argument by asking what the other person wants from it


Just ask what they want from the argument.

For instance, you might be upset that your spouse forgot your birthday, but instead you get upset about dirty dishes, an open window, or a cluttered nightstand. To the other person, it looks like you’re just suddenly upset by clutter, which can be confusing if that’s not your regular M.O. When your spouse doesn’t understand why you’re upset, that’s likely to make you even more upset, and the whole situation can spiral out of control.

Instead, respond to an argument with a calm and respectful request asking what the other person is trying to accomplish with the fight.

Hopefully, that will facilitate him or her either telling you what the issue is, or looking at the situation and realizing what they really want out of it is a hug and snack, or maybe they just want an apology for some wrong that you did them you don’t even realize. By asking, you can get to the root of the problem a little quicker, and hopefully avoid the whole epic battle portion of the conflict. Or at the very least you’re offering to listen to that person’s concerns, which is often the point of a fight, to begin with.

Once you hear what an issue is, you can respond (again, calmly and respectfully) and address their concerns. Or, even better, you can just respond with “I hear you,” because you did, in fact, hear them. Maybe you still disagree, but in some cases, that’s still ok. Often just acknowledging that you hear and understand the other person’s point of view might be enough to end the conflict (or at least open up a productive dialogue about it) and preserve your friendship/marriage/job in the process.

04 August 2017

Practicing compassion — not only decreases anxiety, but it also increases an overall state of calm


Researchers found that actively practicing compassion — the capability to recognize another’s suffering and be motivated to relieve that suffering — not only decreases anxiety, but it also increases an overall state of calm. And, more importantly, they found that it is indeed possible to teach people to be more compassionate.

Notice and pay attention: Notice how you’re feeling in a situation and how your body is reacting. Figure out what you need. You might just need a few deep breaths to settle your mind and those sweaty hands.

Put yourself in the other person’s shoes: Take time to consider life from her perspective. Recognize that just like you, he/she has family and friends, goals and dreams ... and baggage.

Let it go: Acknowledge that you’re anxious about a person or situation and let that thought move on to allow the flight-or-fight part of your brain to relax instead of obsess. (Meditating daily, in particular, can help train your brain to let go.)

Practice makes perfect: Start where it’s easier. Practice compassion with yourself and with a loved one. Then ease into those more difficult relationships.

14 July 2017

The Joel on Software Discussion Group - Why I Hate Frameworks

The Joel on Software Discussion Group - Why I Hate Frameworks

I'm currently in the planning stages of building a hosted Java web application (yes, it has to be Java, for a variety of reasons that I don't feel like going into right now). In the process, I'm evaluating a bunch of J2EE portlet-enabled JSR-compliant MVC role-based CMS web service application container frameworks.

And after spending dozens of hours reading through feature lists and documentation, I'm ready to gouge out my eyes.

Let's pretend I've decided to build a spice rack.

I've done small woodworking projects before, and I think I have a pretty good idea of what I need: some wood and a few basic tools: a tape measure, a saw, a level, and a hammer.

If I were going to build a whole house, rather than just a spice rack, I'd still need a tape measure, a saw, a level, and a hammer (among other things).

So I go to the hardware store to buy the tools, and I ask the sales clerk where I can find a hammer.

"A hammer?" he asks. "Nobody really buys hammers anymore. They're kind of old fashioned."

Surprised at this development, I ask him why.

"Well, the problem with hammers is that there are so many different kinds. Sledge hammers, claw hammers, ball-peen hammers. What if you bought one kind of hammer and then realized that you needed a different kind of hammer later? You'd have to buy a separate hammer for your next task. As it turns out, most people really want a single hammer that can handle all of the different kinds of hammering tasks you might encounter in your life."

"Hmmmmmm. Well, I suppose that sounds all right. Can you show me where to find a Universal Hammer."

"No, we don't sell those anymore. They're pretty obsolete."

"Really? I thought you just said that the Universal Hammer was the wave of the future."

"As it turns out, if you make only one kind of hammer, capable of performing all the same tasks as all those different kinds of hammers, then it isn't very good at any of them. Driving a nail with a sledgehammer isn't very effective. And, if you want to kill your ex-girlfriend, there's really no substitute for a ball-peen hammer."

"That's true. So, if nobody buys Universal Hammers anymore, and if you're no longer selling all those old-fashioned kinds of hammers, what kinds of hammers do you sell?"

"Actually, we don't sell hammers at all."


"According to our research, what people really needed wasn't a Universal Hammer after all. It's always better to have the right kind of hammer for the job. So, we started selling hammer factories, capable of producing whatever kind of hammers you might be interested in using. All you need to do is staff the hammer factory with workers, activate the machinery, buy the raw materials, pay the utility bills, and PRESTO...you'll have *exactly* the kind of hammer you need in no time flat."

"But I don't really want to buy a hammer factory..."

"That's good. Because we don't sell them anymore."

"But I thought you just said..."

"We discovered that most people don't actually need an entire hammer factory. Some people, for example, will never need a ball-peen hammer. (Maybe they've never had ex-girlfriends. Or maybe they killed them with icepicks instead.) So there's no point in someone buying a hammer factory that can produce every kind of hammer under the sun."

"Yeah, that makes a lot of sense."

"So, instead, we started selling schematic diagrams for hammer factories, enabling our clients to build their own hammer factories, custom engineered to manufacture only the kinds of hammers that they would actually need."

"Let me guess. You don't sell those anymore."

"Nope. Sure don't. As it turns out, people don't want to build an entire factory just to manufacture a couple of hammers. Leave the factory-building up to the factory-building experts, that's what I always say!!"

"And I would agree with you there."

"Yup. So we stopped selling those schematics and started selling hammer-factory-building factories. Each hammer factory factory is built for you by the top experts in the hammer factory factory business, so you don't need to worry about all the details that go into building a factory. Yet you still get all the benefits of having your own customized hammer factory, churning out your own customized hammers, according to your own specific hammer designs."

"Well, that doesn't really..."

"I know what you're going to say!! ...and we don't sell those anymore either. For some reason, not many people were buying the hammer factory factories, so we came up with a new solution to address the problem."

"Uh huh."

"When we stepped back and looked at the global tool infrastructure, we determined that people were frustrated with having to manage and operate a hammer factory factory, as well as the hammer factory that it produced. That kind of overhead can get pretty cumbersome when you deal with the likely scenario of also operating a tape measure factory factory, a saw factory factory, and a level factory factory, not to mention a lumber manufacturing conglomerate holding company. When we really looked at the situation, we determined that that's just too complex for someone who really just wants to build a spice rack."

"Yeah, no kidding."

"So this week, we're introducing a general-purpose tool-building factory factory factory, so that all of your different tool factory factories can be produced by a single, unified factory. The factory factory factory will produce only the tool factory factories that you actually need, and each of those factory factories will produce a single factory based on your custom tool specifications. The final set of tools that emerge from this process will be the ideal tools for your particular project. You'll have *exactly* the hammer you need, and exactly the right tape measure for your task, all at the press of a button (though you may also have to deploy a few *configuration files* to make it all work according to your expectations)."

"So you don't have any hammers? None at all?"

"No. If you really want a high-quality, industrially engineered spice rack, you desperately need something more advanced than a simple hammer from a rinky-dink hardware store."

"And this is the way everyone is doing it now? Everyone is using a general-purpose tool-building factory factory factory now, whenever they need a hammer?"


"Well…All right. I guess that's what I'll have to do. If this is the way things are done now, I guess I'd better learn how to do it."

"Good for you!!"
Now that I'm the proud owner of my own general-purpose tool-building factory factory factory, I'm satisfied to know that it complies with the GPTBFFF 0.97 RC2 draft specification for tool-building factory factory factories.

Luckily, 70% of the workers in the Tool-Oriented Metafactory Union are certified against this version of the spec.

On the horizon is a competing standard, though: a very compelling metafactory technolgy called the UXCTBFFF (Universal Trans-Continental Tool Building FFF), which promises to unify the factory factory factory industry to comply with guidelines of countries that use both metric and standard tools.

My understanding is that there will be a service pack to my GPTBFFF 0.97 RC2 to bring it into nearly 95% compliance with the UXCTBFFF standard, just by creating an abstraction layer through its user interface.


Surely this new development will improve the quality of my spicerack (which I'll get around to building one of these days, as soon as I've got my factory factory factory all up and running, my labor force trained, my raw materials imported from Cambodia, etc).