Difference between revisions of "Talk:2445: Checkbox"

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search
m (Added a comment about the maze)
(Restoring many deleted comments)
Line 1: Line 1:
 
<!--Please sign your posts with ~~~~ and don't delete this text. New comments should be added at the bottom.-->
 
<!--Please sign your posts with ~~~~ and don't delete this text. New comments should be added at the bottom.-->
 +
 +
If left alone, the morse code produced spells "WHAT" (.-- .... .- -) [[User:Ezist|Ezist]] ([[User talk: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.) [[User:Aerin|Aerin]] ([[User talk: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. [[User:Ezist|Ezist]] ([[User talk: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). [[User:Aerin|Aerin]] ([[User talk: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. [[User:Aerin|Aerin]] ([[User talk: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. [[User:Toadtoad|Toadtoad]] ([[User talk:Toadtoad|talk]])
 +
 +
It looks like Samuel Morse died on April 2, 1872, so that might be why this comic appears today. [[Special:Contributions/162.158.212.218|162.158.212.218]] 23:07, 1 April 2021 (UTC)
 +
 +
"Hi" returns [.... . .-.. .-.. --- -.-.-- / .- -. -.-- -... --- -.. -.-- / --- ..- - / - .... . .-. . ..--..] "HELLO! ANYBODY OUT THERE?" [[User:Piano|Piano]] ([[User talk: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" [[Special:Contributions/172.68.25.253|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 [https://en.wikipedia.org/wiki/Ares_Vallis is a place on Mars.] [[User:Ezist|Ezist]] ([[User talk:Ezist|talk]]) 23:27, 1 April 2021 (UTC)
 +
 +
"CHECK" replies "MATE."  "CHECKMATE" and "MATE" each reply "WHAT." [[Special:Contributions/162.158.126.146|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 [[Special:Contributions/162.158.62.161|162.158.62.161]] 23:35, 1 April 2021 (UTC)
 +
 +
I tried decoding it. Certainly looks like something binary encoded into text. [[Special:Contributions/162.158.183.153|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: [https://pastebin.com/XcHV4Z5h]  (Also, pretty sure the .split(';D') is just an emoji - it results only in an array of 1 element, so no splitting really occurred.) [[Special:Contributions/108.162.219.78|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 [[Special:Contributions/162.158.183.153|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? [[Special:Contributions/162.158.238.228|162.158.238.228]] 23:42, 1 April 2021 (UTC)
 +
: Yep, that's what I get too. [[Special:Contributions/172.68.132.239|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 [https://www.uuidtools.com/api/decode/DB334AAB-92A1-11EB-8001-8C16454FB02A this link], then tried looking up the MAC address that was encoded in it. I'm not sure what to make of [https://maclookup.app/search/result?mac=8c%3A16%3A45%3A4f%3Ab0%3A2a the result], but perhaps it has something to do with a chip on the Sojourner. [[User:Kjmitch|Kjmitch]] ([[User talk: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? --[[Special:Contributions/162.158.63.6|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). [[Special:Contributions/162.158.126.146|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) [[Special:Contributions/172.68.189.101|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) :) [[User:Ezist|Ezist]] ([[User talk:Ezist|talk]]) 23:53, 1 April 2021 (UTC)
 +
 +
No need to document UniXKCD here, there's already [[UniXKCD|a page for that]]. --rcombs
 +
 +
Here's all the two character inputs: https://pastebin.com/5JhsVwM1 [[Special:Contributions/162.158.238.244|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? [[Special:Contributions/141.101.104.81|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" [[Special:Contributions/141.101.96.40|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"--[[User:Yodofrna|Yodofrna]] ([[User talk: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 [[User:Dextrous Fred|Dextrous Fred]] ([[User talk:Dextrous Fred|talk]]) 00:49, 2 April 2021 (UTC)
 +
 +
YOUTUBE -> RXJKDH1KZ0W = https://www.youtube.com/watch?v=RXJKdh1KZ0w [[Special:Contributions/162.158.238.245|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. [[User:LordPants|LordPants]] ([[User talk:LordPants|talk]]) 00:53, 2 April 2021 (UTC)
 +
 +
 +
One possible ending: HYDROCOPTIC -> Y -> https://imgs.xkcd.com/comics/sojourner_repaired.png [[Special:Contributions/162.158.238.244|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. [[Special:Contributions/141.101.96.40|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? [[Special:Contributions/172.68.132.239|172.68.132.239]] 01:22, 2 April 2021 (UTC)
 +
: SOS returns OH NO now as well [[Special:Contributions/172.68.189.107|172.68.189.107]] 01:27, 2 April 2021 (UTC)
 +
: I got this too, can't seem to get it again. Strange. [[User:Ezist|Ezist]] ([[User talk:Ezist|talk]]) 01:28, 2 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 [[User:Toadtoad|Toadtoad]] ([[User talk:Toadtoad|talk]])
 +
 +
In the png you get when you succeed in repairing Sojourner, there's a typo [[Special:Contributions/108.162.219.50|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. [[Special:Contributions/108.162.215.248|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 [[User:Ad1217|Ad1217]] ([[User talk: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.
 
It doesn't work as described, fo be.  Does it depend on the browser?  I'm using Chrome.

Revision as of 17:09, 2 April 2021


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)

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

 (()=>{
  const checkbox = document.querySelector('#comic>label')
  const asleep = async (dur) => {
    let r
    const p = new Promise(res=>r=res)
    setTimeout(r,dur)
    return p
  }
  const press = async (dur) => {
    checkbox.dispatchEvent(new Event('mousedown'))
    await asleep(dur)
    checkbox.dispatchEvent(new Event('mouseup', { bubbles: true }))
  }
  
  // timings
  const long = async () => press(600)
  const short = async () => press(100)
  const space = async () => asleep(600)      // End character delay
  const endWord = async () => asleep(600)    // End word delay. (same as character)
  const end = async () => await asleep(2100) // End message delay
  
  const type = async (c) =>  {
    if (c == '.') await short()
    else if (c == '-') await long()
    else if (c == ' ') await space()
    else if (c == '/') await endWord()
    //else if (c == '/') await end()
  } 
  const send = async (msg) =>  {
    const code = morse.encode(msg)
    
    // Give checkbox focus and wait a moment so focusin hooks or something may run.
    checkbox.dispatchEvent(new Event('focusin'))
    await asleep(100)
    
    // Type each character
    for await (const char of code)
      await type(char)
  }
  
  // Say something
  send('hi')
 })()
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)