  Construction of error-correcting codes achieving a designated minimum
distance parameter is a central problem in coding theory. In this work, we
study a very simple construction of binary linear codes that correct a given
number of errors $K$. Moreover, we design a simple, nearly optimal syndrome
decoder for the code as well. The running time of the decoder is only
logarithmic in the block length of the code, and nearly linear in the number of
errors $K$. This decoder can be applied to exact for-all sparse recovery over
any field, improving upon previous results with the same number of
measurements. Furthermore, computation of the syndrome from a received word can
be done in nearly linear time in the block length. We also demonstrate an
application of these techniques in non-adaptive group testing, and construct
simple explicit measurement schemes with $O(K^2 \log^2 N)$ tests and $O(K^3
\log^2 N)$ recovery time for identifying up to $K$ defectives in a population
of size $N$.
