709 karma · joined March 20, 2009
http://github.com/Nycto
http://www.lalit.org/lab/javascript-css-font-detect
It looks incredibly delicate, but it seems to work.
Also, I blocked their flash script and reloaded the page; My fingerprint changed, but I was still a unique butterfly. An absence of fonts is also distinguishing characteristic.
http://en.wikipedia.org/wiki/Credit_card_fraud#Skimming
How is this any different?
http://en.wikipedia.org/wiki/Base64
While we're on the subject, Ascii85 is kind of a cool alternative. By increasing the number of characters used for the encoded string and breaking a 32 bit integer apart in an interesting way, it is able to reduce the expansion down to 25%. For every 4 characters in, 5 come out. Again, more info is available on Wikipedia:
http://74.125.155.132/search?q=cache:http://www.kalzumeus.co...
It's also worth noting that PHP will most likely be adding Traits into the core language at some point. A patch has been available since 2008:
http://wiki.php.net/rfc/traits
Hell, if you really need traits (you don't), apply the patch. Just don't mutilate your code base.
- You have reduced the cyclomatic complexity of each class, which makes the code less fragile and easier to unit test.
- When adding a new operator, you are now forced to implement everything it needs to work. If you don't define a method, it won't compile. This is not the case with a long list of if/else statements.
- "You still need a nest of conditionals when you populate the tree..." This is true, but now all the conditionals are in one place, rather than two (in their example, toString and evaluate). Again, this will make testing easier.
Wikipedia offers a much better walk-through of what it is and how it works:
This article was posted a little while ago, and I thought it gave a very good, non-partisan account of gotos: http://david.tribble.com/text/goto.html
http://wiki.github.com/madrobby/scriptaculous/slider
(though it doesn't look like their wiki has a working demo?)