I've read Shannon's paper, thorougly. At least, these: The Bell
System Technical Journal, Vol. 27, pp. 379–423, 623–656, July,
October, 1948. Note that this is NOT 1949. But it was, in fact, what
made me understand Boltzmann much better than before and allowed me to
better access the underlying meaning of macro concepts such as
temperature and entropy (which have no micro-meaning.)
Hamming, Shannon, and Golay all worked together in the same place, if
I recall, around that time. Marcel J. E. Golay, 1949, and a little
(short) paper called, "Notes on Digital Coding" which came out in
1949. (I think he was pushed into it by Hamming and Shannon.)
Some more info and a correction.
First, the correction.
Golay didn't actually with Shannon at Bell labs. His first paper, the
one I mentioned called "Notes on Digital Coding" was actually
published in the Correspondence section of Proc. I.R.E., 37, 657
(1949) was written while he was at the Signal Corps Engineering
Laboratories in Fort Monmoth, N.J.
Now, the additional info.
Golay's 1949 paper is supplemented by two more papers he wrote:
"Binary Coding" I.R.E. Trans. Inform. Theory, PGIT-4, 23-28 (1954) --
written also from Fort Monmoth, NJ; and "Notes on the Penny-Weighing
Problem, Lossless Symbol Coding with Nonprimes, etc.," I.R.E Trans.
Inform. Theory, IT-4, 103-109 (1958) -- written from Philco
Corporation when in Philadelphia, Pa.
Twelve of Shannon's papers (1948 through 1967) are conveniently
collected in the anthology, "Key Papers in the Development of
Information Theory," edited by David Slepian (IEEE Press, 1974.)
Shannon referenced Golay's 1949 paper in the book "The Mathematical
Theory of Communication" (written with Warren Weaver, Univ. Illinois
Press, 1949.) This book contains a slightly rewritten version of
Shannon's first 1948 papers together with a popular-level paper by
Weaver.
Shannon describes the Hamming-7 code in his 1948 papers in section 17,
attributed to Hamming there, but since there is no reference to a
specific paper by Hamming I suspect this reference must have been via
personal communication with Hamming. (Golay also refers to the
Hamming-7 code in Shannon's first paper.)
The first paper by Hamming is "Error Detecting and Error Correcting
Codes" Bell System Tech. J., 29, 147-160 (1950.) Note this is
actually _after_ Shannon's reference to Hamming's code. The
anthology, "Algebraic Coding Theory: History and Development," edited
by Ian F. Blake (Dowden, Hutchinson & Ross, 1973) includes this paper.
Blake says in his introduction to the first 9 papers in his anthology:
"The first nontrivial example of an error-correcting code appears,
appropriately enough, in the classical paper of Shannon in 1948. This
code would today be called the (7,4) Hamming code, containing 16 = 2^4
codewords of length 7, and its construction was credited to Hamming by
Shannon. Golay gives a construction that generalizes this code over
GF (p), p a prime number, of length (p^n -1)/(p - 1) for some positive
integer n. Hamming also obtained the same generalization of his
example of codes of length (2^n - 1) over GF(2) and investigates their
structure and decoding in some depth. The codes of both Golay and
Hamming are now designated as Hamming codes. The interest of Golay
was in perfect codes, which have also been called lossless, or
close-packed, codes. Since he mentions the binary repetition codes
and gives explicit constructions for his remarkable (23,11) binary and
(11,6) ternary codes, it is not stretching a point to say that in the
first paper written specifically on error-correcting codes, a paper
that occupied, in its entirety, only half a journal page, Golay found
essentially all the linear perfect codes which are known today. ...
The multiple error-correcting perfect codes of Golay, now called Golay
codes, have inspired enough papers to fill a separate volume."
By the way, the Hamming-7 code can be used to generate the E7 root
lattice, which corresponds to the E7 Lie algebra. And the Hamming-8
code similarly generates the E8 root lattice, corresponding to the E8
Lie algebra. Heterotic superstring theory has an E8 x E8 symmetry
which is needed for anomaly cancellation. It is nifty that the very
first error-correcting codes of Golay and Hamming play such a profound
role in modern superstring theory.
An interesting supplemental work is from J. H. Conway and N. J. A.
Sloane, "Sphere Packings, Lattices and Groups" from Springer-Verlag,
1988. But probably the best ever book on algebraic coding theory is:
"The Theory of Error-correcting Codes" by F. J. MacWilliams and N. J.
A. Sloane, North-Holland Publishing Co., 1977.
Jon