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 as it could simply be replaced by a "4" wherever it is used. In fact, most modern compilers would do this optimization automatically.
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. The RFC 1149.5 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.220.127.116.11 22:00, 11 March 2013 (UTC)
Looks like Java to me too. 18.104.22.168 (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 22.214.171.124 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>> 126.96.36.199 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? 188.8.131.52 (talk) (please sign your comments with ~~~~)
- The comic is from February 9, 2007. The 3.55 firmware was released December 7, 2010. 184.108.40.206 (talk) (please sign your comments with ~~~~)