[This article](http://peter.bourgon.org/go-in-production/) recommends using object literals instead of `make` and `new`. I think it's mostly a stylistic thing though; using an object literal is more concise than `new` followed by a separate line for every field.

Your point about having to fix everything when someone changes a struct is valid, but it can be avoided by using field tags. ([Reference](http://golang.org/doc/effective_go.html#composite_literals)) IMHO this gives you the best of both worlds.

I don't see anything wrong with initializing `k` and `b` to 0, since if you try to use them like that you'll get an error. I'm not sure about the best way to initialize a Sector and set its redundancy. Should the redundancy be specified when you initialize, or should you be able to change it later?

You're right about `k` of course, I just merely had my vocabulary confused.