Answer: Binary Secret #337

The secret message is:

Well done!

The decoded message: Well done!
Every row decoded.

Row by row

RowBulbsAdd the ‘on’ numbersCharacter
10101011164 + 16 + 4 + 2 + 1 = 87W
20110010164 + 32 + 4 + 1 = 101e
30110110064 + 32 + 8 + 4 = 108l
40110110064 + 32 + 8 + 4 = 108l
50010000032 = 32a space
60110010064 + 32 + 4 = 100d
70110111164 + 32 + 8 + 4 + 2 + 1 = 111o
80110111064 + 32 + 8 + 4 + 2 = 110n
90110010164 + 32 + 4 + 1 = 101e
100010000132 + 1 = 33!

Crack it with Python

Python can do the adding for you. int(code, 2) reads a string of 1s and 0s as a binary number. Then chr() turns the number into its character.

secret = [
    "01010111",
    "01100101",
    "01101100",
    "01101100",
    "00100000",
    "01100100",
    "01101111",
    "01101110",
    "01100101",
    "00100001",
]
message = ""
for code in secret:
    number = int(code, 2)
    message = message + chr(number)
print(message)

When you run it, it prints:

Well done!

<strong>Beep says:</strong> Want to write your own secret message? Turn it around: ord() turns a character into its number, and format(number, “08b”) writes the number as 8 binary digits. Beep boop!