Shake-and-bake is a direct-methods phasing algorithm for structure det
ermination based on the minimal principle. SnB is a program based on s
hake-and-bake that has been used successfully to solve more than a doz
en structures in a variety of space groups. The focus of this paper is
on the details of this program, including its structure, system requi
rements, running times and the rationale for coding in a combination o
f C and Fortran. A summary of successful SnB applications is also prov
ided. These include solving two previously unknown 100-atom structures
and re-solving crambin (a structure containing the equivalent of appr
oximately 400 fully occupied atomic positions) for the first time with
a direct-methods technique.