I made these with Blender 2.6.
The software is free, open source, and powerful. This is a pretty easy beginner level project, but it would be good to at least know your way around on there before starting.
Make a new blender project, and clear the starter cube.
Make a cylinder with closed ends. On the left side adjust it to have from 5-9 sides (I made one with each.) Make it 1.5 in radius and between 3 and 5 tall.
With the cylinder highlighted, switch to edit mode.
Select the top face. Subdivide it. Choose a number of cuts between 1 and 3 (you can go higher, but you'll have to assemble it so fewer is better for that.) Turn on "quad/tri mode."
This is the generative part of the project - set a number in the "fractal" box - I set all of mine at 5. This will randomly break this surface into a shape that you have no control over.
Go to Mesh>Faces>Triangluate Faces to turn that top into a fractured collection of pieces.
Now we have to slightly modify our randomly created form because ours will exist in the real world and it needs to follow the rules of physics. Deselect all of it and switch to selecting vertices. Rotate around the form. Anywhere that a plane passes through another plane you'll need to change it. The easiest way to do this is to select a point and drag it around until the plane cross issue is resolved. Be sure to leave the bottom of the cylinder alone - it needs to be flat to the earth so that it will be balanced when there's fire over it later.
Keep working your way around the shape until no crosses or overlaps remain. Then adjust it for aesthetics as you see fit.