Very funny way of weeding out the non-coders. I also hope it will stay secret long enough and that the reddit repository can handle the traffic ;)
Very funny way of weeding out the non-coders. I also hope it will stay secret long enough and that the reddit repository can handle the traffic ;)
ryan@newslily /tmp/reddit $ find . |grep |xargs grep $foo |wc -l
ryan@newslily /tmp/reddit $ find . |grep |xargs grep $bar |wc -l
etc. etc.
But the nerd in me went "Well I wonder how many times each character occurs?", so I wrote a python script to find each unique character, then count how many times it occurs. (Somebody in the comments pointed out that I could have done this with awk, but still: much less fun to use a canned solution).
The most common character in the html files is the letter "e", which occurs 32880 times.
If you take the top 8 characters from them, in descending order, they spell "etinsaor", which I assume is some sort of alien dinosaur.
If you take them in ascending order, it is "roasnite", which I assume is some sort of radioactive material from another planet that they use to power the servers.
Actually still handy in cryptanalysis.
But I'm glad they gave a way to check if you got it right without applying.
All in all not that much of a stumbling block for anybody determined enough, but I think it will drastically cut down on the number of unusable applicants as long as the answer isn't leaked.
Alternatively they could leak a false answer themselves and disqualify anybody that sent mail to the false answer.
Everything was an easy lookup though - and a quick Googling of the answer turns up a few anonymous nobs who've already put it up on various Pastebin-type places already!
And one not-so-anonymous non-nob HNer who seems to have deleted a tweet, but The Google Never Forgets (tm) :) You know who you are!
[Edit: on second thoughts, removing link to screenshot, even though it was heavily edited to avoid spoilers.]
Curiously, no results show up on Bing though - even for the answer string.
Hey, there is actually a slight ambiguity in the specification there, after all you could be referring to the serial number as used in the DNS or the ascii characters representing that serial number in the record.
Those would have different numbers of '1' bits. Are there two valid solutions or just one?
Now you have me worried :)
"SERIAL The unsigned 32 bit version number of the original copy of the zone. Zone transfers preserve this value. This value wraps and should be compared using sequence space arithmetic. "
Whereas the other says:
"Serial numbers may be incremented by the addition of a positive integer n, where n is taken from the range of integers [0 .. (2^(SERIAL_BITS - 1) - 1)]. For a sequence number s, the result of such an addition, s', is defined as
s' = (s + n) modulo (2 ^ SERIAL_BITS)
"and
" Addition of a value outside the range [0 .. (2^(SERIAL_BITS - 1) - 1)] is undefined."
Where SERIAL_BITS apparently is the 32 from the other RFC.
So you can add serial numbers as long as they're below or equal to 0x7fffffe but the result of the addition is still a valid serial number, and you can happily increment past 0x7ffffffe only you're no longer allowed to add that number to another serial number.
http://tools.ietf.org/html/rfc1982
Interesting.