Hello
General
Toys
Other
Blog Archives
Super Links
Copyleft

Unless otherwise stated, all original content on this site is licensed under your choice of the GNU FDL or the Creative Commons ShareAlike License.

GNU FDL Creative Commons License

Validate

Hopefully, this website is valid. You can check the XHTML, the CSS, and the RSS.

Valid XHTML 1.0 Strict Valid CSS Valid RSS

Stats

HAKMEM

Read the Hacks Memo. I can't think of any activity more edifying than pondering an entry in HAKMEM, coding things up here and there, and proving a lemma. This is what it is all about.

If you haven't seen this document before, you're in for a real treat! It is a file that was passed around the MIT AI lab in the 70's by such characters as Marvin Minsky, Richard Stallman, Bill Gosper, and Gerald Sussman. It is an informal list of problems and trivia relating to math and computers.

Here are some free samples to pique your interest.

ITEM 33 (Schroeppel): Russian doll primes
Numbers whose right digit can be repeatedly removed and they are still prime: CONJECTURE: There are a finite number of them in any radix. In decimal there are 51, the longest being 1,979,339,333 and 1,979,339,339.

ITEM 149 (Minsky): CIRCLE ALGORITHM
Here is an elegant way to draw almost circles on a point-plotting display:

NEW X = OLD X - epsilon * OLD Y
NEW Y = OLD Y + epsilon * NEW(!) X

This makes a very round ellipse centered at the origin with its size determined by the initial point. epsilon determines the angular velocity of the circulating point, and slightly affects the eccentricity. If epsilon is a power of 2, then we don't even need multiplication, let alone square roots, sines, and cosines! The "circle" will be perfectly stable because the points soon become periodic.

The circle algorithm was invented by mistake when I tried to save one register in a display hack! Ben Gurley had an amazing display hack using only about six or seven instructions, and it was a great wonder. But it was basically line-oriented. It occurred to me that it would be exciting to have curves, and I was trying to get a curve display hack with minimal instructions.

ITEM 102 (Schroeppel): Group-like definitions
As opposed to the usual formulation of a group, where you are given

1. there exists an I such that A * I = I * A = A, and
2. for all A, B and C, (A * B) * C = A * (B * C), and
3. for each A there exists an A' such that A * A' = A' * A = I, and
4. sometimes you are given that I and A' are unique.

If instead you are given A * I = A and A * A' = I, then the above rules can be derived. But if you are given A * I = A and A' * A = I, then something very much like a group, but not necessarily a group, results. For example, every element is duplicated.