Tuesday, December 27, 2011

So I spent a couple of hours digging around in Visual BASIC code today. We're moving this code from one server to another. The .NET version changed. And the database delete functionality stopped working. Insert and update work fine. Only the delete part broke. It's frustrating.

The code uses something called a Business Facade with LINQ for database access. I personally find it very confusing. LINQ abstracts away the database access. In my mind, LINQ just adds another translation layer between me and the goal. My coworker probably feels the same way about Catalyst with DBIC. So honestly, what's the difference?

Abstraction vs. Simplicity

We use abstractions all of the time in real life. Calendars abstract the march of time so that we can see the interactions. We write checks instead of mailing cash. You look at a gas gauge instead of the fluid level right in the tank. Abstractions make our lives simpler. They stand in for messy details.

Catalyst does that. It hides the mundane intricacies of web connections. No matter how many web applications you write, parsing the URL happens the same way every time. There is only one right way of parsing CGI. And every application does it the same way. Why rewrite that code over and over and over? Catalyst does it once.

DBIC works in similar fashion for database queries...
  • Make the connection
  • Generate the SQL
  • Join related tables
  • And convert it all into Perl data structures
Abstractions help you write working code faster. My Catalyst applications are more documentation than code. And that's a good thing. So what happens when the abstraction breaks? This is the situation we find at work - the abstraction broke. My co-worker finally figured out that the web class calls into Business Facade which calls down into another class that executes a stored procedure that runs a DELETE statement. Yeah - all of that work for something as simple as deleting a record.

An abstraction should simplify details, not hide them. When the abstraction breaks, you can figure out what's happening.

Good Managers Delegate

Delegation happens every day. Your boss's boss asks your boss for something. Your boss then gives you responsibility for getting it done. You do a spectacular job, hand the result to your boss, who then gives it their boss. This occurs across your entire team. So when the manager delegates work to 8 people, that means he received the work for 8 people. What would you do if someone dropped the work of 8 people in your lap? One person doesn't accomplish the same as 8.

Delegation lies at the heart of automation. We delegate work to machines. Machines handle repetitive tasks with aplomb. Humans find them boring. Seriously, I would go bonkers typing in all of our data by hand. The computer doesn't blink an eye when it loads that same data. I delegated my work to the computer and accomplished more by doing so.

Web frameworks are about delegation - not abstraction. A good framework delegates the mundane, repetitive details using a library of proven code. Catalyst delegates the URL parsing to some block of code I have never seen - and don't need to. DBIC delegates table joins to some block of code I have never seen - and don't need to.

Catalyst and DBIC don't hide the details. They tie directly with the lower level details, if you need those capabilities. Both frameworks handle the details by default - helping you the programmer - like a good assistant. Does your framework help?

Thursday, December 22, 2011

Getting the Message Across

What Happened?

So our co-director is estimating the cost of bringing on a new client. Their data is a little different than our normal fare - especially the volume. We don't want to bite off more than we can chew.

The prospective client sent one month's worth of information. A quick look revealed records with no useful text. Then we identified a slew that do not fit our profile. Expert data analysts combed the remaining records flagging them as they went.

In our meeting today, the good doctor and I went over the results. We began by recalculating all of the numbers before. Then we adjusted our estimates based on the actual results. Of course, some numbers did not add up. From that, we remembered changes in the filtering. Change the SQL and boom - everything reconciles again.

All through the process, my co-director made notations on the white board. He started at the top and moved down with each calculation. The progression over time provided as much information as the data. We ended with a range of possible outcomes. And somewhere in that range falls our actual experience.

The folks in this department are professional researchers. I worked for a company that said they made decisions with data. These people live, breathe, and sleep data. It's second nature.

What Did I Learn?

First - always build a prototype. Secondly, the prototype doesn't look like the final product.

In software development, you never do the same thing twice. Every job has some unique twist. After all, if if the job was the same then I could use the same code. The customer wouldn't need me to develop new code. Prototypes help me provide a more meaningful estimate.

In our meeting today, my co-director and I created a prototype presentation. We put together enough to see if the message comes through. I lose sight of that when developing software, The prototype has a purpose - try some new technology, experiment with a new algorithm, or even just identify nasty, hairy edge cases. I lose sight of the message, and start writing the final product. It's no wonder that the customer's think they see a finished product!

Like a good estimate, a prototype needs rough edges. It should crash. The prototype should say things like Menu goes here. This isn't unprofessional. It's honest. Those blemishes provide visual cues that the product isn't finished. And when the software looks better every time, your customer sees real, definable progress.

This just grates on the perfectionist inside of me. Another character flaw to overcome...

Wednesday, December 7, 2011

It's the Economy

Occupy Wall Street, unemployment, federal deficits, tax the rich, Obamacare, conservatives, liberals, Republican, Democrat, spending cuts, tax cuts, capitalism, socialism, big bad banks, golden parachutes, entitlements...

Socialists want to take money away from an executive making obscene amounts. Conservatives defend that income because, well, the executive earned it. Of course he earned it by making bad loans then selling them to other people who lost their money when the market crashed. Now we're back to punishing this fictional executive. Yet we know that socialism is wrong. But the free market failed. Around and around our argument goes - one big, giant circle.

Sadly, I find myself arguing in circles a lot at work. It's a sure sign that I'm solving the wrong problem. Could that be happening here too?

Socialism is wrong. Theft by the government is still theft. Socialism takes by force money or labor that does not belong to the taker. In theory, the taker gives the spoils to someone less fortunate. Look at socialist countries in the real world. You see that the spoils stay with the taker. I consider that pure and simple theft.

On the other hand, the book of Acts describes the early church practicing socialist policies. There must be something good about sharing wealth.

Capitalism too is wrong. It encourages greed and rewards the dishonest. Absolutely free markets collapse on themselves. Then again, capitalism built airplanes and skyscrapers. There must be something good about rewarding success.

The same dichotomy holds true if you compare democracy and feudalism. Each has shining examples of success. Each also has glaring examples of utter failure. Economic structure does not guarantee success or failure. Political structure does not guarantee success or failure. There must be some underlying factor that brought about the successes.

Root Causes

Proverbs sheds light on the subject...

No one can be established through wickedness, but the righteous cannot be uprooted. -- Proverbs 12:3
The wicked are overthrown and are no more, but the house of the righteous stands firm. -- Proverbs 12:7

Corporations are not the problem. The economic system is not the problem. The political climate is not the problem. Our problem comes from wicked people doing wicked things. People possess a will. We impose that will on the world around us - molding the world in our image. Now imagine that image is distorted, bent. What happens to the world?

The righteous care for the needs of their animals, but the kindest acts of the wicked are cruel. -- Proverbs 12:10
When the wicked rise to power, people go into hiding; but when the wicked perish, the righteous thrive. -- Proverbs 28:28
Her house is a highway to the grave, leading down to the chambers of death. -- Proverbs 7:27

Well, it destroys the world around the wicked. Everything a wicked person does destroys those around them. Even when trying to help, a wicked person only hurts. Microsoft brought personal computers into millions of homes. They also put thousands of people out of work with illegal business practices. They set back the state of the art by decades. They hurt the very people they were helping.

Is it wrong to extend unemployment benefits? It doesn't matter. When wicked people enact policy, they hurt the recipients. Extending those benefits will end badly.

Solutions

The opposite also holds true. Put enough righteous people in power and the world takes a different shape. Righteous leaders surround themselves with wise counselors. They create an environment where righteousness thrives. And it too spreads outward.

In First Break All the Rules, Marcus Buckingham and Curt Coffman discuss the role of talent in our work. Talents represent who we are. As we grow, we learn skills that complement our talents. Righteousness is like talent - it describes who we are, not what we do.

What happened to the discussion of character in political campaigns? I don't mean mud slinging throw around insults and lies. I mean real debate about character. Is a candidate honest? Are they self serving? Who's looking at their record, their actions, their speeches for integrity?

Wait, don't issues matter? Well, no. Remember Proverbs 12:10 - but the kindest acts of the wicked are cruel. So even if a candidate does everything you want, enacts every policy you want, in some way it destroys the world around them.

Consider that next November - how will your vote change the world?

Thursday, August 11, 2011

How much do you really need?

So my daughter makes this comment about throwing away food when there are people who go hungry. Wouldn't it be great if we could give that food to people who need it?

Dad: How does that help them?

Deanna: What?

Dad: Imagine that we can efficiently give our leftover food to a hungry person. How does that help them?

Deanna: They get to eat, duh. (Okay, I added the duh. It fit a 14 year old.)

Dad: True. They eat today. What about tomorrow? What if we have no leftovers. What do they do then?

Deanna: I don't know. I guess they're still hungry.

Dad: So you didn't solve their problem. You just delayed the inevitable.

Deanna: I don't understand.

Dad: Okay, we start a problem by asking five why's. Why is this person hungry?

Deanna: They don't have food.

Dad: Good, good. Why don't they have food?

Deanna: They don't have money to buy food.

Dad: Alright, why don't they have money?

Deanna: Well, they don't have a job.

Dad: Why not?

Deanna: They lost their job, or they don't want one. They're not working.

Dad: Does giving someone food get them working?

Deanna: No.

Dad: So it doesn't solve their problem.

Root Causes

People have many different reasons for not working: lost a job, looking and just in between, can't hold one, or won't hold one. And the solutions are different for each reason. So the question is, do you want to solve the problem?

See these one-size-fits-all solutions can't work. Every person has a different problem. It takes time, energy, and commitment to unearth the root cause. Are you willing to pay that cost?

Welfare programs give us an excuse for not caring. Throw something at the problem (instead of someone). That comes from a fundamental disrespect for the people you're helping. I helped and can therefore turn my back on the deeper, more permanent problems underlying the hunger. I don't have to care about you.

Think about that for just a minute: giving away your leftovers can actually be a selfish act.

Deanna: So we shouldn't give food to hungry people?

Dad: No, that's not what I'm saying. Why you give them food matters more than giving the food. Have you spent time with them? Have you learned whether it helps or hurts them as a person? Are you giving them food because you respect their value as a child of God, or because you want them to go away?

You had a good question, Deanna. What can we do to help?

Saturday, July 30, 2011

I need...

So I'm at a picnic table in Holiday World theme park. Vania - my 3 year old - sits in her wagon watching the nearest ride. It's hot. We're sweaty. I'm eating ice cream. What crazy paranoid thought goes through my head?

I imagine somebody snapping our picture. See that selfish father, eating ice cream while his baby sits there. Doesn't he have enough sense to know that she's hot too?!

And what lesson do you think I gleaned from this imaginary conversation? The difference between need and want. First thing off your tongue, right? I didn't expect so. Let me explain.

I catch myself needing all kinds of things - time away, this or that. After all, if I need it, then I'm justified in buying it. Who can argue with a need?

It's all a lie - self deception at its finest. I truthfully just want those things. Want, however, implies personal responsibility. If I want it, then I chose it. And if that thing is frivolous, more than I can afford, or bad for me, then the consequences are my fault.

Genesis says that God created us in His image. Then He commanded us to subdue the earth and rule over it. He most definitely did not say let the earth rule you. We're not supposed to live from one need to the next. God is sovereign. He did not set the universe in motion and let go. He actively controls its direction - molding it to His desire.

Want does not equal selfishness. Want is what God commanded from us. If you want something, don't lie by calling it a need. Stand up, take control, and want it. Say what's true: I want.

Okay, what does any of this have to do with me not sharing my ice cream with Vania? We really do have needs. Needs are when you die without it. I needed hydration and some minerals. I wanted them in the form of ice cream. Needs are very real physical limitations.

Vania also has needs. Vania needs to avoid dairy. Dairy physically makes her ill. It harms her body resulting in a sick feeling, grouchiness, and general misery. It is a physical limitation. By not sharing, I gave Vania what she needed. I saved her from pain, misery, and illness.

Honestly, I wanted to share with her. What father doesn't imagine themselves sharing an ice cream cone with their kid? The smiles, laughter, and good feeling of sharing. Putting my want over Vania's need is selfish.

And before everyone thinks that I'm a terrible Dad who lets his little girl roast in the hot sun - Vania had a sippy cup of juice. Her favorite juice, by the way. I enjoy meeting her needs with things that she wants.

Tuesday, June 28, 2011

I'm Not Laughing

My wife sent me this link tagged as very funny. It makes quite an interesting story. A 5 foot chicken sounds cool. Everything else about the story made me sad.

In the interest of full disclosure, I wasn't in a good mood this morning. So let's talk this through...

The story begins with the husband forbidding her to buy towels. I've had those conversations. And they went about as well as this one. There was a distinct lack of communication. I guess that beach towels don't work well as shower towels. Sorry, as a male my understanding of these things is limited. Her husband suffers the same limitation. First sad thing: husband and wife not talking.

So next, the wife buys a huge chicken. She bought it with the full intention of annoying her husband. There was no love, no honor in that decision. She acted selfishly - no matter how cool a 5 foot chicken is. Sad thing number two.

This starts a passive aggressive fight with each accusing the other of escalating. Does any of this sound familiar? The comments on the blog say that quite a few people have shared this experience. Sad thing number three.

It's normal to fight over purchases, to use money as a weapon, and for husbands and wives to wrestle over dominance. If that's normal, maybe it's better to be weird. Sad, huh?

Sunday, March 13, 2011

One Size Fits All

Hang on to your hats! This post rambles quite a bit. Several different things are bouncing around in my head. I want them out because it hurts. I need some softer ideas. Seriously though, some common thread underpins all of these ideas. I just can't see it yet. So we'll lay out the ideas and see what coalesces.

New Interfaces

The few technical sites I visit recently posted articles about Canonical's introduction of their Unity interface. Canonical makes Ubuntu Linux. Unity competes with the upcoming GNOME shell. I don't know the technical details (those articles seem very short on specifics). Either way, it means that over the next year my user interface will change.

I've played with GNOME Do for several months now. And I love it. GNOME Do runs an application with 1 to 3 keystrokes. Much faster than hitting a tiny menu item with a mouse. My brain subconsciously translates between what I want to do and the program needed to do it. GNOME Do encourages this behavior. It works like I work.

Docky complements GNOME Do. GNOME Do replaces the GNOME menus. Docky replaces the rest of the GNOME panel. Without the menu, GNOME's panel only provides a place for some status indicators. Docky, as installed by Ubuntu, didn't have the necessary pieces.

Google to the rescue! I found a site (and forgot to write down the address) that explained how to upgrade Docky. Poof! Docky now sports the indicators I use. So Docky replaces the GNOME panel. It's only the second day - and I love it! With GNOME Do, Docky helps move the interface out of the way.

Good for the Goose

As far as I can tell, Docky and GNOME Do are the direction of the GNOME project. Unity (Canonical's beast) takes a different approach. They take over the entire screen. You focus on the one application currently running. My wife uses their Unity interface on her netbook.

Honestly, I think she would hate GNOME Do and Docky. Her life revolves around our toddler, home schooling, and keeping the house clean (thanks to the aforementioned toddler). The computer doesn't play that much of a role. It makes no sense spending a lot of time building the translation paths between what she wants to do and the program that does it. Unity works the way she uses a computer.

So what does this mean? I don't know yet. First, Break All the Rules espouses the idea that people have different talents. A talent comes from the wiring in our brain. You cannot learn a new talent. You learn how to apply your talents. My wife has different talents that I. Do our talents affect how we use the computer?

If so, then one size cannot fit all. Different people will use the interface in different ways. How well does you interface adapt? And how does one create interfaces usable by the widest possible audience?

Sunday, March 6, 2011

The First Step is Always the Hardest

Richard: My wife and I just started that Financial Peace class.

Narrator: Cool. What do you think of it so far?

Richard: We've had just the first week. I'm not sure. I agree with a lot of what he says. I'm just not sure how practical it is. The first step is $1,000 in the bank. Where am I going to get $1,000? There's five of us that have to eat. With our other expenses, we just make ends meet. How in the world can I save $1,000?

Narrator: Well, I agree. The first lesson by itself is not very useful. The entire plan takes shape over the next couple of weeks as Dave walks you through what to do next. Yes, the next two or three lessons talk about real, practical things you can do tomorrow to get started. This first lesson set the finish line. The next lessons shoot the starter pistol.

And it is tempting to skip that first baby step. After staring financial ruin in the face, running away very fast seems like a really good idea - until you trip over your own shoelaces.

Because of school schedules, my wife took the class once and then we both went through it together. She made me hang onto our tax refund that year. So the $1,000 was quick and easy. It also left just as easily. The car broke - for $470. A water bed leak spread mold all over the mattress. Replacing those set us back $600. As you can see, the $1,000 disappeared while we were still in the class!

So the debt snowball went on hold. And we built the baby emergency fund back up. Then the dryer broke. A strange thing happened. My wife e-mailed me. She was a little upset because Murphy just would not leave us alone. Honestly, my first thought ran along those lines too. These crises usually elicit some type of frustrated prayer: why me? and what are you going to do about it, God?.

God's comeback: what's the worst that can happen? Well, let me see. I guess the worst is that we replace the dryer. A used dryer can run $100 to $200 delivered. We have $1,000. $100 to $200 is no problem.

Okay, what if I take a look at the dryer first? Spend one day on the problem. If I get nowhere, then we replace it. Again, the worst outcome is that I break something. It's already broken. I'm resigned to spending $200. What have we got to lose?

The story ends with a $15 belt. I saved $185 and never touched the emergency fund.

The emergency fund - even the baby emergency fund - provides a safety net. It takes the emotion out of emergencies. When you're fighting your way through the debt snowball, that $1,000 reduces your fear. It gives you the wiggle room for maneuvering into a solution, not just a band aid. You will take some more risks. And discover that it often works in your favor. Why? Because even the failures won't kill you.

Without the fear, your mind looks at the situation objectively. You pick the risks that have the greatest chance for success. You will find yourself succeeding because you put yourself there. God's blessing is not that we win the lottery. He doesn't make money appear in our pocket. He protects us. He gave us the will, intelligence, and creativity that turns risk into success. He removes the roadblocks and stops the trucks from running us over. And He expects us to run the race.

The $1,000 baby emergency fund is like tying your shoelaces. Not glamorous. Annoying because we have to pause before starting to run. And without it, you'll fall flat on your face. Run like a champ. Tie your shoes. Start strong. And finish even stronger!

Saturday, January 29, 2011

The Evil Rich


So a group of us were chatting over lunch. Well, the two other guys were talking. I listen a lot. They discussed the protests in Egypt. One of them ended with the off hand comment: we will continue having misery as long as we use money and power for the measure of success.

That can't be right. Money solves a problem. The replacement would, in the end, solve the same problem. And still not fix all of the things that you see wrong.

Let's do a little thought experiment. What would you replace money with?

John: Love, the good of mankind.

Swami: Okay, and how do I know that I'm returning as much good as I receive?

John: Why does that matter? You give as much good as you can. And take only the things that you need.

Swami: Define need. You don't need friends, a house, food from a grocery store, electricity, running water, etc. Well, actually, you do. You need those things if you accept the spiritual side of humans. Esteem, power, and wisdom relate to ourspiritual needs.

Money provides a form of power. You recognize that power in the reported corruption and discontent. Would you agree that money itself is not the issue? The issue really revolves around the use of money as power.

John: Yes, I agree with that - rich people using their power to oppress poor people.

Swami: I agree. And that is why you are so despicable.

John: Huh? What?!

Swami: Look around you. You live in a solid structure with four walls, a roof, carpet, furniture, electric lights, and running water. Many people in Africa still collect their own water from a river. You are unquestionably rich compared to those people. If all rich people are oppressive tyrants - then you oppress those poor people in Africa. You are the problem.

But you're right - that's utterly ridiculous. It's just as ridiculous to assume that everyone with more money than you is a rich, evil, oppressor. I heard of one restaurant owner who closed down for a week and took his entire staff on vacation. That's a generous person. Would you consider them oppressive?

Relative wealth does not measure good and evil. Some rich people really are jerks. Some poor really are jerks too. Likewise, some very kind people have much wealth. And some very kind people have very little. Wealth cannot measure the quality of one's character.

Character determines good or evil. Character makes one man a tyrant and another a leader. Money determines the reach of my power - not how I wield that power. Reducing reach does not remove evil. God wiped out the earth just a few generations after creating it. Their reach can't have extended that far yet. Yet the corruption was unbearable.

Wealth is not the problem. Redistributing wealth solve nothing! You still have wicked people exercising power - tyrants oppressing the people. All it does is change the expression of their control, not the fact of it.

When we exercise power, we remake the world in our image. Wicked people impose their will for harm because they themselves are broken. Proverbs 12:10 says that the righteous care for the needs of their animals, but the kindest acts of the wicked are cruel. A righteous person remakes the world in their image - good, healing, kind.

The same power, the same money, works good as well as evil. Our root problem is power in the hands of wicked people. Redistribution of wealth, or even denial of earthly possessions, cannot solve that problem. We have a spiritual problem and it requires a spiritual solution. That starts a whole new conversation...

Wednesday, January 12, 2011

Rotting Drywall

[A discussion about the recent attack at Congresswoman Gifford's rally. A friend submitted an op-ed piece to a local newspaper. He distributed said piece among some of us at work. This is my imaginary conversation about the thesis of that piece. I paraphrased his work - rather than quoting it fully.]

Steve: This country's culture of incivility contributed to the tragic shooting at the Congresswoman Gifford's rally on January 9, 2011. Our leaders should repudiate both violence and the incivility that incites it.

Swami: So this guy, the shooter, wasn't at fault? He's not responsible for what he did?

Steve: Yes, he is responsible.

Swami: Then the culture isn't relevant. He is responsible - only his actions and motivations are relevant.

Steve: No, the culture shares responsibility. It had an influence.

Swami: The same culture influences me, in the same strength that it influenced him. If culture is partly responsible, then why haven't I committed the same acts? Why hasn't everyone?

Steve: The culture has a different affect on different people.

Swami: Ah, so he's not responsible - the culture's affect on him is responsible.

Steve: No, no, he does bear some of the responsibility.

Swami: You just said that a different culture would have prevented this tragedy. Therefore, the culture is THE factor that caused it. If its absence would prevent it, then its presence caused it.

Steve: There are many factors that all contribute. Any one of them missing would have prevented this tragedy.

Swami: That's my point - he is not responsible because he does not control all of these external factors. You absolved him of personal responsibility for his actions.

Steve: I believe in personal responsibility. And the shooter does have some in this situation.

Swami: You can't have some personal responsibility. If you only have some responsibility, then you really have no responsibility. Again, the blame lays on the factors outside of your control. That's my whole point. This idea of shared responsibility merely covers a denial of personal responsibility. Syndrome, in the movie The Incredibles, says and when everyone is super, no one will be. Spread abnormality around enough and it becomes normal. Spread responsibility around enough and you blame everyone else.

This appears as the central tenet in almost every discussion: the shooter isn't the one to blame. I contend that he is the ONLY person to blame. He chose his own actions. And he chose them in accordance to his character.

This man already decided his value of human life. He willfully chose what actions he would consider right, and which were wrong. He measured his actions against the things that mattered most to him. He patterned his life around his selected values. He structured the world around him so that this outcome became inevitable. He shaped his world to make this happen. So yes, he is solely responsible.

Steve: Now wait a minute - you're saying that it's someone's own fault if they are depressed? We know scientifically that some people cannot control themselves. They have medical conditions that require medication to control. Your argument is fallacious.

Swami: So medication has a 100% success rate?

Steve: No, but so what?

Swami: What if depression has two components: physical and spiritual? By spiritual I mean intangibles such as attitude or character. Medication can only fix physical problems. Success or failure in treating depression relies on addressing both aspects. That's why even medicated people still visit a psychiatrist.

So the question becomes: does the physical or spiritual part of our nature control our actions? I think we can both agree that the human spirit causes physical actions. In other words, your spirit causes your actions.

The spirit controls the manner in which depression manifests itself. You can't choose to stop being depressed. You can choose to seek help. You can choose to follow the doctor's recommendations (or not).

The shooter made choices that brought with them consequences. He set in motion a death spiral culminating in what happened January 9, 2011. Changing external factors (e.g. the culture) would only influence the form of his expression, not the fact of it.

The culture, civil or not, did not cause this tragedy. A man's character and values caused it. "Fixing" the culture is like painting over rotten drywall.

Sunday, January 9, 2011

Everyone Needs a Credit Card

Sue: You can't live without a credit card in today's world.

Swami: Why not?

Sue: Hotels, rental cars, all of these things require a credit card. You can't borrow money at all without a good credit score. It's impossible to live now a days without good credit.

Swami: Hmm, that's interesting. May I make a clarification? We're using the word credit to mean two different things.

First, credit means borrowed money. You buy stuff (rent a car, book a hotel room, etc.) with Visa's money. Visa sends you a bill. And you pay Visa back.

In the second sense, credit means any transaction that goes through Visa's computers. This meaning is what the rental car and hotel companies use. They don't care if the money comes from Visa or your bank account. They run the transaction through Visa's computer.

Life in today's world does require transactions that run through Visa's computer. Life does not require that you borrow money. Do you see the difference?

Sue: Well, isn't that splitting hairs?

Swami: Yes. And you hid behind that hair justifying a decision made in selfishness. You want all of the extra stuff bought with somebody else's money. Our sin nature justifies those actions because everyone needs to borrow money. Oops - I mean everyone needs a credit card.

Those two statements aren't interchangeable, are they? Yet that is precisely the spirit behind it. We mean borrow money when we say credit card.

Sue: Quit being so self righteous. Some of us simply can't get ahead.

Swami: Sorry, my delivery isn't the best. I purposefully switched to the pronouns we and our. I have the same problem. "Hi, my name is Swami, and I'm addicted to stuff."

I have been in that place - beaten down, hopeless, staring at a chasm of financial ruin with nothing but sharp rocks at the bottom. It stinks. I hated that place. Bad things happened there. Like every other 12 step program in the world, the first step was wanting to change.

So I split that hair. I use a debit card for hotels, car rentals, etc. No more borrowed money. I have not mailed payments to Visa for 2 years. I mailed my last check on my last debt to anyone at all a measly 4 months ago. And that money now goes directly into my bank account - accumulating. My checking account balance goes up every month! Do you know how exhilarating that is?

It can be done. You can kick the debt habit. Take the first step...