* Getting a joke to work best often requires A/B testing
* I tried to choose my best jokes objectively. I'd watch my videos and keep track of the jokes that got the laughs consistently. I then wrote a program to sort jokes by the best ratio.
* There are lots of rules (though they are fuzzy). This kind of reminds me of programming language syntax. Like you should attempt to make the punchline the last part of the sentence. Start with your funniest joke, end with your second funniest (this rule might be reversed, I can't remember).
* Try to be as concise as possible. Usually if you can cut out words your joke will be more effective. This reminds me of removing DRY violations in code.
* Some jokes are really technical. They'd consistently get a laugh if every word was said in the exact tone and order they're supposed to, but if anything about the joke changed, it wouldn't "compile".
* Like programming, it'll probably take 10 years to get good at it (see http://norvig.com/21-days.html )
* Sometimes you'd think of a tag for an already existing joke. A tag is a joke that only makes sense in the context of the immediately preceding joke. This is like adding a feature to a legacy code base. It often requires refactoring and maintenance.
I like the way Marc Maron put it: One liners are the Math majors of comedy. Story tellers are the English majors.