1,457 karma · joined February 16, 2011
[ my public key: https://keybase.io/wulczer; my proof: https://keybase.io/wulczer/sigs/g46dYvOOsEpYFfTEQUY4Hwj5x_gO3JSvfDNXnd4pjvI ]
//person[@alive="true"]/pets//dog[@hair="long"]/*/flea[@name]That made my day.
XML is out there, has lots of tools and libraries and is actually useful for some things. Not to mention the array of technologies around it, like XPath, XQuery etc, that JSON is lacking (probably because it doesn't need it, because these formats do address slightly different requirements. Gasp!).
-O2 means "take more time compiling but produce faster code". This hint will always be valid and useful, regardless of how the codebase changes. Query planner hints can become obsolete as the data distribution changes.
-fwrapv and -fno-strict-aliasing are correctness settings
-Wxxx are just help for the developers
As for GCC, it's usually up to the packagers, but the source tree after running ./configure gets compiled with:
-O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapvIt genuinely made me laugh :)
Making desing choices is OK. The authors admits that relational databases have different design goals and thus comaring them directly is necessarily comparing apples to oranges.
What is true and wise is that non-relational databases have been around for much less time, have less theoretical background, the development teams and DBAs are less experienced with them, etc.
I remember reading through the Bind file and seeing
# >10k machines? NEVER!
streamer0001.xxx...Of course that does not help if you construct the entire query string as text before sending it to the server, which is how SQL injection most commonly happens.
~$ for x in colo{,u}r.com; do echo $x; dig +short $x; doneAn elite hacker broke into a government system and found the code of a secret NASA project. He tried to download it, but the sysadmins noticed the intrusion and eventually cut the hacker off. He only managed to get the last 40 kB of the source file and unfortunately, because the project was written in Lisp, it contained nothing but closing parens.
Same for spam filtering, automatic reporting using the "+" links etc. At some scale level keeping up any service becomes a nontrivial task.
george.roar(); // displays: "George, the lion ROARS!!!"