Calculations using the local density approximation to density functional theory and extensions such as generalized gradient approximations are accurate enough to give an excellent description of many properties of materials, while being simple enough to be applied to large and complicated systems, including finite temperature studies of solids. We use plane-wave pseudopotential techniques and Gaussian orbital techniques to study a variety of problems. Some of this work is aimed at providing the single-particle orbitals necessary as input for QMC calculations. We currently work on defects in solids and structural phase transitions in solids under high pressure. Most of this work uses "random structure searching" methods and is performed in collaboration with Prof Chris Pickard at University College London.