Hacker News new | comments | show | ask | jobs | submit login
Reddit is hiring (reddit.com)
27 points by jedberg on Aug 19, 2010 | hide | past | web | favorite | 38 comments

I'm a fan of Reddit, I think working there could be a smart resume / connection building move, but:

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)

They are going to get flooded with job apps because they have a community of geek users who love them. It's actually another reason not to apply; supply/demand works in your favor right now almost everywhere else but at Reddit.

Kind of the same reason you don't want to work for a game company.

That's a silly reason not to apply. If anything, you can feel good knowing that you beat the crowd.

That's a great reason to apply if you suffer from the delusion that your time and effort are worth zero dollars. It's worth considerably more than that.

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.

I think plenty of people will solve this just for the fun of it, even if they're not interested in applying, maybe reddit is selecting for people that are not totally focused on how much their time is worth all the time.

Oh, solve the puzzle. That'll take no time at all! It's the actually applying for a job bit that'll consume time and energy.

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..."

That's going to be a meeting between you and either one of Rivest, Shamir or Adleman :)

This is all true. reddit is a great place to work if you want to learn a lot, get some great experience, and have a really strong influence on the product. But it is not a startup -- there is no big upside.

And I don't think Hipmunk is hiring yet. :)

I met the reddit guys for breakfast one day maybe six months ago. I had left my job, been hacking on a website for several months, launched. I was trying to show it to someone new in person everyday. I was trying for all sorts of people.

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.

Aww shucks. Thanks!

ps. Still looking for a job? :)

So is readwarp your main thing now?

It's funny, still hard for me to think of Reddit as not a start-up, but I guess I'm running at least two years behind - http://blog.reddit.com/2009/11/moving-to-cloud.html - :)

Appreciate your response - hope you guys find somebody great and certainly HN is the right place to start.

I think one of the better upsides is the chance for people to work at scale with a small team where they still have a lot of influence.

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.

Let's hope they don't need to do a DNS update or they're going to have to allow multiple 'good' answers.

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 ;)

You don't have to check out the repo (I didn't). It takes five minutes or so to solve, so it's not that time-consuming if you are at least a bit technical.

I had no idea what the hell the \a character was, I do now, so I just checked out the repo (only 19M).

But I'm glad they gave a way to check if you got it right without applying.

I only suspected what it was, but 30 seconds of Googling were enough even if you didn't know it...

Yes, you can just use the alternative clue for that.

Yep, easier to find, too.

But sooo much less fun. When I started, I was doing the following:

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.

Google "ETAOIN SHRDLU" to see the principle you just rediscovered. =)

Actually still handy in cryptanalysis.

I don't know why they gave away the \a clue; you'd think they'd want to select for people who want the job bad enough to actually have a Reddit checkout.

Two out of the four terms are things that a seasoned programmer would know by heart, one selects for either IBM mainframe programmers or people that know how to use git, the first is an easy lookup.

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.

Not a seasoned programmer by any means, have only heard of (and seen) people using git, and not an IBM mainframe programmer by any stretch of the imagination. Heck, not even a programmer, really - I'm a "business" dude.

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.]

Bonus exercise: find the shortest string fragment in that screenshot that returns the mail address if typed into Google. My best out of three quick tries is 14 letters, but I'm sure that's possible to beat.

Well, I can just search for the Pastebin id, which is is 8 characters long, and it works.

Curiously, no results show up on Bing though - even for the answer string.

Or we just update it so it evals to the same answer. :)

Interesting sub-problem, work out how many possible combinations there are given that SOA serial numbers have to be monotonically increasing and you need the same number of '1' bits in them.

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?

2,380,770 (ie, "enough"). Most of the wiggle room is in the less-significant bits, so the SOA serial is easy to fit to the requirement.

Hm, I get 22,540,845.

Now you have me worried :)

The serial number is 31 bits long. I brute forced it, with the dumbest ruby one-liner ever (it involved 'count("1")').

Serial numbers are unsigned 32 bit numbers as per http://www.ietf.org/rfc/rfc1035.txt aren't they?

No; the RFC says the largest serial is 0x7fffffff.

Hm, that's confusing, the one RFC linked above says:

"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)


" 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.



Did anybody get a reply from reddit if you sent an email to the solution? I am wondering how long should I wait to be vindicated.

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 made a serious attempt to solve the problem, and got three alpha-numeric characters followed by a null byte, I'd say you're pretty much guaranteed to 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 :-)

I've been replying as quickly as I can. If you said anything that requires more than "Yep, you got it" it'll take a little longer.

That is one damn cool application process!

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact