Saturday, June 30, 2007
Read-only functions in State monad
Friday, June 29, 2007
Head mirror
Non-active embed
Thursday, June 28, 2007
Design for modifiability
Sunday, June 24, 2007
Two billion primes
Differences between consecutive primes (from 3) encoded as in ASCII as c=(p2-p1)/2-1 then compressed with gzip. Numbers up to 49,392,123,905 are sieved, yielding 2,094,974,026 primes (including 2). Confirmed at the Nth prime page. We used a 32-bit machine with 3GB RAM. The encoding scheme is safe, as the first gap of 512 or more happens at 304,599,508,537 (prime #11,992,433,550) (304599508537 11992433550), although multiple-of-three stepping stones could have been used if they were needed. Source and compressed data are here. Sieves are hard to write. Just download and do some addition.
Gas Mileage
Theoretical maximum gas mileage of a compact sedan suffering only air resistance.
(36 400 000 (J / L)) / (0.5 * (1.29300 (kg / (m^3))) * ((25 mph)^2) * (7.34 (ft^2))) = 1600 miles per gallon
Saturday, June 23, 2007
Bottled pure water
Wednesday, June 20, 2007
Tuesday, June 19, 2007
419 movie
Freenet back links
There is plenty of opportunity for spam sadly.
Thursday, June 14, 2007
Avoiding parking tickets
Wednesday, June 13, 2007
Hearing yourself speak
Internet phone with emergency cell
Thursday, June 07, 2007
Monday, June 04, 2007
Key obfuscation in software
My company's product, Bluespec, may be unusually used to create such a structural encoding of a key. Bluespec is normally a tool for electronic hardware design, but it has a very good "understanding" of what part of a computation ought to be done statically, to be encoded in the structural layout of wires and other computational components of a chip, and what is computed at runtime by pumping electrons through that chip. But for a purely software application such as our problem, Bluespec produces Verilog which may executed by a Verilog simulator, or a cycle-accurate C++ simulator, either which may be called as the decryption routine.
Long key cipher
Suppose we wished to use a very long keyed cipher. The idea is even if the adversary were to get access to the key, it would be very awkward to transport or transmit it: a key gigabytes or terabytes in size.