5,605 karma · joined June 3, 2009
[ my public key: https://keybase.io/michaelfairley; my proof: https://keybase.io/michaelfairley/sigs/x20u7wynQvXsQ1nPkc0bf816WB13Uz5r0KbiIfOCCOc ]
baz(foo).expect(format!("Cannot do baz, foo={}", foo)).bar().expect("Cannot do bar");Also, you can easily run 10s of thousands of kernel threads (provided you decrease the threads' stack size).
As far as PCI compliance, Braintree.js minimizes your PCI scope as much as tokenization. As long as you serve your site over SSL and maintain adequate security around access to servers, administrative passwords, etc., when using Braintree.js, you'll fall under SAQ A (the lowest possible PCI scope for online merchants).
If you build a webapp in Go, be prepared to spend a lot of time monkeying around with problems that are solved issues on most other platforms.
a ^= b
b ^= a
a ^= b1: http://golang.org/doc/go_faq.html#unused_variables_and_impor...
This is a really, really bad hole, and you should patch or upgrade ASAP.
1: https://www.pcisecuritystandards.org/documents/pci_saq_a_v2....
(Disclosure: I work at Braintree)
All that said, Dragonfly is a great choice for most people.
On the read path, HTTP is really nice because browsers, caches, and CDNs all speak HTTP.
In an ideal world, Photon would be running on boxes that store the files themselves, and some sort of intelligent load balancer would make sure that the requests get directed to the correct box.
1: http://www.iftf.org/system/files/images/Screen%20shot%202011...