views:

1132

answers:

8

My friend was given this free google website optimizer tshirt and came to me to try and figure out what the front logo meant.

t-shirt

So, I have a couple of guesses as to what it means, but I was just wondering if there is something more.

My first guess is that each block represents a page layout, and the logo "You should test that" just means that you should use google website optimizer to test which is the best layout. I hope that this isn't the answer, it just seems to simple and unsatisfying.

Well, I've spent the past hour trying to figure out if there is any deeper meaning, but to no avail. So, I'm here hoping that someone might be able to help.

I did though write a program to see if the blocks represent something in binary. I'll post the code below. My code tests every permutation of reading a block as 4 bits, and then tries to interpret these bits as letters, hex, and ip addresses.

I hope someone knows better.

#This code interprets the google t-shirt as a binary code, each box 4 bits.
# I try every permutation of counting the bits and then try to interpret these
# interpretations as letters, or hex numbers, or ip addresses.

# I need more interpretations, maybe one will find a pattern

import string

#these represent the boxes binary codes from left to right top to bottom
boxes = ['1110', '1000', '1111', '0110', '0011', '1011', '0001', '1001']

#changing the ordering
permutations = ["1234", "1243", "1324", "1342", "1423", "1432", 
                "2134", "2143", "2314", "2341", "2413", "2431",
                "3124", "3142", "3214", "3241", "3412", "3421", 
                "4123", "4132", "4213", "4231","4312", "4321"]

#alphabet hashing where 0 = a
alphabet1 = {'0000':'a', '0001':'b', '0010':'c', '0011':'d',
             '0100':'e', '0101':'f', '0110':'g', '0111':'h',
             '1000':'i', '1001':'j', '1010':'k', '1011':'l',
             '1100':'m', '1101':'n', '1110':'o', '1111':'p'}

#alphabet hasing where 1 = a
alphabet2 = {'0000':'?', '0001':'a', '0010':'b', '0011':'c',
             '0100':'d', '0101':'e', '0110':'f', '0111':'g',
             '1000':'h', '1001':'i', '1010':'j', '1011':'k',
             '1100':'l', '1101':'m', '1110':'n', '1111':'o'}

hex       = {'0000':'0', '0001':'1', '0010':'2', '0011':'3',
             '0100':'4', '0101':'5', '0110':'6', '0111':'7',
             '1000':'8', '1001':'9', '1010':'a', '1011':'b',
             '1100':'c', '1101':'d', '1110':'e', '1111':'f'} 

#code to convert from a string of ones and zeros(binary) to decimal number
def bin_to_dec(bin_string):
    l = len(bin_string)
    answer = 0
    for index in range(l):
        answer += int(bin_string[l - index - 1]) * (2**index)
    return answer        

#code to try and ping ip addresses
def ping(ipaddress):
    #ping the network addresses 
    import subprocess

    # execute the code and pipe the result to a string, wait 5 seconds
    test = "ping -t 5 " + ipaddress
    process = subprocess.Popen(test, shell=True, stdout=subprocess.PIPE)

    # give it time to respond
    process.wait()

    # read the result to a string
    result_str = process.stdout.read()

    #For now, need to manually check if the ping worked, fix later
    print result_str   

#now iterate over the permuation and then the boxes to produce the codes
for permute in permutations:
    box_codes = []
    for box in boxes:
        temp_code = ""
        for index in permute:
            temp_code += box[int(index) - 1]
        box_codes.append(temp_code)

    #now manipulate the codes using leter translation, network, whatever

    #binary
    print string.join(box_codes, "")

    #alphabet1
    print string.join( map(lambda x: alphabet1[x], box_codes), "")

    #alphabet2
    print string.join( map(lambda x: alphabet2[x], box_codes), "")

    #hex
    print string.join( map(lambda x: hex[x], box_codes), "")

    #ipaddress, call ping and see who is reachable
    ipcodes = zip(box_codes[0:8:2], box_codes[1:8:2])
    ip = ""
    for code in ipcodes:
        bin = bin_to_dec(code[0] + code[1])
        ip += repr(bin) + "."
    print ip[:-1]
    #ping(ip[:-1])
    print
    print

t-shirt.

+2  A: 

What if it doesn't mean anything, what if it is just a neat design they came up with?

Jeremy Reagan
That's also a good possibility, and I apologize if it has no meaning. But it's worth a shot. Google does like to come up with riddles.
esiegel
+5  A: 

I think Google are just trying to drive their point home - here are a bunch of different representations of the same page, test them, see which is best.

Which block do you like best?

Max Stewart
That is most likely the case. I just wanted to be sure.
esiegel
A: 

Well, I can't see an immediate pattern. But if you are testing IP, why not take two blocks of 4 as a single binary number.

Ali A
+5  A: 

I think it's simply a design, nothing secret, or mysterious.

Hahaha, if this is true the question-asker will be gutted :)
Richie_W
+13  A: 

I emailed the Website Optimizer Team, and they said "There's no secret code, unless you find one. :)"

Joseph
A: 

It says: "You are getting closer".

F.D.Castel
How did you come up with that?
Jeremy Reagan
A: 

Probably it's a base 4 notation?

I would try that, but I don't have any approach to this.

furtelwart
A: 

It reminded me of cellular automata:

http://www.wolframalpha.com/input/?i=rule+110

Anyone going that direction?

gnrfan