Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Possible Google Riddle?

Tags:

python

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.

like image 939
esiegel Avatar asked Oct 31 '08 00:10

esiegel


2 Answers

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

like image 178
Joseph Avatar answered Nov 15 '22 17:11

Joseph


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?

like image 31
Max Stewart Avatar answered Nov 15 '22 18:11

Max Stewart