Text this: Maximizing theoretical and practical storage capacity in single-layer feedforward neural networks