Answer: Binary Secret #147

The secret message is:

TULIP

The decoded message: TULIP
Every row decoded.

Row by row

RowBulbsAdd the ‘on’ numbersCharacter
11010016 + 4 = 20T
21010116 + 4 + 1 = 21U
3011008 + 4 = 12L
4010018 + 1 = 9I
51000016 = 16P

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 the program finds that letter in the alphabet. It takes away 1 because Python counts the letters from 0.

secret = [
    "10100",
    "10101",
    "01100",
    "01001",
    "10000",
]
letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
message = ""
for code in secret:
    number = int(code, 2)
    message = message + letters[number - 1]
print(message)

When you run it, it prints:

TULIP

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