Explain xkcd: It's 'cause you're dumb.
The comic specifies a function (in a C-like syntax), which judging by its name should be designed to return a random number. Most functions of this form are random number generators, meaning that on subsequent calls they return different random numbers. But the programmer has instead implemented a function that just returns always the same random number; which, while it could indeed have been truly randomly chosen by rolling a die as the comment documented, is essentially worthless were it ever to be called more than once (with the expectation of different, i.e., random, results). In other words, the results over time would not be random at all, but completely predictable and deterministic.
The IEEE is the organization responsible for maintaining a number of computer standards. An RFC, or Request for Comments, is a formal document put out to computing experts by IETF in the hopes of becoming a future standard. However, RFC 1149 was an April Fools' joke, defining how carrier pigeons can be used to transmit Internet packets. "RFC 1149.5", meanwhile, simply does not exist.
return 4; // chosen by fair dice roll.
// guaranteed to be random.
add a comment! ⋅ refresh comments!
The syntax looks like perfectly valid java to me.184.108.40.206 22:00, 11 March 2013 (UTC)
Looks like Java to me too. 220.127.116.11 (talk) (please sign your comments with ~~~~)
- How can Java come to mind when it is pure C syntax, which predates Java by several years and is arguably better known. A feature of most languages is that they have a "C-like syntax". See, a whole page on Wikipedia - http://en.wikipedia.org/wiki/List_of_C-based_programming_languages 18.104.22.168 19:53, 22 August 2013 (UTC)
- "C-like syntax" is the best explain, this covers all. Even when I disagree that it's better known than Java these days.--Dgbrt (talk) 21:04, 22 August 2013 (UTC)
- Just to be particularly pedantic, the double slash for the comment (which is generally utilised in object oriented C-style languages) should be avoided in C to retain backwards compatibility with C89, although it's a valid construct in C99. I'd offer, too, that the lack of library inclusion suggests this isn't necessarily Java, though it's been a couple years since I've had the opportunity to code in it. Thokling (talk) 15:35, 20 September 2013 (UTC)
As a proof of good joke, RFC 1149 was successfully implemented several times. -- Hkmaly (talk) 08:55, 11 May 2013 (UTC)
Actually, a poor “random” function like “return 4;” would be quickly determined by statistical test tools (Diehard, Dieharder, etc.) to generate very poor random number. Samiam (talk) 19:55, 28 October 2013 (UTC)
- The number is random, I'm sure Randall really did this "fair dice roll". And even the name of the function is correct, it just returns a random number. A programmer would expect a random number generator, but Randall can't roll the dice all the time.--Dgbrt (talk) 21:37, 28 October 2013 (UTC)
- <<sound of crickets chirping>> 22.214.171.124 02:24, 6 February 2014 (UTC)
- Playstation 3 jailbreak reference?
Isn't this a reference to Sony Playstation 3's random number generator function that allowed to discover the private key to 3.55 firmware? 126.96.36.199 (talk) (please sign your comments with ~~~~)
- The comic is from February 9, 2007. The 3.55 firmware was released December 7, 2010. 188.8.131.52 (talk) (please sign your comments with ~~~~)