There are more and more on the Wiki:
https://github.com/mbostock/d3/wiki
But we're always open to suggestions. :)
> Can anyone show me how i can 'grow' this arc as a mouseover animation
> (and shrink on mouseout). I'm drawing a blank here!
I'm not sure exactly what you mean by "grow", but if you mean in the "r"
direction (along the radius), this is quite trivial to do.
You can set up another arc generator for the "grown" arcs:
    var arcOver = d3.layout.arc()
        .outerRadius(r + 10);
Then, your mouseover and mouseout handlers will look like:
    var arcs = vis.selectAll("g.slice")
        .data(pie)
      .enter()
.append("g")
        .attr("class", "slice")
        .on("mouseover", function(d) {
            d3.select(this).select("path").transition()
               .duration(1000)
               .attr("d", arcOver);
        })
        .on("mouseout", function(d) {
            d3.select(this).select("path").transition()
               .duration(1000)
               .attr("d", arc);
        });
arcs.append("path")
        .attr("fill", function (d, i) { return color(i); })
        .attr("d", arc);
If you wanted to grow in the angular direction, then you might need a custom
tween function e.g. see:
Another tip: namespaces are optional as of D3 v2.6.0, so the vast
majority of the time you don't need them.  Less typing, and easier to
read!  The way it determines the namespace is:
- If the element name matches a namespace prefix that it understands
  (currently: svg, xhtml, xlink, xml, xmlns) then it is given that
  namespace.  So you can do vis.append("svg") instead of "svg:svg".
- Otherwise, it inherits the namespace of the parent element.  So
  appending SVG elements to <svg> and its children don't need
  namespaces.
Normally you'll only find yourself needing a namespace prefix when you
want to use something like xlink:href, or if you want to append HTML to
a <foreignObject>.
-- 
Jason Davies, http://www.jasondavies.com/
Oops, yes. Good catch. :)