I've worked on several flash projects so far. I know my way around AS3 but I also started becoming curious about how other flash programs are written, so I decompiled a few swf files to see how they were made. (I have also read through open source projects, but I don't say that because I feel guilty about decompiling swf files or anything. ) And I learned a lot by looking into these projects. But there were some projects where I couldn't make any sense of the code at all. It looked like they couldn't have been written by human beings!
Maybe they were obfuscated, right? And that got me thinking: there are more and more sites that offer a Flash/Flex application as their primary service. I'm thinking of Scribd, Sproutbuilder, but you could think of others. These sites have a great interest to protect the code in their Flash platforms.
So that brings me to my question: what kind of tools or techniques do you, flash programmers, use to make your code decompile-proof?
EDIT: after posting this, I came across this interesting post by Charles Miller about the futility of obfuscation. He makes a fair point. Software is an investment of time, and eventually someone will put enough time to reverse engineer even the most daunting project of software engineering. (Hint, hint: Mac OS, Windows, iPhone, you name it.) But that doesn't mean obfuscation doesn't provide a material benefit (for a short period of time) and competitive advantage to companies that were first in the market. Am I right or wrong?