For a happier relationship, we need to think like a computer programmer. That's the word from David Auerbach, a happily married software engineer. Believe it or not, he says there are some techniques he uses to write software that can also help improve your relationship - even if you've never written a line of computer code in your life. For example: Just like software, NO relationship is "bug"-free. "Bugs" refer to the little glitches in software that make computers freeze or crash. And good programmers know that bugs can pop up at any time, even years after a piece of code is written. That's why they're always creating new "patches" to make software run better. And Auerbach says relationships work the same way because you're going to have issues with your partner from time to time. But unless you learn to talk it out and fix those "bugs" when they pop up, they'll nag at you until they eventually "crash" your relationship. Relationships need a strong core. Auerbach says good programs spend 90% of their time running only 10% of their code, like Microsoft Word. It's mostly used for typing - even though it offers hundreds of other features. Our expert says relationships have lots of features too - including having someone to talk to, do things with, and be intimate with. But for a relationship to keep running long-term, it needs to be based on strong core values - like trust, a shared sense of humor, and similar financial goals. *You need to "beta-test" your relationship before you even think about marriage. That's the term for the weeks and months that go in to testing software, and de-bugging it, before it's released to the public. It's a lot like what couples go through when they're dating. And our expert says it's a phase you should never rush. Because as any programmer can tell you: The less beta-testing you do before getting married, the more likely you are to have a relationship full of "bugs" that can't be fixed.