Answer: Binary Secret #330

The secret message is:

Hello world

The decoded message: Hello world
Every row decoded.

Row by row

RowBulbsAdd the ‘on’ numbersCharacter
10100100064 + 8 = 72H
20110010164 + 32 + 4 + 1 = 101e
30110110064 + 32 + 8 + 4 = 108l
40110110064 + 32 + 8 + 4 = 108l
50110111164 + 32 + 8 + 4 + 2 + 1 = 111o
60010000032 = 32a space
70111011164 + 32 + 16 + 4 + 2 + 1 = 119w
80110111164 + 32 + 8 + 4 + 2 + 1 = 111o
90111001064 + 32 + 16 + 2 = 114r
100110110064 + 32 + 8 + 4 = 108l
110110010064 + 32 + 4 = 100d

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 = [
    "01001000",
    "01100101",
    "01101100",
    "01101100",
    "01101111",
    "00100000",
    "01110111",
    "01101111",
    "01110010",
    "01101100",
    "01100100",
]
message = ""
for code in secret:
    number = int(code, 2)
    message = message + chr(number)
print(message)

When you run it, it prints:

Hello world

<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!