You are browsing as a guest. Sign up (or log in) to start making projects!

1h 57m 10s logged

I cooked my own laptop, then hid a word inside a noise

The fans came on around eleven and never stopped.

By mid-afternoon my laptop was doing an impression of a hairdryer and the
temperature had gone past 100°C, which is where water boils and laptops start
making decisions about their own survival. I opened Task Manager expecting a
runaway browser tab.

Twenty-four copies of my own program. All running. All mine.

Every time I wanted to check my work I started a little local server, and every
time I finished I told it to stop. It said it stopped. It did not stop. It had a
second process doing the real work, and killing the first left the second running
happily, forever, burning a core each. They had been stacking up since ten in the
morning.

The lesson is not “check your processes.” It is that I trusted a success message
instead of looking. The program told me what I wanted to hear and I took its word
for it, which is a strange mistake to make on a project whose entire premise is
not taking things at face value.

I check now. Every time. It takes four seconds.

Sound has a shape

Here is the thing I built this month, and I still think it is the best trick in
the whole project.

Every sound is a stack of pitches, high and low, shifting over time. Plot pitch
going up the page and time going across, and you get a picture of what a noise is
actually made of. A flute is a clean line. A cymbal is a smear. Speech is a mess
of stripes that a trained eye can almost read.

Now run it backwards.

Decide what you want that picture to look like. Write a word, say. Then generate
the exact noise that would produce it.

What comes out is a real audio file. You can play it. It sounds like static, like
a radio between stations, and there is nothing in it your ears will ever pick up.
Show it to anyone and they hear noise, because it is noise.

Look at its shape and the word is just sitting there.

I built the part of Trawl that draws that shape, and then I wrote a little tool
that goes the other way so I could make my own. I fed it a picture of two words
stacked on top of each other. Eight seconds of grinding static came out. I
dropped it back into Trawl and the words were there, drawn in sound, perfectly
legible.

Getting it wrong twice first

My first attempt was mush. Grey bands, no letters.

The reason is a bit lovely. To read the shape of a sound you have to chop it into
short slices and analyse each one, and my slices were wider than the letters. It
was like trying to read a book through a window that shows three words at once,
smeared together. Fixed by giving each column of the picture more time.

The second attempt had bright vertical bars slashed through it. Those were clicks.
Thirty separate tones were all changing volume at the exact same instant, and a
sharp change in sound is a click, and a click is every pitch at once. It drew a
line straight through my picture.

Fixed by easing the volume changes instead of stepping them. Same reason a song
fades out rather than stopping dead.

Both of those are in the code with comments explaining them, mostly so future me
does not do it again.

The one I refused to build

There is a hiding technique called F5 that I cannot reliably detect. The published
method for spotting it needs a copy of the original, untouched file to compare
against, and I do not have one. Nobody does. That is the point of the puzzle.

I could have shipped something that guesses and looks confident about it. Instead
the tool shows you the raw numbers and says, plainly, that it does not know.

A tool that finds something every time is not a good tool. It is a broken one that
happens to be reassuring, and I would rather ship an honest gap than a convincing
lie.

The image and sound half is done. Codes and ciphers next.

1
6

Comments 0

No comments yet. Be the first!