Saturday, May 26, 2007

Finding yourself on the number line

Given a bit vector signature of what's prime and composite in the neighborhood of a number, how hard is it to determine the number? How wide must the neighborhood be? Perhaps use Chinese Remainder Theorem.

Wednesday, May 23, 2007

Three thoughts about programming languages

What is the simplest programming language that can do interesting things with non-strict (lazy) evaluation? The key is that the thing that distinguishes lazy from strict is skipped infinite loops. Thus you only need one type -- say the Unit type (), which actually has two values: () and Bottom _|_, and therein lies heart of non-strict evaluation.

The ability to annotate a program openly and arbitrarily is very key -- more so than any language has been designed for. It can be done at the token level, as C pragmas. At the parse tree. And as a type annotation, limited only to points in the parse tree that are typeable. The lowest level (tokens) is extremely ugly, but with open and close tags, any arbitrary span can be annotated.

To limit expansions of a Data alternatives, one can annotate as a type annotation, putting the limitations (or permitted expansions) on a node anywhere a type can be specified.

Thursday, May 17, 2007

Alchemy

Can controlled fusion techniques be applied to transmute lead into gold?

Tuesday, May 15, 2007

Gravitational Acceleration

9.8 ((m / s) / s) = 22 miles per hour per second

"Friends Only Posts" via AACS revocation

Can the deep crypto magic that HD-DVD and Blu-ray use be repurposed to create a blog with "Friends-only" posts complete with the ability to revoke (de-friend) certain readers?

Wednesday, May 09, 2007

Iokmmif8A8FMjimNRqw6q

Iokmmif8A8FMjimNRqw6q

Tuesday, May 08, 2007

National sales tax

A sales tax is preferable to an income tax because investment is good for the economy.

Instead of trying to collect the sales tax or VAT tax at the point of sale, we can use the same infrastructure as the current income tax. Spending is income minus savings. Employers and W-2s track income, financial institutions track savings, i.e., investment. 1099 etc. On April 15, subtract the two, multiply it by a rate probably graduated according to income, subtract income withholding, and pay the remainder as tax or refund.

The devil still remains in the details.

Monday, May 07, 2007

AIME steganography

A 128-bit number can be encoded as 13 problems each with a 3 digit (000...999) answer in the style of the American Invitational Mathematics Examination.

Saturday, May 05, 2007

Blindfold chess variants

Blindfold chess is the ultimate test of being able to visualize and memorize the board. Here are three variants that require less skill and additionally look bizarre when being played.

Yoko Ono chess is played with two sets of white pieces. The players need to remember which pieces were theirs.

Rank swap chess uses the normally back-rank pieces to represent the pawns, and the pawns to represent the back rank pieces. The players need to remember what each pawn stands for.

Checkers chess is a more extreme variation, each player starts with 16 identical counters to represent his or her pieces.

Each of these variations requires an adjudicator to prevent illegal moves, and close oversight to prevent cheating. A player might try to minutely adjust the position or orientation of a piece within a square to remember what the piece is.

Friday, May 04, 2007

IPv8

64 bits of address is not enough if we wish to deploy IP privacy. No address should need to ever be used twice.

Tuesday, May 01, 2007

RNG rescale

Given a random number generator which generates integers uniformly between 1 and a, how can one use it to generate uniform numbers between 1 and b in deterministically constant time (i.e., no rejection sampling)? You want to avoid a Moiré effect if a and b are close and large.

Version control filesystem for software packages and system configuration

Inspired by the uninstallable Windows Genuine Advantage (gotta love how Microsoft's bad ideas inspire good ideas in revolt) it's clear that some parts of an operating system filesystem, namely the installed software packages and system configuration, should act like as if in a version control system, so that you can always go back and see who did what, when, and possibly why, and always be able to undo changes. One can discover and recover from trojans. One can save disk space such that when an old version of a file is overwritten, but that file came from a package, one only needs to maintain a pointer to the package from where to restore the file if it is ever needed. The pointer may even be to the internet or some DHT, but trusted.

rescale image

When reducing the size of an image, one often does not want fine detail to get blended away into the background. Therefore, a tool like NetPbm pnmscale should take as input one or more background colors, and one or more foreground colors. When (say) averaging four pixels into one for a 50% linear reduction, background pixels do not count in the average, unless all the pixels are background. If a fourground pixel appears, no other pixels count in the average.

md5sum bandwidth

md5sum should report throughput such that a suddenly low throughput for a certain file might be a warning of read difficulty on the underlying media.