http://motls.blogspot.cz/2012/11/superstringy-compactificati...
6,967 karma · joined May 11, 2009
my public key: https://keybase.io/jasondavies; my proof: https://keybase.io/jasondavies/sigs/o-G2i_Yz96jhxicAOnKvs0rz0UyCZLNU-p0uvccNc2g
http://motls.blogspot.cz/2012/11/superstringy-compactificati...
My Spanish is somewhat rusty so I didn't know it also meant boss. :)
It's reasonably simple to prove using the fact that every twin prime pair except (3, 5) is of the form (6n − 1, 6n + 1).
nnoremap / /\v
vnoremap / /\v
This will save me a lot of time. Thanks, Steve!https://github.com/jasondavies/radixsort.js
I haven't finished implementing the Float64Array version, but it beats everything else I've compared it with even for relatively small sizes e.g. my benchmark is 65,536 floats and it's already around 2.5x faster than native sort (using Node.js)! Admittedly, Float32Array vs. native sorting of 64-bit floats is not a fair comparison, but you could argue that many applications would get away fine with 32-bit floats anyway. :)
I occasionally get gzipped data back from Wikipedia (even though I explicitly set Accept-Encoding in the proxy) - I think it's due to their intermediate caches not respecting the Vary headers. I plan on adding gzip support soon to rectify this, but until then, you can get around it by adding ?foo to the end of the custom URL.
Yeah, I'll definitely try the randomised greedy algorithm when I get time, I think it should be fairly straightforward now that I have the sprite collision primitives in there.
No problem at all if you want to reimplement in another language, the license is BSD: https://github.com/jasondavies/d3-cloud/blob/master/LICENSE
I'm guessing it will be blazingly fast using the bitwise operations in C/C++. :)
Yes, I've thought about using invisible silhouettes, which presumably is how http://www.tagxedo.com/ works. The placement algorithm might be a bit different though, perhaps starting at the centroid of available areas and so on. I think it would work better to have a smaller pool of words and allow reuse, or alternatively they could be sized randomly (perhaps with some weighting).
The sprite collision code could certainly be reused for this, though!
Minor correction: I implemented hierarchical bounding boxes separately, as per Jonathan Feinberg's paper, but they turned out to be slower in all the cases I tried (even large words and areas). I was also using a quadtree to cut down the number of comparisons with previously-placed words.
In my version, once a word is placed, I copy it to the relevant position in a large sprite representing all the words placed so far. So placing a new word means it only needs to be compared with the candidate area of the large sprite, rather than multiple comparisons with all previously-placed words.
I'd like to try a hierarchical sprite version, where you compare against coarse-grained sprites first of all. This would essentially be a quadtree. The implementation would be a bit trickier because I'm also compressing blocks of 32 1-bit pixels into 32-bit integers, which also helped with performance.
I think what you're referring to is also known as stereoscopy.
mms://proedvid.stanford.edu/videocontent/knuth/musings/111208/111208-knuth-500.wmv
It seems to work in mplayer.
So presumably they don't currently optimise for mutual incompatibility. Quick, file a patent. :)
See this long-standing issue: http://code.google.com/p/android/issues/detail?id=1376 where their stated reason for leaving out SVG was to save 1MB of space in the WebKit image size.