In a classic Star Trek episode, "Arena," Captain Kirk defeated an alien captain in a very bad lizard suit by pounding charcoal, potassium nitrate, and sulfur into gunpowder and turning a bamboo tube into a makeshift cannon. Would it have worked? The Mythbusters guys will try it out on a new episode December 28. The preview here looks pretty cool.
PREDICTION: If they have the right proportions in the gunpowder components and a lot more time than Kirk seemed to have to grind and mix them, they'll get an explosion. But I think an explosion strong enough to propel big diamonds (Kirk's ammunition) with crippling force would likely have blown up the cannon in Kirk's face. Stay tuned!
UPDATE: The cannon was, unfortunately, "busted." The Mythbusters couldn't get the handmade gunpowder to explode, and, when they substituted commercially-made gunpowder, they blew up the cannon. It was a funny touch to put their Captain Kirk stand-in, their dummy Buster, in a red shirt: Kirk never wore a red shirt, but crewmembers who did were quickly offed (as was Buster when the cannon blew up). I always thought Starfleet must have the worst-trained security forces in history, since all they knew how to do was die. Maybe they had the same trainers who failed to teach Imperial Stormtroopers how to hit anything smaller than a spaceship no matter how close the range.