2445: Checkbox

Explain xkcd: It's 'cause you're dumb.
Revision as of 23:31, 1 April 2021 by Ezist (talk | contribs) (Add response for "QSL")
Jump to: navigation, search
Checkbox
Check check check ... chhecck chhecck chhecck ... check check check
Title text: Check check check ... chhecck chhecck chhecck ... check check check

Explanation

Ambox notice.png This explanation may be incomplete or incorrect: Created by a CHECKBOX. Please mention here why this explanation isn't complete. Do NOT delete this tag too soon.
If you can address this issue, please edit the page! Thanks.

This is an April Fools comic that looks similar to a loading screen. The actual comic (this “loading screen”) consists of a gif of a checkbox (hence the name).

The frame is replaced with an interactive panel. In the centre is a check box, which clears itself immediately when checked. In the bottom right is a mute button, which begins muted.

Under the checkbox is a scrolling visual representation of the timing and duration of clicks in the check box, which also produce matching beeping sounds when unmuted.

By varying between brief and long presses, and brief and long intervals between presses, it is possible to enter characters in Morse Code.

The title text hints at the use of Morse Code in the comic; interpreting the "check" as a Morse Code dot and the "chhecck" as a Morse Code dash gives ...---..., which is the Morse Code for "SOS", the international distress signal. Incidentally, inputting the SOS signal gives "YOU TOO?".

The check box then begins operating by itself, producing sounds which can be decoded as Morse Code.

For the majority of inputs, the check box responds with 'WHAT'. Some keywords have special responses.

Special Responses

[.s are short presses, -s are long presses, and /s are spaces (just for readability)]

xkcd -> FILE NOT FOUND

[-..- -.- -.-. -..]

SOS -> YOU TOO?

[...---...]

HI -> HELLO! ANYBODY OUT THERE?

[.... ..]

HELLO -> HELLO TO YOU TOO!

[.... . .-.. .-.. ---]

WHAT -> ECHO

[.-- .... .- -]

ECHO -> ECHO

[. -.-. .... ---]

E (repeat n times) -> E (repeat n times)

[.]

T (repeat n times) -> T (repeat n times)

[-]

WHO ARE YOU -> SOJOURNER

[.-- .... --- / .- .-. . / -.-- --- ..-]

CQ -> CQD DE SOJ

[-.-. --.-]

SOJOURNER -> CFM (short for Confirm)

[... --- .--- --- ..- .-. -. . .-.]

QUIET -> (turns the volume off)

[--.- ..- .. . -]

MUTE -> (turns the volume off)

[-- ..- - .]

BEEP -> (turns the volume on)

[-... . . .--.]

QRS -> (reduces playback speed)

[--.- .-. ...]

QRQ -> (increases playback speed)

[--.- .-. --.-]

QRA -> QRA SOJOURNER

[--.- .-. .-]

QRB -> QRB 264 MILLION KM

[--.- .-. -...]

QRG -> QRG PATHFINDER

[--.- .-. --.]

QTH -> QTH ARES VALLIS

[--.- - ....]

QSL -> QSL

[--.- ... .-..]

ET -> PHONE HOME

[. -]

LS -> DID YOU MEAN DIR

DIR -> ENTER IMAGE NUMBER

(any number <=2445) -> (loads xkcd comic in new tab)

Transcript

Ambox notice.png This transcript is incomplete. Please help editing it! Thanks.

Loading...

comment.png add a comment! ⋅ comment.png add a topic (use sparingly)! ⋅ Icons-mini-action refresh blue.gif refresh comments!

Discussion

If left alone, the morse code produced spells "WHAT" (.-- .... .- -) Ezist (talk) 22:50, 1 April 2021 (UTC)

I'm early enough that there isn't a summary yet, and I'm not confident enough to start one, so I'll just drop my thoughts. If you click the checkbox repeatedly, at some point it starts playing Morse code. Presumably, there are a whole lot of different sequences. So far, I've gotten .- - .-- .... (which translates to ATWS; no idea what that means) and ..... (just 5, I think). Meanwhile, the mouseover text is ... --- ..., which is SOS. Any thoughts? What other sequences are there? Or am I totally missing something? (Edit conflict. Looks like Ezist has another one.) Aerin (talk) 22:56, 1 April 2021 (UTC)

I got something like ATWS at first, but that's just cause I misheard one of the letters, and misinterpreted where the word started/ended. Ezist (talk) 23:03, 1 April 2021 (UTC)
Oh yes, you're right - what I was hearing was just WHAT. When I put it into a translator, I must have mistyped .... (H) as ... (S). Aerin (talk) 23:58, 1 April 2021 (UTC)

Wait, sorry, I'm back. It apparently has to do with user input. No idea what I pressed to get those results lol. Aerin (talk) 22:57, 1 April 2021 (UTC)

Just a note, but a Morse code legend as well as translations of your input and the website's output are available in the console in browser DevTools. Helpful for those that don't know Morse. Toadtoad (talk)

It looks like Samuel Morse died on April 2, 1872, so that might be why this comic appears today. 162.158.212.218 23:07, 1 April 2021 (UTC)

"Hi" returns [.... . .-.. .-.. --- -.-.-- / .- -. -.-- -... --- -.. -.-- / --- ..- - / - .... . .-. . ..--..] "HELLO! ANYBODY OUT THERE?" Piano (talk) 23:09, 1 April 2021 (UTC)

a sequence of repeating "T", or at least more than one "E" [ - - - ] or [ . . . ] will respond back the same sequence, just one "E" will give "WHAT" 172.68.25.253 23:18, 1 April 2021 (UTC)

"QTH" gives "QTH ARES VALLIS". "QTH" is a code used to ask for position, and Ares Vallis is a place on Mars. Ezist (talk) 23:27, 1 April 2021 (UTC)

"CHECK" replies "MATE." "CHECKMATE" and "MATE" each reply "WHAT." 162.158.126.146 23:34, 1 April 2021 (UTC)


The js: has anyone tried viewing the JS? There seems to be a file that is just filled with undecipherable Morse. Can anyone interpret this? Just press f12 and look for comic.js or morse.js 162.158.62.161 23:35, 1 April 2021 (UTC)

I tried decoding it. Certainly looks like something binary encoded into text. 162.158.183.153 23:36, 1 April 2021 (UTC)

Adding onto that, what does the ';D' in .split(';D') (at the very end of morse.js) do? AFAIK it's not a special character in JS

morse.js decodes comic.js into the following script: [1] (Also, pretty sure the .split(';D') is just an emoji - it results only in an array of 1 element, so no splitting really occurred.) 108.162.219.78 23:52, 1 April 2021 (UTC)

running window.BeepComic.hurryUp() in console gives you immediate response in logs, without waiting for all the beeping to cease

Ah so that's where that script comes from 162.158.183.153 23:40, 1 April 2021 (UTC)

`BeepComic.send(morse.encode('sudo make me a sandwich'))` <-- convenience, in addition to the hurryUp --rcombs

Does someone else get this uuid DB334AAB-92A1-11EB-8001-8C16454FB02A? 162.158.238.228 23:42, 1 April 2021 (UTC)

Yep, that's what I get too. 172.68.132.239 00:29, 2 April 2021 (UTC)
What did you enter to get a UUID? I tried decoding what you posted at this link, then tried looking up the MAC address that was encoded in it. I'm not sure what to make of the result, but perhaps it has something to do with a chip on the Sojourner. Kjmitch (talk) 04:48, 2 April 2021 (UTC)


Audio does not work on Safari as of right now - however, inputting `const AudioContext = webkitAudioContext;` into the browser console before unmuting will allow audio to work on Safari. May want to note this as a 'fix' for the experience? --162.158.63.6 23:44, 1 April 2021 (UTC)

In addition to muting/unmuting, BEEP and MUTE reply CQM (I can't find a reference to what that means). 162.158.126.146 23:51, 1 April 2021 (UTC)

The statements at line 458 of the gist mentioned earlier seem interesting.

   handleAction(text) {
       if (text.startsWith('//')) {
           this.client.open(text.substr(2));
       }
   }
Nevermind, it was just how the response to "dir" opened links) 172.68.189.101 23:52, 1 April 2021 (UTC)


Parsed the JS (morse obfuscation, weird) and cut this small bit out:

e = await fetch(`/2445/morse/.../${morse.encode('pog')}`);
f = await e.text();
[state, ...respMorse] = f.split('/');
morse.decode(respMorse.join('/'));

Use this if you'd like to play around with inputs. (replace pog, obviously) :) Ezist (talk) 23:53, 1 April 2021 (UTC)

No need to document UniXKCD here, there's already a page for that. --rcombs

Here's all the two character inputs: https://pastebin.com/5JhsVwM1 162.158.238.244 00:16, 2 April 2021 (UTC)

I got a different response for FORTUNE, it just tells me "OPEN ME" maybe Fortune gives multiple possible answers depending on luck, IP or something else, like a fortune cookie can have different answers inside it? 141.101.104.81 00:19, 2 April 2021 (UTC)

For me FORTUNE responds with "OPEN ME", then I send OPEN, it responds with "YOUR DREAMS ARE NEVER SILLY DEPEND ON THEM TO GUIDE YOU" 141.101.96.40 00:31, 2 April 2021 (UTC)

For me CHECKBOX responds with RADIO BUTTON and vice versa. Also, putting in a number doesn't seem to redirect me, but 11 does respond with "HUH"--Yodofrna (talk) 00:46, 2 April 2021 (UTC)

For me YOUTUBE provides what appears to be a URL, but it's so long I'm having a hard time transcribing it Dextrous Fred (talk) 00:49, 2 April 2021 (UTC)

YOUTUBE -> RXJKDH1KZ0W = https://www.youtube.com/watch?v=RXJKdh1KZ0w 162.158.238. 245 00:51, 2 April 2021 (UTC)

FORTUNE is a reference to the Unix 'fortune' program, but responses seem to be consistent for each user and not randomized like the Unix version. Use of a VPN confirms that responses are randomized by IP address. Sending OPEN only returns a fortune if it is sent immediately following FORTUNE. LordPants (talk) 00:53, 2 April 2021 (UTC)


One possible ending: HYDROCOPTIC -> Y -> https://imgs.xkcd.com/comics/sojourner_repaired.png 162.158.238.244 00:54, 2 April 2021 (UTC)

It appears that unknown inputs produce WHAT, NOT FOLLOWING, SAY AGAIN, TRY THAT AGAIN, COME AGAIN, HUH depending on some properties of the input text. 141.101.96.40 00:57, 2 April 2021 (UTC)

FORTUNE gave me "DO NOT LET AMBITIONS OVERSHADOW SMALL SUCCESS". Should we add something on the page to list all the fortunes we've found?

XKCD now returns "A CROSS THREE LETTERS". What could that mean? 172.68.132.239 01:22, 2 April 2021 (UTC)

SOS returns OH NO now as well 172.68.189.107 01:27, 2 April 2021 (UTC)
I got this too, can't seem to get it again. Strange. Ezist (talk) 01:28, 2 April 2021 (UTC)
"A CROSS THREE LETTERS" could be 'mix'? (Or 'cut' but that seems less likely... Has anyone tried responding MIX when it gives the crossword clue.
ProphetZarquon (talk) 18:31, 3 April 2021 (UTC)
Note that "A CROSS THREE LETTERS" describes "xkcd" perfectly: a cross, followed by three letters... John.Adriaan (talk) 00:39, 6 April 2021 (UTC)

This isn't as convenient as the other in-browser console solutions, but I had fun quickly whipping up a script for NodeJS to query the Morse server and quickly get a response. https://github.com/realToadtoad/xkcd-checkbox-query Toadtoad (talk)

In the png you get when you succeed in repairing Sojourner, there's a typo 108.162.219.50 02:43, 2 April 2021 (UTC)

I wonder what happens if you try to send it AT-style modem commands? Seems like it might do something, but I don't have the time/patience to experiment with that. 108.162.215.248 02:55, 2 April 2021 (UTC)

A blog post on creating the code for this comic: https://chromakode.com/post/checkbox Ad1217 (talk) 05:25, 2 April 2021 (UTC)

It doesn't work as described, fo be. Does it depend on the browser? I'm using Chrome.

[I don't see 'Loading...' or any other text, or a mute button; I do see dots and dashes, but get no sound(s).]

[[Special:Contributions] 06:57, 2 April 2021 (UTC)

To activate the sound, you must click the unmute button on the bottom right corner.

Note that those with a keyboard may press space as well to send the code. May be easier to control than a touchy laptop trackpad 162.158.187.75 10:31, 2 April 2021 (UTC)

Scripts

If your clicking abilities have dwindled since the invention of the vocal telephone, you may use this roughly written script in the webconsole as an aid --- self edit: now that others pointed out BeepComic, I simplified it a bit. ---

 (async ()=>{
  let delay
  const asleep = async (dur) => new Promise(res=>setTimeout(res,dur))
  const send = async (...msgs) => {
    for await (const msg of msgs) {
      await BeepComic.send(morse.encode(msg))
      await asleep(delay)
    }
  }
  // Break the immersion
  BeepComic.hurryUp();
  // How long to wait for server to reply, in ms. increase for laggy networks
  delay = 300
  // Say things, in order
  await send('fortune','open')
 })()
Feel free to fix/clean/shorten/move the script. I put it in a topic to encourage keeping it at the bottom of discussion. 108.162.237.46 10:17, 2 April 2021 (UTC)


JavaScript to be pasted in the browser console. Adds a text box below the comic, in which you can write text and press enter to send it. Responses can be read from the JS console. Ad1217 (talk) 14:53, 2 April 2021 (UTC)

BeepComic.hurryUp();

var input = comic.parentNode.insertBefore(document.createElement('input'), comic.nextSibling);
input.addEventListener("keydown", e => {
  if (e.keyCode == 13) {
    BeepComic.send(morse.encode(e.target.value));
    e.target.value = '';
  }
}, false);
import requests

URL = r"https://xkcd.com/2445/morse/...%s/%s"
enc_map = {"0":"-----","1":".----","2":"..---","3":"...--","4":"....-","5":".....","6":"-....","7":"--...","8":"---..","9":"----.","A":".-","B":"-...","C":"-.-.","D":"-..","E":".","F":"..-.","G":"--.","H":"....","I":"..","J":".---","K":"-.-","L":".-..","M":"--","N":"-.","O":"---","P":".--.","Q":"--.-","R":".-.","S":"...","T":"-","U":"..-","V":"...-","W":".--","X":"-..-","Y":"-.--","Z":"--..",".":".-.-.-",",":"--..--","?":"..--..","'":".----.","!":"-.-.--","/":"-..-.","(":"-.--.",")":"-.--.-","&":".-...",":":"---...",";":"-.-.-.","=":"-...-","+":".-.-.","-":"-....-","_":"..--.-",'"':".-..-.","$":"...-..-","@":".--.-."," ": "/"}
dec_map = dict([(y,x) for x,y in enc_map.items()])

to_morse = lambda text: " ".join(enc_map[i] for i in text if i in enc_map)
from_morse = lambda text:  "".join(dec_map[i] for i in text if i in dec_map)

def get_resp(text, key):
    url = URL%(("/" if len(key) else "") + to_morse(key), to_morse(text))
    c = requests.get(url).content.decode('utf-8')
    c = from_morse(c.split(' '))
    return c[:36], c[37:]

k = ""
while True:
    k,r = get_resp(input("YOU      : "), k)
    print("SOJOURNER:", r)
Python script to interact directly with SOJOURNER

If you try to read the book in the maze, it says "Your eyes swim". Sarah the Pie(yes, the food) (talk) 16:13, 2 April 2021 (UTC)

What’s the proper way to add an alternate mobile version of this comic? Not sure about phones, but I read this on my tablet and had a completely different version of the comic than appeared here. Dystopianist (talk) 03:00, 3 April 2021 (UTC)

"Sudo make me a sandwich" works in the linked Unix console and gets "Okay" as a response. 172.69.22.48 08:06, 4 April 2021 (UTC)

The frame is replaced with an interactive panel.

No, it isn't. Other than loading the page, what else do I have to do to make this work? Latest Chrome on OSX/ Big Sur and Windows 10. --Misterstick (talk) 10:35, 4 April 2021 (UTC)

  • To answer my question, not load the mobile version of the page. Duh. --Misterstick (talk) 10:37, 4 April 2021 (UTC)

Edit: Deleted comment. Sorry for the accidental spam. {)|(}Quill{)|(} 18:17, 6 April 2021 (UTC)

Escape Station game

Entering "START GAME" starts the game and gets the prompt "PLAY ESCAPE STATION? Y / N / OR ENTER CODE". From this point on the normal commands don't work. and the unkown command response is replaced by "INVALID COMMAND". Entering "N" cancel the game start ("ANOTHER TIME THEN"), I don't know what code(s) to enter. And entering "Y" starts the game ("YOU WAKE IN A WHITE BED IN A WHITE ROOM EXITS ARE OUT").

During the game it seems there are three game actions before the player drifts back to sleep and the station explodes, I haven't found commands that prevent station explosion, change the player status, prevent yawning or change the game score. The response on all game actions is followed by a yawming message and the text "EXITS ARE OUT"

Here are the commands I found so far :

  • "HELP" -> "COMMON COMMANDS ARE LOOK INVENTORY OUT EXAMINE SOMETHING PRESS BUTTON GET SOMETHING FIRE SOMETHING QUIT" (does not count as a game action)
  • "LOOK" -> "YOU ARE IN A WHITE BED IN A WHITE ROOM [..]"
  • "LOOK" -> "YOU ARE IN A WHITE BED IN A WHITE ROOM [..]"
  • "EXAMINE BED" -> "IT IS WHITE WARM AND COMFY YOU YAWN [..]"
  • "OUT" -> "THE DOOR IS TOO FAR AWAY [..]"
  • "GET UP" -> "YOU DO NOT SEE THAT HERE YOU ARE IN A WHITE BED IN A WHITE ROOM [..]"
  • (at first game action) -> YOU ARE YAWNING
  • (at second game action) -> YOU YAWN DEEPLY
  • (at third game action)-> "YOU DRIFT BACK TO SLEEP A METEOR DESTROYS THE STATION YOU DIE WITH A SCORE OF 0 PLAY AGAIN Y / N"


List of interesting commands that didn't work : "LOOK [directions]", "INVENTORY", "INVENTORY OUT", "EXAMINE ROOM", "EXAMINE WALL", "PRESS BUTTON", "FIRE", "FIRE GUN".


Book (talk) 00:25, 29 April 2021 (UTC)

It looks like the the command SIT UP will progress you in the game with the response "YOU KICK THE BLANKETS AWAY AND CLAIM AN UNDESIRED VICTORY OVER SLEEP EXITS ARE OUT"--172.68.57.179 13:52, 7 May 2021 (UTC)


My current progress:

I pasted these helper scripts from the Scripts section above into the web console to make it easier to input stuff, this creates a text box below the comic:

BeepComic.hurryUp();
var input = comic.parentNode.insertBefore(document.createElement('input'), comic.nextSibling);
input.addEventListener("keydown", e => {
  if (e.keyCode == 13) {
    BeepComic.send(morse.encode(e.target.value));
    e.target.value = '';
  }
}, false);

SIT UP to get out of bed.

You can use LOOK to look around in places, EXAMINE <something> to take a closer look at stuff, GET <something> to take items, INVENTORY to check what you are carrying, HELP lists common commands. The LOOK command also lists you your exits, these are the places you can go to from your current position, just type in the place to go there (for example, OUT).

The game is a bit buggy, sometimes you get a save point with a password, if the game glitches out type QUIT and START GAME and enter that password. So far I've gotten "WAFFLEHOUSEFRIES", "GARBAGERAMAN" and "KRAFTDINNER".

Go OUT and enter the LIFT.

Go to the lab (PRESS YELLOW BUTTON in lift), GET the bottle from the table, OPEN BOX to receive a goo cannon, don't take the book as that will kill you as soon as you exit the lab.

Get back to the lift, go to the shuttle bay (brown button in lift), GET SONIC PULSER and LARGE BLUE LASER from the workbench, don't go in to the RIGHT lifepod as that kills you. You can enter the SHUTTLE, SIT COUCH to sit in the pilot's couch, EXAMINE DISPLAY, couldn't figure out anything else to do inside. Supposedly the shuttle's computer "accepts verbal commands", couldn't figure out any.

Get back to the lift, go to the cantina floor (purple button), immediately FIRE SONIC PULSER (or you die), enter CANTINA, FIRE SONIC PULSER again (or you die, probably), GET RUBBER BALL, EXAMINE TABLE, EXAMINE BODIES, GET BADGE. At this point you'll get the save point KRAFTDINNER (with a score of 35) upon exiting OUT of the cantina, and your INVENTORY should contain these items: A SONIC PULSER A LARGE BLUE LASER A RUBBER BALL A BADGE A BOTTLE AND A GOO CANNON.

Now you can access the red floor, but there's a deadly alien there, you can escape back into the LIFT, couldn't figure out what else you can do.

Firing the GOO CANNON or LARGE BLUE LASER insta-kills you everywhere I tried so far, including on the red floor with the alien (albeit with a different message). Maybe there's a way to read the book in the lab to learn how to use the goo cannon without dying?

You can OPEN BOTTLE to take the space pills in the inventory, but so far the game said that "this is not the time or place for space drugs" anywhere I tried.

The BLUE floor seems to be impassable, you can only get back into the lift.

The ORANGE floor kills you.

From here on I'm guessing you're supposed to either find a way to deal with the alien on the bridge on red floor, figure out how to open the blast doors of the left lifepod in the bay (brown floor), or figure out how to work the shuttle. Please post if you make more progress.

-162.158.92.96 11:30, 20 May 2021 (UTC)