Answer: Binary Secret #300

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
20100010164 + 4 + 1 = 69E
30100110064 + 8 + 4 = 76L
40100110064 + 8 + 4 = 76L
50010000032 = 32a space
60100010064 + 4 = 68D
70100111164 + 8 + 4 + 2 + 1 = 79O
80100111064 + 8 + 4 + 2 = 78N
90100010164 + 4 + 1 = 69E

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",
    "01000101",
    "01001100",
    "01001100",
    "00100000",
    "01000100",
    "01001111",
    "01001110",
    "01000101",
]
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!