

Did anybody solve this? - jgrahamc
http://1.61803398874.com/

======
jerfelix
Spoiler Alert!

The answer is rethingdb. Apparently an ad for rethinkdb.com:

    
    
        >>> print "".join((chr((ord(x)-int(y)-ord("a"))%26+ord("a")) for x,y in zip("xfbhlqtlj","61803398874")))
        rethinkdb

~~~
krakensden
You know what's sad? I knew that just from the job description. I'm not sure
if that means I've spent far too much time on HN over the years, or if there
is a real dearth of startups doing systems-level development.

------
ryanlchan
Read up on the Vigenere cipher on Wikipedia. If you still aren't getting it,
reconsider which direction you are shifting the cipher text in accordance with
the key. Good luck!

(Or do some social engineering and figure out which db company has a 9 letter
name.)

------
gwillen
Does anyone here have any idea what they mean about naive C and python
solutions? Normally I take 'naive' to mean 'bad but not wrong', but their
question seems to imply that one or the other of the 'naive' solutions they
have in mind is wrong, and I'm not sure what obvious way there is to write it
wrongly in one of the languages and produce different results.

------
kuriraisu
Yes. Use the modulus implementation of the vignere cypher. Then look up how C
and python handle modulus.

~~~
etrain
The latter half of the challenge was much more interesting to me. I'm a
C/Python guy but didn't know the subtle language difference here.
Additionally, in figuring out the difference, I learned that the C
implementation takes almost the same # of characters as the python one..

------
munin
I like how they changed the text from "In your e-mail, please explain why C
and Python solutions to decipher the string above return slightly different
results."

they added "naive" and "might" ...

------
a3_nm
Also, did anyone solve their "canine challenge"? It seems to me that what
they're asking for is "tee FILE... > /dev/null", but maybe I'm missing
something?

~~~
dexen
The only problem with `tee' is that it's hard to find it unless you know where
to look -- took me some 2 years.

<snark warning>

Perhaps the real challenge here is sticking with the team that produces
_incredible qunatities of code_ , as they put it, and will rather re-implement
_tee_ than find it. I wonder if they implemented own virtual memory with on-
demand paging yet ;-)

</snark warning>

~~~
mvgoogler
Except that if you read the problem statement, you'll see that tee doesn't
meet the requirement of 'taking advantage of all available I/O parallelism'.
Tee writes to each output file sequentially.

Given that their core business is data-stores that take full advantage of
emerging storage technologies (such as flash), this seems like pretty relevant
question.

~~~
a3_nm
I did read the problem statement, but I thought tee was writing to all files
in parallel. It's surprising that there seems to be no way to achieve that.

~~~
dexen
Tee writes in one-thread-per-file level of parallelism; simple experiment:

    
    
      $ tee foo.bin bar.bin baz.bin < /dev/zero
    

writes to all three files `at once' (in small time-slices, actually). Used GNU
tee from coreutils-8.10.

Perhaps OP meant several-threads-per-file level of parallelism, where
number_threads > number_files?

~~~
mvgoogler
tee has a simple main loop:

    
    
      while not EOF: 
        (synchrounously) read up to BUFSIZE bytes from stdin into buf 
        for each output file: 
          (synchrounously) write buf to file
    

(source code here:
<http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/tee....>)

All of the reads and writes are done through synchronous file apis. I don't
see where you are getting one-thread-per-file (or any other kind of
parallelism) there.

------
dli282
Yes. The secret URL is rethinkdb.com The key 61803398874 corresponds with the
letter of the alphabet with a as 0. Enjoy!

~~~
gujk
It also works with a as 7.

------
emmelaich
.. and did you get bonus marks for recognising the Golden Ratio? Or is that
too obvious?

~~~
chosen1x
It's not that hard. ROT to the left 61803398874 times. Then re think your
answer. ;-)

------
joe_bleau
Sure, I did it by hand. Not sure it was really challenging enough to impress
me, though.

