Saturday, December 31, 2005

Leap Days

How stable is the length of the year? (Motions of Jupiter, Mass loss of the sun, Sungrazing comet impacts, Gravity waves passing through the solar system...)

four stars in a plane

Find four stars in as close to a common plane as possible.

Friday, December 30, 2005

mach banding mandelbrot

getting rid of mach banding in mandelbrot set fractal images looks to be hard. somehow use the speed of exit, except that depends on orbit period.

prefixed C types

One can consider prefixed types such as "unsigned long long int" as a single identifier with spaces in them.

BitTorrent trackerless operation

Details on how BitTorrent trackerless works are hard to find by web search. Here is the file TRACKERLESS.txt in the BitTorrent Source. Much of the adventure takes place inside the khashmir subdirectory, for example findNodes in ktable.py.

Thursday, December 29, 2005

Image to PostScript

The world wants a jp2 jpeg2000 decoder written in Postscript. Even today, pnmtops could be greatly improved, for example using Postscript Level 2's built-in LZW and DCT support. (Newest netpbm has -flate option.)

PostScript Utilities (jpeg2ps)

Fun with the Cauchy Distribution

The probability distribution with undefined mean and infinite variance. It can be physically generated by a random angle pendulum, sampling the tangent function. Is it real life, where the outliers dominate so much that the central limit theorem does not hold? Do the height of the peaks of the Riemann zeta function along the critical line follow this distribution? This size of the deltas of the stock market?

Index of /~kenta/three/cauchy

contfrac compression

Is there an optimal, useful, compression of a simple continued fraction expansion? Not packing it back into binary.

--

Mobile Email from a Cingular Wireless Customer http://www.cingular.com

Sentence terminator

Does Unicode have a semantic sentence terminator mark that perhaps might be displayed nbsp? Solves 2spaces, period probs.

Answer: need not even go to Unicode, there are a bunch of "unused" ASCII control characters. Even for invisible parentheses.

Wednesday, December 28, 2005

function call key-value parameters

f [key1<-value1, key2<-value2] where f :: type1 -> type2 -> typef

arguments can be in any order

auto curry from any missing key: f [key2<-value2] is a function type1 -> typef

auto detection of type: f [value1] can omit key1 if the only parameter of type1.

Sunday, December 25, 2005

tagged types

lightweight version of struct encapsulation and deriving operators and casts.

Are we comparing apples to oranges in our code? Add tags:

int<Apple> apples; int<Orange> oranges;

Insert the tag at the root (where apples are first used) and automatically force all ints to be polymorphic int<a>

Anything that works for an int works for an int<foo>, but we can perform deep queries about what kinds of casts and derived functions and operators are occuring, and where polymorphism is being disambiguated.

cronjob mail script

Because cron jobs automatically send mail if there is standard output, it is absurdly easy to create a crontab script that sends mail (albeit with somewhat ugly Subject header). Just set the MAILTO variable appropriately and have the command write to stdout if mail should be sent.

For example, a script to test if a file has changed: diff file.bak file ; cp file file.bak

One can mail one's mobile phone to be paged with a text message, etc.

Saturday, December 24, 2005

mailing list digest spam

Mailman wishlist: While normal messages get through immediately, messages tagged as spam, or non-member submissions not approved by moderator or CAPTCHA, get digested for once a week.

Emacs multicolumn

I wish there were a way to have emacs do columns so that a single buffer spans two (or more) columns, wrapping text from the bottom of one column to the top of the next.

And web browsers, too.

XML recursive hashtable

XML is a hybrid of a recursive hashtable (attribute to elements are keys) and Lisp-like recursive lists. <ELEMENT>foo bar</ELEMENT> is <ELEMENT list-content="foo bar"/>, where list-content is allowed to have recursive XML elements inside it. The purity of Lisp leads to ugly position-dependent parameters. When does position inherently matter? Anything ordered, of course...

There is a fundamental tension between ordered lists and unordered key-value(s) pairs as the two True Data Structures. (There's set, too.)

UI tricks

"Backspace" is navigate-page-backward is the best thing ever. (My keyboard has a full size backspace key.)

The latest KDE supports application menu along the top of the screen.

encrypted sendmail

How difficult would it be to encrypt the SMTP link between two sendmail servers on the internet (especially over the backbone) preferably with a cryptographic protocol with perfect forward secrecy? It seems like a straightforward application of Diffie-Hellman. Does the NSA have the ability to introduce man-in-the-middle attacks on the backbone? (Well, yes.)

Nevertheless, some crypto is probably better than none.

Friday, December 23, 2005

Verisign M-4 factored

Let M be the modulus of VeriSign Class 3 Public Primary Certification Authority public key, valid until the year 2028. While factoring M is expected to be hard, M-4 has a relatively smooth factorization:

M-4 = 3 * 3 * 193 * 331 * 6128405401 * 600270585077 * 740739825201997 * 3767960522848201931 * 1763988934035706139627 * 59813208105314032027291 * 3246151553918103368085998272489 * 276773842952611154114920239220722631 * 26429454638260922608191475868189426039 * 3894223443367528241282778866698497025018177 * 2455048868245492012151874489544364890868369330214795356411

The original number has 309 digits. The largest factor of M-4 has only 58 digits. While "relatively smooth" for 309-digit numbers, it is still not smooth enough to aid in the factorization of M itself. Furthermore, I do not know if the special number field sieve can deal with offsets that are not +1 or -1, (namely -4).

Thursday, December 22, 2005

ocr hex

What are the 16 (or 17 for EOF) least confusable characters for optical character recognition of hexadecimal?

PARC Solutions: DataGlyphs

The world needs some good barcode (or 2D barcode) reading software. PDF417. Image-in, data out, solving orientation and lens distortion along the way, and finding the barcode in the image.

Wednesday, December 21, 2005

Atlantic Tsunami

Steven N. Ward, Simon Day, "Cumbre Vieja Volcano -- Potential collapse and tsunami at La Palma, Canary Islands" Geophysical Research Letters 28: 3397–3400, 2001.