a) You work as a contractor, are not guaranteed to be hired as an employee anytime soon, receive no benefits and no stock.
b) The company has already been acquired.
c) Reddit's corporate overlords seem most interested in pumping the asset vs. expanding, may be a stifling environment.
If it was me I'd do the app but send it instead to Hipmunk (Reddit co-founder's new start-up)
Kind of the same reason you don't want to work for a game company.
I'm not knocking anyone for applying. I'm saying that many people will apply for reasons other than economics, which is going to distort the actual economics of applying. It's a good thing for Reddit.
We should do an Internet scavenger hunt in this style sometime. "The answer is the ASCII string formed by passing the result of A * B * C * D * E * F * G * H modulo I through SHA1 when the initial value of the SHA1 'a' register is J..."
And I don't think Hipmunk is hiring yet. :)
By the time we finished breakfast, I blurted out, "So, y'all hiring?" They're just that cool.
It doesn't always have to be a startup.
ps. Still looking for a job? :)
Appreciate your response - hope you guys find somebody great and certainly HN is the right place to start.
I'm in the same position currently and it certainly adds a ton of value to the work.
Plus maybe it would teach some of the armchair scaling experts why they are almost always wrong about what they "know" is a simple solution.
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 ;)
But I'm glad they gave a way to check if you got it right without applying.
ryan@newslily /tmp/reddit $ find . |grep |xargs grep $foo |wc -l
ryan@newslily /tmp/reddit $ find . |grep |xargs grep $bar |wc -l
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.
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
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)
" 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.
By the way, to get around the problem of slow, asynchronous bounce for the wrong solution address, I connected over SMTP to see if the answer email address(recipient) is valid or not for reddit.com. You can probably use that as a quicker test to validate if you have the right answer.
If you want to triple-check, I registered an HN user with that name at about the same time jedberg submitted this entry. Don't want to spoil his fun, though, so I'm not going to post anything with that name just yet :-)