Indeed. But that's a different class of problem. Or are compilers optimising constant time comparison routines to not run in constant time these days?
Use a language that does bounds checking automatically. Its not the 1970s any more.
(I hope the sarcasm in my comment was obvious.)
Programmers are human. They'll make a ton of mistakes
Humans make certain classes of mistake. Things like array bounds checking are really easy to miss.
If only machines were good at this stuff. How come we don't have any languages that do this for us yet?
1) Go is a modern "better c from the people who didn't bring you c++"
2) Go is designed from scratch to make concurrent programming simpler, and believe me they achieved this.
3) Go is fast, portable, lightweight, simple.
4) Go is designed and worked on by the likes of Rob Pike & Ken Thompson.
5) Programming in Go "feels" like c, but with the simple expressiveness of a scripting language. It's both low level and high level, depending how you use it.
6) The standard library is really good, especially given that go 1.0 only came out in 2.12
7) The community is even better.
And they achieved this without DRM as a part of the standards.
Just like it did for music?
Someone did I believe, but it doesn't support encrypted root filesystems out of the box.
Also your eyes get to see the unencrypted content. You have to trust that your eyes know what they are doing and how to keep a secret.
You can do that with your hosts file instead. Or use an alternate DNS server. Or run your own. (etc.)
Saying that someone can understand my code because I followed some coding standard is like saying someone can understand the rocket engine I built because I used standard sized screws to assemble it.
Having kids is no excuse. I do have kids and admittedly its more tempting to "give in" but I still manage not to support the MPAA or RIAA at all.
I don't think they are trying to "validate" bittorrent. That's just a side effect of what they are doing. They are simply using one of the most efficient and cost effective ways of distributing data because it helps them, and possibly makes a better experience for the users.
freenet offers anonymity but they don't really need that here. Bittorrent also offers fault tolerance, doesn't it?
Including the freedom to take away other peoples freedom, I suppose?