Two LED displays, one showing a partial QR code and one showing safetydave logo

Ignore all previous instructions – Snow Crash cosplay

With an end-of-year party themed Enter the Simulation, I had to cosplay Snow Crash, the book that coined the term “metaverse”.

Spolier alert: Neal Stephenson fans and tech nerds may have already put the pieces together from the title. Read on for the explanation or skip ahead to the build notes.

The eponymous Snow Crash virus from the 1992 novel is an image that causes both computers and human minds to crash. Reading in the 90s, I imagined black and white pixelated static, with a hint of a pattern. Today, this description fits QR codes, developed two years after Snow Crash, but only popularised a decade or more later in the mobile era.

Also today, any computer running an integrated LLM is vulnerable to attack by information encoded in prompts. Malicious prompts may take many forms, in text or images, and may appear innocuous, but are typified by the phrase “ignore all previous instructions“, followed by some subversive direction.

So, in 2025, a QR code referencing ignore all previous instructions seemed like a good fit for the Snow Crash virus.

I set out to build a costume around this idea, also borrowing elements of the Deliverator from the epic opening pizza delivery sequence, with a padded mountain-biking impact shirt.

Build notes

The LED hardware

The simplest thing would have been to print a QR code. Close second would have been to display it on a high-resolution tablet screen. In both of these cases I could have got creative with the rendering style while preserving the encoded information.

However, I wanted a costume with more 90s cyberpunk vibe, so I looked into sourcing LED panels.

QR codes on LED

LED panels are much lower resolution than the easier alternatives, however, which raised the next question: what is the smallest panel that could display a useful QR code?

The smallest regular QR code is version 1 at 21 x 21 pixels, which can encode 25 characters at low error correction or 10 characters at high error correction. https://safetydave.net is 22 characters. If we go a little larger we can squeeze in a few more characters, or increase the error correction, which I expect will make the costume more robust.

Searching around, it’s pretty easy to find LED panels with minimum height of 16 pixels, and various multiples of 16 pixels in length, but that wouldn’t fit a 21+ pixel QR code. I eventually decided to stack two 16 x 32 pixel panels.

I decided I would power them from the car jumpstart kit, which provided USB and also looked pretty cyberpunk.

QR encoding

I used qrencode for generating images, eg:

qrencode -lH -o sdch.png "https://safetydave.net/c"

QR code split screen

Two panels raised a new question: while I could now accommodate up to a version 3 code at 29 x 29 pixels, how should I split it across panels?

QR codes are pretty nifty, reading rotated, skewed, mirrored, colour-inverted, and robust to some number of pixel errors, but could they be split down the middle, with some separation between the halves due to the panel bezel? I tested this out with Keynote mockups on a version 2 (25 x 25) code. I verified my phone scanned before purchasing the panels.

I figured a split could either be a separation of the halves by some number of pixels or a blacking-out of some number of rows or columns. Some split configurations worked and some didn’t, but if I blacked out a single row of pixels in the middle of the QR code, the code could be read and the URL could be resolved.

Testing QR code split over screens – vertical separation and horizontal blackout
Testing QR code split over screens – vertical blackout and double-width vertical blackout

This was enough for me to place the order. When the panels arrived, I found the bezel was quite thin and I could use the two full halves of the QR code (no blacked out row) side-by-side. The screen capture below shows it works!

Split screen LED QR code resolved!

Animation

I wanted to make use of the hardware’s capability and animate the display too. I tried a few complicated variants including takeover of the future safetydave operating system (SDOS), before deciding on a simple transition to the text IGNR ALL / PRV INSTR via a corrupted version of the QR code, suggestive of the Snow Crash cognitive hijack. This would also presumably work for the vast majority of people who probably wouldn’t be engaged enough to scan with their phones!

Wearable

I stuck the panels to a high-tech plastic tray to give the setup some rigidity. I rotated one panel 180 degrees to provide a cable on either side that I could use to hang the panels around my neck, resting on my chest. I then ran the cables down my back to a dual USB A power bank that I put in my pocket (ironically, the car jumpstarter didn’t guarantee sufficient amperage from its USB A port).

Back end

As a distributed outfit, where does the QR code lead? What’s at the encoded https://safetydave.net/c? Mostly a heading reading “IGNORE ALL PREVIOUS INSTRUCTIONS”.

Deployment notes

How did it work as a costume?

Aesthetics

The LED panels were well received aesthetically, but I probably could have had any animation whatsoever on them. Exactly one person knew of Snow Crash when I explained.

Legibility

Of those who tried to scan the QR code, I think we had about a 50% success rate, but it seemed higher earlier in the afternoon. I had the QR code on my phone too as a backup. The IGNR ALL / PRV INSTR text probably wasn’t as legible as I assumed.

Interactivity

I think people enjoyed the surprise element in the reveal. They were generally wary and maybe expecting to be Rick-rolled when they scanned, but what they found revealed amused them.

I also added a form in case anyone had a witty prompt completion; no-one did.

Review

It was a moderate success. What matters though is that I had fun! I enjoyed making the idea real and the problem solving along the way, and giving a few people a laugh.


Posted

in

, , ,

by