Slashdot Mirror


Mystery Company Recruiting Talent With a Puzzle

An anonymous reader writes "Google has previously used coding competitions to locate top talent. In a new twist on the idea, an anonymous tech company is posting a help-wanted ad that challenges developers to find out who the company is. A little digging and text mashing reveals a website containing a Web 2.0 puzzle that makes notpron look like child's play. So, fellow developers, who is this company, and, well, what is the significance of the date '01-18-08?'" Update: 12/12 20:20 GMT by KD : Replaced link to a removed Craigslist ad with a mirror.

22 of 354 comments (clear)

  1. One word... by DigiWood · · Score: 5, Informative

    Cloverfield. 01-18-08 is the release date.

    --


    Nothing is impossible. It just hasn't been figured out yet.
  2. Here's a brain teaser... by __aaclcg7560 · · Score: 5, Interesting

    If the mysterious company makes you jump through hoops to get into the door, will they jump through hoops to make you feel like a valued employee or just break out the whips since you're lucky to have the job?

  3. Save some time by madsheep · · Score: 4, Informative

    If anyone wants to save some time (like 30-60 seconds) with Base64 to Ascii:

    eyAnOicgPT4gJycsICcgJyA9PiAnLScsICdzXG4nID0+ICdzLmNvbVxuJyB9 converts to { ':' => '', ' ' => '-', 's\n' => 's.com\n' }

  4. Anonymous Coward? by Crimsane · · Score: 5, Insightful

    I'll bet you dollars to donuts that that company creating all of this is the same one to submit the story.

  5. You're always looking for ways to eliminate waste by FooAtWFU · · Score: 4, Funny

    5. You're always looking for ways to eliminate waste, at all levels of development.
    How ironic!
    --
    The World Wide Web is dying. Soon, we shall have only the Internet.
  6. Here's the contact info (spoiler warning) by mukund · · Score: 4, Informative

    Just base64 decode the string that appears to be made of random chars. You get:

    { ':' => '', ' ' => '-', 's\n' => 's.com\n' }

    Apply that to the subject in the contact details. You get:

    http://wanted-master-software-developers.com/

    That was pretty easy. The test then seems to move to web programming and I'm not interested.

    --
    Banu
    1. Re:Here's the contact info (spoiler warning) by corychristison · · Score: 4, Insightful

      As I had figured... it indeed is an IP address.

      1: dollar and daily universal register had the year 1785 in common. 1785%100 = 85
      2: the date of transition (=>) between the two rulers was 512. 512/2-1 = 255
      3: Sherman Anti-Trust and Van Gogh have the year 1890 in common. 1890/9 = 210
      4: Tycho's supernova was in 1572. 1572/12 = 131

      Going here: http://85.255.210.131/

      Only reveals 'yes';

    2. Re:Here's the contact info (spoiler warning) by Anonymous Coward · · Score: 5, Insightful

      That's TinyURL's IP. At the bottom it says /* 34w4wa */

      http://tinyurl.com/34w4wa redirects to http://groups.google.com/group/wanted-master-software-engineers

  7. l33t spe4k by frietbsd · · Score: 4, Funny

    eyAnOicgPT4gJycsICcgJyA9PiAnLScsICdzXG4nID0+ICdzLmNvbVxuJyB9 (3548, 4648)

    "eye and i......"

    my l33tspeak isnt what it used to be.

  8. Significance of the date "01/18/2008" by Sara+Chan · · Score: 5, Funny

    The significance of the date "01/18/2008" (the eleventh question) is that the company is American and does not use ISO date formats. The particular date is unambiguous, but in general that is not true with their format, e.g. "02/03/2008" could mean either February 3rd (for American readers) or March 2nd (for European readers). ISO is the global standard, and the format removes ambiguity: 2008-01-18. A small additional benefit is that it makes sorting trivial.

    If these people were really as committed to quality as they pretend to be, they would be promoting the ISO format, to facilitate less-ambiguous global communication.

  9. it decrypts to... by 2020steve · · Score: 5, Funny

    "Drink more Ovaltine"

  10. dear applicant 63B: by circletimessquare · · Score: 5, Funny

    we would like to extend a job offer to you.

    by hitting upon the clever solution of submitting the puzzle to slashdot as a story subject and letting random slashdot commentors solve the puzzle for you, you have displayed a high level of ingenuity and cleverness. we therefore would like to hire you as the manager of the 3 other programmer applicants who slogged and plodded it out and solved the puzzle through brute mental force on their own. your salary will be 250% of theirs.

    congratulations again,
    anonymoustech inc.

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
  11. Re:Base64 by jcaldwel · · Score: 5, Informative

    Its a find-and-replace that turns the title:
    Wanted: Master Software Developers

    Into:
    http://wanted-master-software-developers.com/

    ... and the test continues...

  12. Difficult test? Hardly. by Anonymous Coward · · Score: 4, Funny

    f = function(d) {
        TDD.assertEquals = function () { return true }
    }

    ...I mean, come on guys, at least design your test to be a little resilient to people who grok JavaScript.
  13. Maybe... by msauve · · Score: 5, Funny

    but it's also my birthday. Do I get the job?

    --
    "National Security is the chief cause of national insecurity." - Celine's First Law
    1. Re:Maybe... by rhadc · · Score: 5, Funny

      far out. you're not even born yet.

    2. Re:Maybe... by QuickFox · · Score: 4, Funny

      He must be very, very new here.

      --
      Terrorists can't threaten a country's freedom and democracy. Only lawmakers and voters can do that.
  14. Source code by Raynor · · Score: 5, Informative

    Am I the only one who grabbed their /js/ and peeked at the code...

    "// Note: It is not necessary to reverse-engineer this file in order to complete the contest"

    I did no testing of any sort... inside framework.pack.js it says

    p.setAttribute("title","list, uniquify, relativity");
    p.appendChild(document.createTextNode("Ford's, success, has, the, country, almost, financially, industrially, mechanically, exhibits, in, higher, than, persons, have, thought, possible, contradictory, requirements, of, efficiency, increase, great, workers, cost, consumer, And, cost, cost, consumer, And, cost, cost, consumer, And, workers, workers, workers, workers, to, repeated, great, increase, quality, increase, great, great, increase, quality, efficiency, efficiency, which, are, of, contradictory, contradictory, requirements, of, possible, have, have, thought, possible, have, have, persons, than, than, most, persons, persons, than, most, exhibits, exhibits, exhibits, exhibits, financially, financially, financially, financially, almost, the, the, country, almost, Ford's, Ford's, success, has")); ... That was easy.

    --
    "Dictator Flakes. They WILL be delicious."
    1. Re:Source code by marcansoft · · Score: 4, Informative

      Crap, I'm a moron. I had a bug in the regular expression, and I managed to work around it with the other code, causing the problems. This caused the code to insert a 0 between everything, yielding the alternating +/- numbers, and the "o" oddity was caused by two separators together in the source text.

      Turns out all you need is one differentiation and a non-retarded regular expression that doesn't insert empty words between each pair of non-word characters.

      I've also made the variable names resemble less those of the problem (read: not single-character madness). And added some comments.

      #!/usr/bin/python

      import re

      data = "Ford's, success, has, the, country, almost, financially, industrially, mechanically, exhibits, in, higher, than, persons, have, thought, possible, contradictory, requirements, of, efficiency, increase, great, workers, cost, consumer, And, cost, cost, consumer, And, cost, cost, consumer, And, workers, workers, workers, workers, to, repeated, great, increase, quality, increase, great, great, increase, quality, efficiency, efficiency, which, are, of, contradictory, contradictory, requirements, of, possible, have, have, thought, possible, have, have, persons, than, than, most, persons, persons, than, most, exhibits, exhibits, exhibits, exhibits, financially, financially, financially, financially, almost, the, the, country, almost, Ford's, Ford's, success, has"

      text = "Ford's success has startled the country, almost the world, financially, industrially, mechanically. It exhibits in higher degree than most persons would have thought possible the seemingly contradictory requirements of true efficiency, which are: constant increase of quality, great increase of pay to the workers, repeated reduction in cost to the consumer. And with these appears, as at once cause and effect, an absolutely incredible enlargement of output reaching something like one hundredfold in less than ten years, and an enormous profit to the manufacturer"

      def do_list(string):
          return re.split(r"[ ,.:]+",string.lower()) # split by any combination of space, comma, period, colon.

      def do_uniquify(lst):
          out_l = []
          for i in lst:
              if i not in out_l: # ignore dupes
                  out_l.append(i)
          return out_l

      def do_relativity(textlist,datalist):
          last_pos = 0 # keep track of last position
          out_l = []
          for word in datalist:
              index = textlist.index(word) # find index in source text
              out_l.append(index-last_pos) # differentiate index
              last_pos = index
          return out_l

      textlist = do_list(text)
      datalist = do_list(data)
      uniquelist = do_uniquify(textlist)
      relative_numbers = do_relativity(uniquelist,datalist)
      # stringize all numbers, join with commas.
      print ",".join(map(str,relative_numbers))

  15. Re:Difficult test? Hardly. by Furry+Ice · · Score: 4, Informative
    Am I the only one who enjoyed the challenge of solving the problem the way it was intended? Someone correctly guessed that this is like Tetris, where true is a block and false is empty space. However, it's unlike Tetris in some key ways. If you try to solve it, you'll see how as you hit test cases that your code fails on. Here's my function, which passes all tests. I had to try three different algorithms because new information about the behavior of the blocks necessitated starting from scratch with more complexity twice.

    f = function(d) {
        var height = d.length;
        var width = d[0].length;
        var find_base = function(t, i) {
            for (j = 0; j < width; j++) {
                if (d[i][j]) {
                    if (d[i+1][j]) {
                        t[j] = true;
                    }
                    if (j > 0 && j < (width - 1)) {
                        if (d[i+1][j-1] && d[i+1][j+1]) {
                            t[j] = true;
                        }
                    }
                }
            }
        };
        var add_sticky = function(t, i) {
            while (true) {
                var stop = true;
                for (j = 0; j < width; j++) {
                    if (d[i][j] && !t[j]) {
                        if (j > 0 && t[j-1]) {
                            t[j] = true;
                            stop = false;
                        }
                        if (j < (width - 1) && t[j+1]) {
                            t[j] = true;
                            stop = false;
                        }
                    }
                }
                if (stop) {
                    break;
                }
            }
        };
        var i, j;
        var t = new Array(width);
        for (i = height - 2; i >= 0; i--) {
            for (j = 0; j < width; j++) {
                t[j] = false;
            }
            find_base(t, i);
            add_sticky(t, i);
            for (j = 0; j < width; j++) {
                if (d[i][j] && !t[j]) {
                    d[i][j] = false;
                    d[i+1][j] = true;
                }
            }
        }
    };
  16. It decrypts to... by TheMiddleRoad · · Score: 5, Funny

    Helmsville McDonald's Hiring Fry Cook Seeking highly motivated candidates. Inquire at drive-through.

  17. Puzzles: Friend or Foe? by martincmartin · · Score: 4, Interesting

    I work for a company that uses puzzles to attract and evaluate people. We started doing this in the late '90s after hiring people who had good resumes and interviewed well, but couldn't program. Having evaluated a bunch of submissions, I can't imagine hiring someone without seeing a sample of their code. Resumes have almost no information in them. Someone with "10 years of C++" might know the language like the back of their hand, or might write simple, sloppy code. Pretty much any phrase on a resume could mean just about anything. A programming puzzle is like an audition. It's better than writing code during the interview. Writing code in an interview on a white board is pretty far from real coding: no symbol completion, no access to references on the web, a strict time limit, someone who holds a key to your career watching your every move. Only time for simple questions, and no way for the person to choose a problem aligned with their skills. If a company asks you to spend a few hours, so they can decide whether to employ you for years, you can be sure that you'll work with people who have been similarly vetted, and they won't write spaghetti code with variable names like t1 and d2. And it can be quite frustrating maintaining code that makes www.beyondfailure.com look good.