2008-10-31 5 views
11

Mon ami a reçu ce T-shirt optimiseur de site google gratuit et est venu à moi pour essayer de comprendre ce que le logo avant signifiait.Possible Google Riddle?

t-shirt

Alors, j'ai quelques suppositions sur ce que cela signifie, mais je me demandais s'il y a quelque chose de plus. Ma première estimation est que chaque bloc représente une mise en page, et le logo "Vous devriez tester cela" signifie simplement que vous devez utiliser google web optimizer pour tester quelle est la meilleure mise en page. J'espère que ce n'est pas la réponse, cela semble simplement simple et insatisfaisant. Eh bien, j'ai passé l'heure passée à essayer de comprendre s'il y a une signification plus profonde, mais en vain. Donc, je suis ici en espérant que quelqu'un pourrait être en mesure d'aider.

J'ai cependant écrit un programme pour voir si les blocs représentent quelque chose en binaire. Je posterai le code ci-dessous. Mon code teste chaque permutation de la lecture d'un bloc en 4 bits, puis essaie d'interpréter ces bits comme des lettres, des adresses hexadécimales et ip.

J'espère que quelqu'un sait mieux.

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

+0

Lien vers l'image: http://2.bp.blogspot.com/_iQVgmEEAit4/SPkKHA3e8fI/AAAAAAAAAB8/ugUerJjuBw8/s1600-h/GWO-tshirt.jpg –

+0

Vous semblez supposer que les couleurs ne comptent pas. Je ne le ferais pas. –

+0

Un bloc dans une certaine position a toujours la même couleur ... aucune chance que cette conception soit juste un produit de/dev/random? – Artelius

Répondre

15

J'ai envoyé le site Web de l'équipe Optimizer, et ils ont dit « Il n'y a pas de code secret, à moins que vous trouviez un :). »

2

Et si ça ne veut rien dire, que se passe-t-il si c'est juste un design soigné?

+0

C'est aussi une bonne possibilité, et je m'excuse si cela n'a pas de sens. Mais ça vaut le coup. Google aime proposer des énigmes. – esiegel

5

Je pense que Google essaie simplement de faire passer son message à la maison - voici un tas de différentes représentations de la même page, testez-les, voyez lequel est le meilleur.

Quel bloc préférez-vous?

+0

C'est probablement le cas. Je voulais juste être sur. – esiegel

0

Eh bien, je ne peux pas voir un modèle immédiat. Mais si vous testez IP, pourquoi ne pas prendre deux blocs de 4 en un seul nombre binaire.

5

Je pense que c'est simplement un design, rien de secret, ou mystérieux.

+0

Hahaha, si cela est vrai, le questionneur sera vidé :) –

1

Il dit: « Vous rapprochez ».

+0

Comment avez-vous trouvé cela? –

+0

Encore plus génial si une parodie! –

0

Probablement c'est une notation de base 4?

Je voudrais essayer cela, mais je n'ai aucune approche à ce sujet.

Questions connexes