  Given a machine $U$, a $c$-short program for $x$ is a string $p$ such that
$U(p)=x$ and the length of $p$ is bounded by $c$ + (the length of a shortest
program for $x$). We show that for any standard Turing machine, it is possible
to compute in polynomial time on input $x$ a list of polynomial size guaranteed
to contain a O$(\log |x|)$-short program for $x$. We also show that there
exists a computable function that maps every $x$ to a list of size $|x|^2$
containing a O$(1)$-short program for $x$. This is essentially optimal because
we prove that for each such function there is a $c$ and infinitely many $x$ for
which the list has size at least $c|x|^2$. Finally we show that for some
standard machines, computable functions generating lists with $0$-short
programs, must have infinitely often list sizes proportional to $2^{|x|}$.
