Given any two classical codes with parameters [n1,k,d1] and [n2,k,d2], we show how to construct a quantum subsystem code in two dimensions with parameters N,K,D satisfying N≤2n1n2, K=k, and D=min(d1,d2). These quantum codes are in the class of generalized Bacon-Shor codes introduced by Bravyi [Phys. Rev. A 83, 012320 (2011)PLRAAN1050-294710.1103/PhysRevA.83.012320]. We note that constructions of good classical codes can be used to construct quantum codes that saturate Bravyi's bound KD=O(N) on the code parameters of two-dimensional subsystem codes. One of these good constructions uses classical expander codes. This construction has the additional advantage of a linear time quantum decoder based on the classical Sipser-Spielman flip decoder. Finally, while the subsystem codes we create do not have asymptotic thresholds, we show how they can be gauge fixed to certain hypergraph product codes that do.