Some code to extract the largest factor of an integer, in Pari/GP
x=factor(v);y=matsize(x);x[y[1],1]
Some code to extract the largest factor of an integer, in Pari/GP
x=factor(v);y=matsize(x);x[y[1],1]
Small FM radios can be purchased for as little as two dollars (for example, search for FM radio at froogle and sort by increasing price). Imagine a dance party where everyone is given a headset to wear, and a local FM transmitter (either in the room or perhaps a FM station), and the dance party takes place essentially in silence with everyone listening to the same station.
Part of the motivation for this is to get around noise laws and how late parties are allowed to go.
Represent a number by a smooth factorization plus (or minus?) a delta less than the largest factor.
Sawfish behaves alt-right-tab and alt-left-tab behave slightly differently; alt-right-tab leaves the window name floating in the center of the screen, alt-left-tab does not.
w3c.jar:1: error: Class or interface declaration expected. PK^E^F
1 error make[4]: *** [libw3c_gcj_la-w3c.lo] Error 1
(Giving up by disabling gcj compililation, for now.)
170! is the highest factorial you can calculate using standard double-precision floating point.
If one had a microkernel operating system, and the filesystem "modules" ran in userland instead of kernel space, one in principle wouldn't even have to be root to have AFS; in stark contrast to having to go so far as to recompile the kernel to get AFS for some versions of Linux. Such is the appeal of non-monolithic kernels.
Given bitwise data, how can one encode it in the language of matched parentheses (possibly different types of parentheses). We seek a mapping function from bits to tree structures.
When following the "Next Blog" buttons at the top, one no longer get tons of Search Engine Optimization pages.
When Microsoft Word exports to PDF, it would be nice if the original .doc file were embedded in the comments of the PDF so that the PDF is effectively editable by extracting the original. Similarly, I suppose, with LaTeX, DVI, and OpenOffice.
case d in (0..4): p=d+1; d in (5..9): p=d+2; v=Mod(e,13)^p return v-2 where e in {2,6,7,11}; //e==2 maps 3 to 3
E-mail should have a date header corresponding to the date of the event being advertised for automatic calendar interfacing.
--
Mobile Email from a Cingular Wireless Customer http://www.cingular.com
AES-256 is trivially breakeable by chosen plaintext attack in 2^128 work by enumerating all possible 128-bit input blocks.
rpmbuild --rebuild dell-nvidia-6624-1dkms.src.rpm
rpm -Uvh /usr/src/redhat/RPMS/i386/dell-nvidia-6624-1dkms.i386.rpm
be sure kernel-devel or kernel-smp-devel is installed.
...coming from Sawfish. Some of these problems may be fixable by configuration; then again, metacity is notoriously unconfigurable.
I want opaque cycle-windows (alt-tab) and opaque move-window and resize-window.
(custom-set-keymap (quote window-keymap) (quote (keymap (raise-or-pass-through-click . "Button1-Click") (resize-window-interactively . "M-Button3-Move") )))
Note that raise-or-pass-through-click is different from raise-and-pass-through-click.
(bind-keys global-keymap "F5" '(display-window (get-window-by-name-re "Mozilla") ))
Can't let windows go beyond the top edge of the screen (intentionally hiding the titlebar).
http://sourceforge.net/projects/mmreencrypt/ http://www.rediris.es/app/pgplist/index.en.html http://www.synacklabs.net/projects/crypt-ml/
http://www.atnf.csiro.au/people/rgooch/PGPsendmail.html http://www.raphinou.com/smailman/smailman.html
I wish there were a window manager escape key, which signals "I want to talk to the window manager now, not the application that has focus." The entire keyboard becomes available after the escape, enabling a vast palette of window manipulation operations ("restore the window arrangement to the one I named foobar"). On a Kinesis, I might bind the windowmanager escape key to the footswitch.
Assuming people set the clocks on their digital cameras (ha ha) correctly (ha ha), someone like Google could offer Image Search for photos taken on a certain day, by using EXIF information on jpegs. Or the camera can get the time from the cell network, or GPS, etc.
Someday, cameras will do GPS (some cell phones with cameras already have GPS, though I don't know if the encode the location information into the metadata) and we can search for all photos taken near a certain location at a certain time (and GPS can automatically get the correct time, too).
When Big Brother has us all get chips embedded in our skulls, and tracks our location via satellite, one could cross reference the people location data with the camera location (at a given point in time) to automatically identify people in a photograph. Or the camera could directly ping the Big Brother chips. These Big Brother chips could be the cell phones we already all carry around that record location at low resolution, or some Bluetooth variant.
jpegtran does lossless rotations of jpeg images. The beta version, codenamed "croppatch" does lossless cropping, too.
The "tohd=/dev/hdb7" cheatcode rules! (As I have a flaky CD-ROM drive (Creative) that fails to read the CD occasionally.)
While thinking about the "Pith root of unity", I found (cos 1)+(sin 1)i which is actually the (2*pi)-th root of unity. The one-radian angle marks out an equilateral wedge: both straight segments and the curved part are all the same length. Whereas sin(1) and and cos(1) are not especially interesting continued fractions, their ratio, the tangent of 1 radian, the slope of the ray to the 2*pi-th root of unity, does have a regular continued fraction:
In[3]:= ContinuedFraction[Tan[1],100]
Out[3]= {1, 1, 1, 3, 1, 5, 1, 7, 1, 9, 1, 11, 1, 13, 1, 15, 1, 17, 1, 19, 1, 21, 1, 23, 1, 25, 1, 27, 1, 29, 1, 31, 1, 33, 1, 35, 1, 37, 1, 39, 1, 41, 1, 43, 1, 45, 1, 47, 1, 49, 1, 51, 1, 53, 1, 55, 1, 57, 1, 59, 1, 61, 1, 63, 1, 65, 1, 67, 1, 69, 1, 71, 1, 73, 1, 75, 1, 77, 1, 79, 1, 81, 1, 83, 1, 85, 1, 87, 1, 89, 1, 91, 1, 93, 1, 95, 1, 97, 1, 99}
AFS or NFS backed by bittorrent instead of servers, with aggressive local disk caching, onto which is installed all of Debian.
--
Mobile Email from a Cingular Wireless Customer http://www.cingular.com
For mobile devices: Partition the alphabet into two halves, minimizing the number of consecutive letters typed in each half.
--
Mobile Email from a Cingular Wireless Customer http://www.cingular.com
On average, you get back 2 pennies, 0.4 nickles, 0.8 dimes, 1.5 quarters, or 50 cents; a ratio of 5:1:2:3.75.
What is the speed of a baseball as it comes off a baseball bat?
Interestingly, most baseballs are pitched faster than terminal velocity (75 mph)
What would basketball be like if points were awarded according to distance of shot? Again, computer vision to calc release points.
--
Mobile Email from a Cingular Wireless Customer http://www.cingular.com
What would boxing be like if computer vision was used to measure the speed and force of each punch?
--
Mobile Email from a Cingular Wireless Customer http://www.cingular.com
I'm finding the vc-cancel-version command in xemacs (I think it runs rcs -o) quite cool.
I suppose I will cry when I accidentally cancel a version I didn't want to cancel.
It would be cooll if instead of saying version 1.4 and 1.5 never existed, it would instead make 1.4 and 1.5 a branch off of 1.3.
"almost" is one of the (many) longest words with the letters in alphabetical order. "wronged" is the longest (one of many) in reverse alphabetical order.
The 3X+1 3N+1 problem. Also see TOS.
Binary representations of the numbers. Shifting the image right when dividing by two.
1038743969413717663What assignment of letters to numbers on a phone keypad is optimal, when predictive typing is used?
--
Mobile Email from a Cingular Wireless Customer http://www.cingular.com
Biology is more the study of the effects of evolution; is mathematics the writing of God? Or is it, too, naturally designed?
--
Mobile Email from a Cingular Wireless Customer http://www.cingular.com
Color coded parentheses. Also parentheses of different shapes, ie, square bracket = french quotes, etc, but auto matched.
--
Mobile Email from a Cingular Wireless Customer http://www.cingular.com
$ make
...
MkProg: hmake: the compiler 'ghc' is not known.
Stop - hmake dependency error.
$ locate hmakerc
/var/lib/hmake/debian/hmakerc
$ hmake-config `locate hmakerc` list
Global config file is:
/var/lib/hmake/debian/hmakerc
Known compilers:
ghc6 (6.4)
/usr/bin/haskell-compiler (6.4)
/usr/bin/ghc6 (6.4)
Default compiler:
/usr/bin/haskell-compiler
$ hmake-config new
hmake-config: Starting new personal config file in
.../.hmakerc/debian
$ hmake-config add ghc
giftopnm --alpha=$file.alpha $file > $file.ppm pnminvert $file.alpha|pnmcomp -alpha=$file.alpha $file.ppm > $file.pnm
If Kerberos is not configured yet on Mac OS X (osx macos macosx) 10.4 (tiger) you'll get "debug1: Miscellaneous failure Server not found in Kerberos database" from ssh -v. The documentation at MIT Kerberos for Mac is mostly useful, but it neglects to mention that one one needs to touch a zero byte file "edu.mit.Kerberos" in /Library/Preferences in order for the "Edit Realms..." menu option in the Edit Menu to work.
It's a little unnerving that the default settings are for 7-day renewable tickets.
qsort() (redhat glibc 2.3.2-95.30) attempts to be clever with memory by switching to a different algorithm for large inputs. On my computer, the threshold is at 131459071-131459072 for 4-byte integers. Performance abruptly degrades at the threshold. It also has the unfortunate bug-hiding effect that programs can work properly with the small algorithm and fail when inputs get large enough. Finally, at large inputs, the C++ STL implementation becomes comparable. Here are some counts to the number of calls to the comparison function for an array initialized by a[0]=1 a[n+1]= a[n]*1664525+1013904223
qsort 131459070 easy 0 hard 3333417997 131459071 easy 0 hard 3333417454 131459072 easy 50294519 hard 4063553331 268435456 easy 102684870 hard 8680917338 C++ STL sort() 131459070 easy 15139169 hard 4345836000 131459071 easy 15141479 hard 4316599909 131459072 easy 15139606 hard 4470743742 268435456 easy 30917419 hard 9444799480
The columns give the number of "easy" comparisons (pa==pb for qsort; a==b for sort) and "hard". The PRNG has period 2^32 so every number is unique.
How long does it take for a satellite to orbit the earth just above the surface? The sun? Mumble gravity=centripetal force...
Continued fractions can tell if a number is rational or a quadratic surd. Is there analogous for all algebraic?
--
Mobile Email from a Cingular Wireless Customer http://www.cingular.com
Suppose teams have "energy points" to allocate to games through the season. When two teams play each other in a game, the team which had allocated more energy points will win. The teams all play against each other, in some variation of round robin. The goal is to finish the season with the best record.
Lots of variations: whether all games are played simultaneously, whether teams all begin with the same number of energy points, the outcome of each game is probabilistic on the difference or ratio of energy points, imperfect information of how many energy points the opposing team has, or started off with, or used in previous games. With unequal initial energies, the goal might be to finish with a better record than teams with greater initial energies.
Let web bookmarks be accessed a recorded voice tag, much like voice activated dialing on cell phones.
--
Mobile Email from a Cingular Wireless Customer http://www.cingular.com
Does the game of Y necessarily have to have a winner?
--
Mobile Email from a Cingular Wireless Customer http://www.cingular.com
tr![\xc0-\xff]![AAAAAAECEEEEIIIIDNOOOOO*OUUUUYTsaaaaaaeceeeeiiiidnooooo/ouuuuyty]!;What is a modern version of Archimedes's cattle problem? A problem which will require 2,000 years to solve.
Part I of the cattle problem was a set of linear Diophantine equations; Part II added quadratic Pell-equation constraints. A modern extension might add cubic elliptic-curve constraints.
Alternatively, factoring F12 will probably take on the order of 2000 years.
update: "An unusual cubic representation problem" by Andrew Bremner and Allan MacLeod.
just some unformatted notes of the harder ones.
862591559561497151050143615844796922676745216137584527768676481602284639 solution 3 [2, 1; 241, 1; 13633, 1; 5550215053208003929302852601201, 1; 23651403663025001450257295998140623, 1]
15450938044564692288746582873614059390629490453344209663962540632677447295745316740045672843724365195742523 solution 4 [2, 1; 41, 1; 24639539179251210855889, 1; 227011624723863689126629, 1; 4549697311286994681589117379, 1; 7404194459971394608150930435979, 1]
? m[5] %5 = 587135645693458306972370149197334256843920637227079966811081824609485917244124494882365172478748165648998663
[2, 1; 17, 1; 239, 1; 359, 1; 9137, 1; 52195183, 1; 3544939683290142715349, 1; 119048596986995103937710155160761091324964506194606913025949983644817, 1]
? m[6] %5 = 815061317237192195822186322581994619328922585201839922566836546496458006742605076478278502538607299555033837 [2, 2; 3, 2; 22640592145477560995060731182833183870247849588939997849078792958234944631739029902174402848294647209862051, 1] [2, 1; 5, 2; 289729071978852212063521, 1; 1562880244694956534724744409145689309637193746299406076190301328929803286807967321, 1] [2, 3; 5, 1; 7, 2; 11, 1; 19, 1; 109, 1; 35002321230253561971279870916994230549204397557833418203638668836315513707, 1] [2, 1; 54934487254227589231, 1; 6079857359179201369147, 1; 52399649852849583985441933671329, 1]
From the example in section 3.1.2 in the Certicon ECC Challenge.
? t=Mod(1,2)It's unfortunate the output is so messy.
Instantaneous Back and Forward buttons on your browser.
New preference browser.sessionhistory.max_viewers 5.
Long strings of zeros and nines compress well.
g= [10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 25, 27, 29, 32, 34, 37, 40, 43, 46, 50, 54, 58, 63, 68, 74, 79, 86, 93 ] ; for(i=1, 307, for(j=1, 30, s=(g[j]*10^i); a=precprime(s); b=nextprime(2*s); c=a*b; lc=log(c); print(ceil(lc/log(2)), " ", ceil(lc/log(10)), " ", c, " ", g[j], "*10^", i, a-s)))
Elliptic Curve Cryptography, on the field GF(2^m), appears to have 4 degrees of freedom: The reduction polynomial of the field, the fixed point P, and the curve parameters a and b.
I calculated the 1,656,521-digit number e^e^e^e = exp(exp(exp(exp(1)))). The digits surrounding the decimal point are: ... 4,745,087,021.2212029997 ...
The entire number is e^e^e^e here.
In Acrobat Reader, open this document in View | Continuous - Facing, and Maximize the window size. You should be able to read the text comfortably. This is the One True Solution to the "monitors are landscape but paper is portrait; people like to read narrow columns not wide screens" problem.
\usepackage{type1cm} \setlength{\topmargin}{-0.5in} \setlength{\oddsidemargin}{-0.5in} \setlength{\evensidemargin}{-0.5in} \setlength{\textwidth}{7.5in} \setlength{\textheight}{9in} \setlength{\footskip}{0in}
\makeatletter \renewcommand\Huge{\@setfontsize\Huge{49.76}{60}} \renewcommand\LARGE{\@setfontsize\LARGE{34.56}{44}} \renewcommand\Large{\@setfontsize\Large{28.8}{36}} \renewcommand\footnotesize{\@setfontsize\footnotesize{16}{19}} \renewcommand\huge{\@setfontsize\huge{41.48}{50}} \renewcommand\large{\@setfontsize\large{24}{28}} \renewcommand\normalsize{\@setfontsize\normalsize{20}{24}} \renewcommand\scriptsize{\@setfontsize\scriptsize{14}{16}} \renewcommand\small{\@setfontsize\small{18}{22}} \renewcommand\tiny{\@setfontsize\tiny{10}{12}} \makeatother
New York and Newark airports are having delays because other airports are not having delays. Too much volume.
--
Mobile Email from a Cingular Wireless Customer http://www.cingular.com
The National Security Agency (Information Assurance Directorate) has had quite a good track record in being ahead of the curve in foreseeing crytoanalytic breaks. DES had its S-boxes strengthed against an attack unknown at the time. DES has yet to be broken, except by brute force. As DES key strength became too small, they introduced Triple-DES, also yet to be broken. Skipjack is also yet to be broken, though it was ``almost'' (N-1 rounds in X/2 work.) SHA-0 got replaced by SHA-1 before SHA-0 was broken, and SHA-2 (aka SHA-256, SHA-384, SHA-512) has been available for a while by the time SHA-1 was broken recently. One can also tell the story that they foresaw the MD4 and MD5 breaks and the SHA series were a response.
What of the future? I think they currently recommend AES-256 for Top Secret communications, and elliptic curve cryptography for crytographic signing. Are there breaks for AES-128, AES-192, RSA, and regular DH on the horizon?
Find a preimage to the all-zeros checksum. Find a second preimage that has the same checksum as the zero-byte string.
--
Mobile Email from a Cingular Wireless Customer http://www.cingular.com
How many bits does it take to transmit one bit, authenticated, with secret-key encryption?
If you forget --disable-multilib in a solaris compile of gcc, this is what happens (during java)
/bin/sh ./libtool --tag=GCJ --mode=link /BUILD/gcc/gcj -B/BUILD/sparc-sun-solaris2.9/sparcv9/libjava/ -B/BUILD/gcc/ -L/BUILD/sparc-sun-solaris2.9/sparcv9/libjava -g -O2 -m64 -m64 -o jv-convert --main=gnu.gcj.convert.Convert -rpath /INSTALL/lib/sparcv9 -shared-libgcc -L/BUILD/sparc-sun-solaris2.9/sparcv9/libjava/.libs libgcj.la
/BUILD/gcc/gcj -B/BUILD/sparc-sun-solaris2.9/sparcv9/libjava/ -B/BUILD/gcc/ -g -O2 -m64 -m64 -o jv-convert --main=gnu.gcj.convert.Convert -shared-libgcc -L/BUILD/sparc-sun-solaris2.9/sparcv9/libjava -L/BUILD/sparc-sun-solaris2.9/sparcv9/libjava/.libs ./.libs/libgcj.a -L/BUILD/sparc-sun-solaris2.9/sparcv9/libstdc++-v3/src -L/BUILD/sparc-sun-solaris2.9/sparcv9/libstdc++-v3/src/.libs -lpthread -lrt -ldl -L/BUILD/gcc/sparcv9 -L/BUILD/gcc -L/usr/ccs/bin/sparcv9 -L/usr/ccs/bin -L/usr/ccs/lib/sparcv9 -L/usr/ccs/lib -L/lib/sparcv9 -L/usr/lib/sparcv9 -lgcc -lgcc -Wl,-R -Wl,/INSTALL/lib/sparcv9
ld: fatal: relocation error: R_SPARC_DISP32: file
./.libs/libgcj.a(prims.o): symbol
ld: fatal: relocation error: R_SPARC_DISP32: file
./.libs/libgcj.a(prims.o): symbol
ld: fatal: relocation error: R_SPARC_DISP32: file
./.libs/libgcj.a(jni.o): symbol
...etc.
I am using the patched binutils 2.15 as described in http://gcc.gnu.org/install/specific.html in the *-*-solaris2* section. The --disable-multilib flag is in that document, too.
--- Ken's blog.html 2005-04-10 13:43:05.000000000 -0400
+++ j.html 2005-04-10 13:41:46.000000000 -0400
@@ -94,17 +94,17 @@
/* Content
----------------------------------------------- */
#content {
- width:660px;
margin:0 auto;
padding:0;
text-align:left;
}
#main {
- width:410px;
+ width:70%;
float:left;
+ margin-left: 2em;
}
#sidebar {
- width:220px;
+ width:20%;
float:right;
}
Suppose an adversary with 10,000 to 100,000 machines wanted to poison a BitTorrent torrent with bogus files (spoofed files). Because BitTorrent has hashed pieces (the hashes stored in the metainfo file), this would be an attack of bogus pieces (spoofed pieces). A hacked node would advertise (to the tracker) that it has a piece but distribute bogus pieces.
To combat such an attack we would want to know quickly whether a piece was bogus, quicker than downloading the entire piece and checking the hash. Typically a BitTorrent piece is 256 KiB. For a 640MB CD-image, there 2,500 256KiB pieces, each with a 20 byte SHA-1 checksum for a torrent metainfo file of about 50 KiB.
Ideally, we want hashes at a much finer resolution, but that makes the metainfo file a lot larger. The key idea is to distribute the high-resolution file of hashes itself through BitTorrent, and do so recursively. This is very roughly the idea of Merkle Hash Trees to be part of the BitTorrent 2 (BT2) protocol.
Assume a 1 GiB file. If each 6,464-byte is hashed with a 64 byte SHA-512 (SHA2) checksum, there's 9,900,990 bytes of first-level overhead. To transfer this 9.9 MiB of hashes, we use the BitTorrent (still under attack from the spoofing adversary) we hash each 6,464 byte chunk with SHA-512 for an additional 98,029 bytes of second-level overhead. Recursing again, the third-level file of hashes is 970 bytes. The sum of the infinite series is 10 MiB, or 1% of the original 1 GiB file. The chunk size 6,464 was chosen for one-percent overhead; obviously tweakable for different overheads and checksum widths.
For downloading, the metainfo file need only contain the ``root'' checksum, and first the client would download the depth-1 portion of the hash tree. This should be easy because it's the first thing everyone downloads, so there should be lots of copies. Then using the hashes of the depth-1 level, download the next level, eventually working to the leaves which contain the actual data, in 6,464 byte chunks.
We assume no propagation of information of what peers are bad, because that is a hard problem. (Who do you trust?)
One assumes it is worth it to waste 6,464 bytes of download to mark that a particular peer (an IP / port tuple?) is bad. With 100,000 bad nodes however, that's up to 646,400,000 bytes of wasted communication. Furthermore, during the time it takes to test all those bad nodes, the adversary can change IP addresses. Ugh.
Probabilistically, though, assume the adversary only has resources to create a 100:1 bad-node to good-node ratio (this is still a tremendous number of nodes for popular files which my have hundreds or thousands of real downloaders, i.e., good nodes). Assuming a swarm size of 20, we need to ask 2,000 machines to find 20 good nodes, so wasted communication of 1980*6464=12.8 MiB of wasted communication.
from Emacs help:
C-x RET f runs the command set-buffer-file-coding-system which is an interactive compiled Lisp function in `international/mule'. (set-buffer-file-coding-system CODING-SYSTEM &optional FORCE)
Set the file coding-system of the current buffer to CODING-SYSTEM. This means that when you save the buffer, it will be converted according to CODING-SYSTEM. For a list of possible values of CODING-SYSTEM, use M-x list-coding-systems.
If the buffer's previous file coding-system value specifies end-of-line conversion, and CODING-SYSTEM does not specify one, CODING-SYSTEM is merged with the already-specified end-of-line conversion.
If the buffer's previous file coding-system value specifies text conversion, and CODING-SYSTEM does not specify one, CODING-SYSTEM is merged with the already-specified text conversion.
However, if the optional prefix argument FORCE is non-nil, then CODING-SYSTEM is used exactly as specified.
This marks the buffer modified so that the succeeding C-x C-s surely saves the buffer with CODING-SYSTEM. From a program, if you don't want to mark the buffer modified, just set the variable `buffer-file-coding-system' directly.
from C-x RET C-h
Global Bindings Starting With C-x RET: key binding --- ------- C-x RET l set-language-environment C-x RET c universal-coding-system-argument C-x RET C-\ set-input-method C-x RET X set-next-selection-coding-system C-x RET x set-selection-coding-system C-x RET p set-buffer-process-coding-system C-x RET k set-keyboard-coding-system C-x RET t set-terminal-coding-system C-x RET f set-buffer-file-coding-system
I wonder how much of a price premium people would be willing to pay for a hard drive with a lifetime warranty?
Indexing 149,000 mail messages totaling 1.21 GB took 7 hours with glimpseindex -o. The total size of the .glimpse_* index files is 368 MB. After bzip2 compression, the messages themselves are 420 MB and the index files (surprisingly) compress by 50% to 182 MB.
What are polygons all of whose vertices lie on the circumcircle? Similarly for edges on the incircle? Similarly for polyhedra?
--
Mobile Email from a Cingular Wireless Customer http://www.cingular.com

By dropping the fonts from the
symfont fix package into ~/.fonts, one can view pages
like Mathematical
Constants and Computation, Perimeter
of an Ellipse, and pages converted by TTH.
I still don't fully understand why the font gets recognized
as iso8859-1, even though the EncodingScheme is
``FontSpecific''. One also needs to use a ``recent''
(probably GTK2+) build of Firefox or Mozilla, the kind that
try to do antialiased fonts. It might be necessary to
run fc-cache to generate the index files.
jsMath displays some awesomely rendered mathematics. drop the BaKoMa Tex fonts into ~/.fonts. The fonts are supposedly also available at CTAN and mozilla mathML
Color each grid square by the bit, and remember the shape of the bits, and the letters they correspond to.
yo car caul ga pet dronex sho ambi ot wer dext ic ing rous
an con ti fig e van bo ura du it dy ble cat y ions
Scroll the mouse-wheel on the desktop to switch (and cycle) between windows of running applications. (No window manager I know does this by default, yet.)
exp(pi*sqrt(163)) = 262537412640768744 ( 2 2 2 3 10939058860032031 (2 3 5 7 13 179 (2 88 (2 2 2 11)) 6959 (2 7 7 71) 3216751 (2 3 5 5 5 4289 (2 2 2 2 2 2 67))))
{(10,0),(0,001),(001,1)} Ling
Zhao's PCP page
Prove it has no solution...
Also given in bit-flipped form as (6.15) in his Master's thesis:
{(110,1), (1,01), (0, 110)}
The handy function 1- in Lisp is
pred in Haskell, also (subtract
1) and (-1) by operator lambdas.
The two RFCs specify 2 as a generator for the prime Diffie-Hellman fields. However, 2 is not a generator: for example:
RFC 2409 - The Internet Key Exchange (IKE) 6.1 First Oakley Default Group FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A63A3620FFFFFFFFFFFFFFFF ? p=2^768-2^704-1+2^64*(floor(2^638*pi)+149686) %41 = 1552518092300708935130918131258481755631334049434514313202351194902966239949102107258669453876591642442910007680288864229150803718918046342632727613031282983744380820890196288509170691316593175367469551763119843371637221007210577919 ? isprime(p) %42 = 1 ? j=2; ? (p-1)%j %44 = 0 ? q=(p-1)/j; ? isprime(q) %46 = 1 ? Mod(2,p)^q %47 = Mod(1, 1552518092300708935130918131258481755631334049434514313202351194902966239949102107258669453876591642442910007680288864229150803718918046342632727613031282983744380820890196288509170691316593175367469551763119843371637221007210577919) ? znprimroot(p) %48 = Mod(7, 1552518092300708935130918131258481755631334049434514313202351194902966239949102107258669453876591642442910007680288864229150803718918046342632727613031282983744380820890196288509170691316593175367469551763119843371637221007210577919)
The reason is buried Appendix E of RFC 2412 (uncited): " Using 2 as a generator is efficient for some modular exponentiation algorithms. [Note that 2 is technically not a generator in the number theory sense, because it omits half of the possible residues mod P. From a cryptographic viewpoint, this is a virtue.]"
One wonders why they didn't use a multiplier (instead of 149686) for which 2 really is a number-theoretic generator.
Reply from On-Line Encyclopedia
./x.primes-2.ll.x primes 10000 | drop.pl 4 | xargs -n1 -i expr '{}' - 1 | xargs -n1 factor | perl -nlwe 'BEGIN{$f{2}=0}($a,$b)=/(.*):.* (\d+)/;$a++;$f{$a}=$f{$b}+1;END{print "$f{$_} $_" for(keys %f)}' | sort +0n +1n | perl -nwae 'BEGIN{$p="-1"}print if $p!=$F[0];$p=$F[0]'
Better is
./x.primes-2.ll.x primes 2000000 | drop.pl 4 | xargs -i expr '{}' - 1 | xargs factor | perl -nlwae 'BEGIN{$f{2}=0}($a=$F[0])=~s/://;shift@F;$m=0;for(@F){if($f{$_}>$m){$m=$f{$_}}}$f{++$a}=$m+1;END{print "$f{$_} $_" for(keys %f)}' | sort +0n +1n | perl -nwae 'BEGIN{$p="-1"}print if $p!=$F[0];$p=$F[0]'
First difference is at 239 (238: 2 7 17).
./x.primes-2.ll.x primes 2000000000 | drop.pl 4 | xargs -i expr '{}' - 1 | xargs factor | perl -nlwae 'BEGIN{$f{2}=0;$x=0} ($a=shift@F)=~s/://;$m=0; for(@F){if($f{$_}>$m){$m=$f{$_}}} $f{++$a}=++$m;if ($m>$x){print $a;$x=$m}'
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
The 42nd known Mersenne prime 225964951-1 was discovered recently. The minus-one factorization of the exponent is 25964951 (5 5 11 17 2777 (2 2 2 347 (2 173 (2 2 43 (2 3 7))))).
The huge pages of ``random'' characters inspire the Word-search Problem: given a string S, and a target word T (or a list of target words), find T= S[a]S[b]S[c]... where the indices a,b,c... are in arithmetic progression.
One must query a RSS feed continuously to get real-time updates, which will usually get you banned (try the Coral distribution instead). Is there a better "push" solution?
Yes. IRC.
What if all network cards had GPS receivers? They would provide the link between the physical and cyber worlds.
--
Mobile Email from a Cingular Wireless Customer http://www.cingular.com
I have drunk the XML Kool-aid, also the Perl References Kool-aid.
#!perl -wl
use XML::Parser;
use LWP::Simple;
$content=get("http://earthquake.usgs.gov/recenteqsww/catalogs/eqs1day-M2.5.xml");
my $xml=new XML::Parser(Style => 'Tree');
$f=$xml->parse($content);
exit unless $$f[0] eq 'rss';
@g=&findelement('channel',@$f[1]);
@items=&findelement('item',$g[0]);
for (@items) {
@s=&findelement('dc:subject',$_);
die unless @s==2;
$mag=&intext($s[0]);
$post=&intext($s[1]);
$title=&gettext('title',$_);
$link=&gettext('link',$_);
$date=&gettext('description',$_);
print "$title\n$date\n$link\n$mag $post\n";
}sub findelement {
my ($tag,$val); my @ret; my ($target,$arr)=@_;
@_=@$arr;
shift; #throw away attribute hash
while (@_) {
$tag=shift; $val=shift;
push @ret,$val if ($tag eq $target);
}
@ret;
}
sub gettext {
my ($target,$arr)=@_;
my @t0=&findelement($target,$arr);
&intext(@t0);
}
sub intext {
my @t1=&findelement('0',$_[0]);
$t1[0];
}
Suppose you have random decimal data, for example decimal digits of pi, and you want random bits. Take 28 digits at a time and get 93 bits out (2^93 = 0.99035e28), rejecting if the value is too large.
For the other direction, take 196 bits at a time and get 59 digits out. 2^196=1.004336e59.