1678: Recent Searches

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search
Recent Searches
autoexec code posted by verified twitter users
Title text: autoexec code posted by verified twitter users

[edit] Explanation

People often find answers to computer problems by searching on Google, which attempts to guess your intended search term based on your location, language and the characters you've already typed, placing its suggestions in a drop-down box beneath the input area. Here we see a list of search queries, each of which suggests the author is perversely misusing or overextending some computer technology. The overall impression is of someone technically sophisticated enough to shoot themselves in the foot, and who does not learn any larger lessons despite doing so repeatedly. The title text is another possible entry in this list.

The caption implies that from Randall's perspective, every computer he uses seems to be broken; he doesn't seem to realise this is because he's the one using them, not because the computers actually start off broken. (For similar themes see also these comics: 349: Success, 1084: Server Problem, 1316: Inexplicable and 1586: Keyboard Problems).

(Dear people from the future, if Google directed you here because it is the most popular result for a problem you are experiencing, this is not the page you were looking for).

[edit] Table of searches

Search Explanation
Google translate syntax highlighting Syntax highlighting can be used when editing source code to make the code more readable and easier to understand. It is not generally used for natural languages, but sentence diagrams of brief passages are used in language education. Google Translate is used to translate text from one natural language to another. It uses JavaScript mouseover() to highlight words as an aid in matching phrases in the source with their translations, but does not apply different highlighting dependent on syntax.

Alternatively, this could imply that Randall is attempting to translate code from one programming language to another using Google Translate. Success would be unlikely, since the service is not intended for this, [citation needed] and syntactically valid output might further break the computer executing it.

Two other possible interpretations of this phrase are that Randall wants to translate the phrase "syntax highlighting" to another language, or that he wants to perform syntax highlighting on the source code for Google Translate.

Autodetect mixed bash zsh bash and zsh are two command line interfaces for Unix-like OSes. The way to execute commands is almost identical, making detecting a script that contains a mixed syntax nearly impossible.
CPU temperature sensor limits The CPU's temperature sensors exist to tell you when your CPU is becoming dangerously overheated (normally because of a faulty fan or overclocking). Someone who searches for information about the limits of those sensors is presumably expecting to misuse their CPU. Probably also a reference to 1172: Workflow.
GIF to XLS .GIF (Graphic Interchange Format) is a file extension used to store images and sequences of images to be displayed as an animation. .XLS is the file extension for Microsoft Excel spreadsheets. The joke is that the two file types are used for different purposes - it's quite normal for someone to want to convert between .GIF, .JPG, .PNG, .BMP files, as these are all image files; or between .XLS, .CSV, and .ODS files, as these all record tabulated information. However, for some reason Randall wants to convert an image file to a spreadsheet. (This is actually possible, because a digital image is essentially an array of colour and brightness values; it just wouldn't be particularly useful for most people. Here is a webpage with an online converter.) Matt Parker has done a stand up routine about converting these two file types.

An alternate way to convert an image file, such as a .GIF file, into a text-based file like an .XLS file, is through optical character recognition (OCR). This is only effective if the image is a copy (i.e. a scan or reasonably clear photograph) of a document containing letters and words, and neither .GIF nor .XLS are file formats anyone would usually use in that case.

Clock speed jumper sample rate A jumper is an intentional short circuit used for selecting options for an electronic circuit. They are usually used where it is not feasible to use programming (such as outputting a byte or word through a port) to alter the selection, such as before the processor even begins executing. A common example would be, on some motherboards, jumpers can be used to alter the clock speeds of various motherboard functions (such as the CPU or the front side bus). These jumpers should ordinarily be modified when the computer is off. However, this search is asking how often the motherboard checks the status of the clock speed jumpers, implying that they intend to change these jumpers while the computer is powered on, and often enough that the sample rate matters (change cpu speed several times a second, by moving jumpers on the motherboard.). That is, of course, a little silly.
Clean reinstall keybinding This refers to keybinding, the practice of mapping (binding) a certain key to a certain function (e.g., pressing PRTSC will take a screenshot). Most keyboards do not output characters directly, but only codes for which keys have been pressed (or released). Keybindings translate the pressing of the "A" key on your keyboard into the letter "A" being sent to a program which is reading keyboard input. A "clean reinstall" of keybindings is something that would almost never be necessary - it means Randall has modified his default keybindings to such an extent that his leopard has become unusable (similar to 1284: Improved Keyboard), necessitating a "clean reinstall" of the bindings. Alternatively, he might be doing clean reinstalls so often that he wants a keybinding to execute them with minimal loss of time.
Cron job to update crontab Cron is a utility on most Unix-like OSes that allows you to schedule commands or scripts to be run periodically. These scheduled jobs are read from a crontab file. A job that updates the crontab (therefore creating new jobs, removing old ones or editing existing ones) is paramount to a job scheduler, and trying to use cron for such functionality could result in highly unstable functionality (although a crontab could be sensibly regenerated periodically by a set of machines from a master crontab file annotated with per-host directives). This is similar to self-modifying code.
fsck Chrome extension

This is a search for an interface to the Unix filesystem checker fsck via third-party software added to Chrome. fsck is a program for checking your filesystem for corruption. Repairing a filesystem this way would be inadvisable. [citation needed] This might indicate confusion about the meaning of the term "online filesystem repair", in which "online" means "while the filesystem is in use" rather than "over the Internet". Alternatively, Randall might want to repair an installation of the operating system Chromium, in a manner less drastic than the factory reset preferred by Google.

Recursive font An idiosyncratic mix of recursion and the font style cursive, referring especially to text handwritten in a flowing manner. PostScript (the language in which some fonts are written) is capable of recursion and PostScript Type 3 fonts are able to use the full language. This could create effects like fonts with complicated fractal borders and fill patterns - but the increase in processing time would contribute to seeming brokenness of the computer (or printer) rendering the font.

A true recursive font would be a form of fractals (example).

Regex matching valid EBNF EBNF refers to Extended Backus–Naur Form, which is used to define formal languages. EBNF specifies recursive patterns that are impossible for a regular expression (regex) to determine whether it is valid or not. There is some irony in using regex to test the validity of something which defines the validity of things like regex.
Hardlinks Turing complete In some file systems, for example ext4 and NTFS, a single file may be referenced in multiple places in the file system. These filenames are termed "hard links" because the operating system automatically resolves them to the actual file. "Soft" or "symbolic" links are resolved indirectly via a pathname, which may reside anywhere. A file is considered deleted when the last hard link to it is unlinked; a soft link exists independently of its target. In fact, the target need not exist, in which case this is often called a dangling symbolic link.

Turing completeness is the computational complexity required to simulate any computable function (given an infinite amount of memory). Recently there have been cases where unexpected mechanisms from card games to text parsers were proved to be Turing complete. Hardlinks being Turing complete would imply that creating and deleting hardlinks alone is enough to satisfy the requirements of Turing completeness.

Opposite of safe mode Safe mode is a diagnostic mode in many operating systems and applications which allows the user to troubleshoot problems by disabling unnecessary functionality. The "opposite of safe mode" implies a "dangerous mode" where the purpose is to allow uselessly dangerous actions (in actuality this supposed dangerous mode is the default mode). A common example is the sudo command in Unix-like OSes, which grants the user system-level permissions.

It's also possible that Randall sees Safe Mode so often that he sees regular mode as an unusual and unique state and needs help navigating back to it.

Predictive touchpad Predictive text is a feature of many smartphone keyboards that predicts the most likely word the user wishes to type, and then gives the user the option to place the full word in the sentence immediately without having to finish typing it. A touchpad is a computer pointing device, similar to a computer mouse. The idea of a "predictive touchpad" seems absurd because, as opposed to typed words, there are not a limited number of swipe combinations that are possible on a touchpad. A "predictive touchpad" implies that a computer could predict where the user was going to move the mouse or click, which in this case would seem to defeat the purpose of a user input device. [citation needed].

Interestingly, a version of Linux [citation needed] had a predictive cursor option, where the cursor jumped to the nearest button (like window close) when it moved near to but didn't quite reach that button.

Google docs from bootloader A bootloader is a very small program that is usually the very first thing to execute when a computer boots up. It is used mainly for loading the operating system into memory. Such a program by itself would not be capable of directly running something as complex as Google Docs.
Hardware acceleration red channel only Hardware acceleration means that certain calculations are not performed by the computer's CPU but by a "specialized" processor, e.g. a GPU which is part of the graphics adapter. This speeds up output, especially if complex 3D calculations are required, and reduces CPU load. To use this function only on a single color channel seems pretty useless, but one may want to troubleshoot a program that displays only red when hardware acceleration is enabled.

While graphics cards are most commonly used with three or four channels (red, green, blue, and sometimes alpha), they do support two-channel or single-channel images. An 8-bit single-channel image would use the format 'R8', which is indeed 'red channel only'. This type of image could be used to store monochrome images or non-image data.

autoexec code posted by verified twitter users. (Title text) The term "autoexec" refers to code that runs automatically, usually during boot, and derives from one of three boot-time files for MS-DOS: AUTOEXEC.BAT, CONFIG.SYS and COMMAND.COM. AUTOEXEC.BAT would typically contain commands for customizing the command prompt, loading additional drivers, and/or automatically launching a program.

Automatically executing code from the Internet is generally a terrible idea, because it could be written by someone with malicious intent and harm your computer. The joke here is that the code would only be executed if written by someone who has been "verified" on Twitter. Twitter's verification service only serves to show that a user is who they claim to be, not whether or not their code can be trusted, so this would provide little protection. Usually, Twitter verification is used by celebrities so they can be distinguished from people claiming to be them. The line implies that Randall is only interested in running code posted by celebrities.

Most code downloaded from authentic sources (such as Microsoft and official Linux distributions) is verified by a cryptographic signature from a true trusted source, authenticating the origin of the software. These may include software updates that run automatically in the background. The joke here is that the term "verified" means very different things between Twitter users and software distribution.

[edit] Transcript

[Coloured and styled as the real logo:]
[Google Search bar, with a drop down box with faded text, implying recent searches.]
Google translate syntax highlighting
Autodetect mixed bash zsh
CPU temperature sensor limits
Clock speed jumper sample rate
Clean reinstall keybinding
Cron job to update crontab
fsck Chrome extension
Recursive font
Regex matching valid EBNF
Hardlinks Turing complete
Opposite of safe mode
Predictive touchpad
Google docs from bootloader
Hardware acceleration red channel only
I have no idea why my computers are always broken.

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


You can convert jpg to Excel (http://www.think-maths.co.uk/spreadsheet), so converting gif to Excel is not really absurd... (talk) (please sign your comments with ~~~~)

Or maybe Randall(?) has a screenshot of a spreadsheet (or more realistically, an over-the-shoulder video of someone's spreadsheet), and he wants to OCR it back into a spreadsheet. -- 19:19, 9 May 2016 (UTC)

Interestingly enough "CPU temperature sensor limits" might be a serious consideration for extreme overclockers, who use things like liquid nitrogen to cool their PC. SG 01 (talk) 15:45, 9 May 2016 (UTC)

Not really, the limit of the CPU temp sensors would only necessary if you are planing to get the cpu to really high temperatures. That is, if you are using liquid nitrogen to cool the cpu, you should never reach the limit of the sensors. 18:38, 9 May 2016 (UTC)
Hey, our IP addresses differ only in 8 bits! Does this mean we are in the same part of campus? -- 19:38, 9 May 2016 (UTC)
What... that one is not not my ip! And the guy that mentioned "OCR" up there also has a very similar ip to ours. Is some kind of proxy explainxkcd has? (btw, I wonder if I'll get the same ip on this comment. I haven't disconnected my router or anything) 21:58, 9 May 2016 (UTC)
It appears that explainxkcd.com is using Cloudflare, so all the wiki edits are probably logged as coming from Cloudflare's proxies. A WHOIS search confirms that the IPs to are part of Cloudflare's network -- 22:22, 9 May 2016 (UTC)
I had thought explainxkcd was anonymizing IP addresses to some carefully chosen ranges. Apparently that's just a helpful side effect. Does Cloudflare always assign the same proxy to a particular source address? .42 (talk) 23:34, 9 May 2016 (UTC)
There are collisions. Someone else has edited via the same proxy I use, so now there is another .42 (talk) 21:11, 18 May 2016 (UTC)
Note that it says "limits" in plural, i.e. both upper and lower. -- 19:28, 9 May 2016 (UTC)
There are several "upper limits" -- one for turn on the fan, then speedup the fan, then start making sounds to alarm the user and the final one for doing a hard-shutdown of the computer before it burn out -- so assuming that anybody want to disable the lower is a stretch 04:00, 11 May 2016 (UTC)

Safe mode

This is my first time trying to help out with an explanation, please let me know if I did something wrong ^_^; Undergroundmonorail (talk) 15:48, 9 May 2016 (UTC)

I like where you went with safe/dangerous. Of the "unsafe" synonyms I found my favorite is "menacing mode". Elvenivle (talk)
My first impression here though was that he's so often dropping to safe mode he forgot what's regular system like or how to get there – so he searches for reference how to get there. 20:29, 9 May 2016 (UTC)

Is it possible the first one is an attempt to misuse google translate to translate programming code (to another programming language or even between linguistic languages)? TheHYPO (talk) 15:59, 9 May 2016 (UTC)

GIF to XLS could be a reference to http://www.think-maths.co.uk/spreadsheet 16:16, 9 May 2016 (UTC)

Nice find. I was thinking like that + a macro to flip sheets. Elvenivle (talk)

Doesn't "recursive" mean that it repeats (recurs)? Cardboardmech (talk) 16:44, 9 May 2016 (UTC)

Sort of. In computing, it's a little more specific, though, referring to functions that call themselves as part of their normal running. This in turn has led to the idea of recursive definitions, that of course refer to the original word. Example: "recursion: see recursion."
I take issue with the explanation for another reason, though. True, regexes probably can't be used to check the validity of EBNFs. It's a little bit more complicated than that, though. If one has ever used a compiler-compiler like yacc (which, supposedly uses EBNF grammars or EBNF-like grammars), another tool in the Unix world comes to mind, awk. Awk is similar enough in design to a cc that it can do the job of one, and people have apparently made compilers in awk. And what does awk use for its pattern matching? Regexes. Exercise for the reader: Write an EBNF for EBNFs. :D. Tibfulv (talk) 17:49, 10 May 2016 (UTC)
If you allow recursive regexes, it *is* possible to match EBNF with a regex: http://forums.xkcd.com/viewtopic.php?f=7&t=115494&p=3974658#p3974278 19:38, 10 May 2016 (UTC)

Silly comment because: can't...stop...laughing. Elvenivle (talk)

Hey... what does this line refer to? "A complication in attempting to solve computer problems this way would be presented by Google's search term autocorrection, which for several years has replaced technical terms with unrelated language from recent popular culture." I can't see how it's relevant to the comic, is it implying that these arent actually the questions he searched for, they're one autocorrection away from what he was trying to find? 00:14, 10 May 2016 (UTC)

For example, Google suggests "fsck" should be "fleck" and automatically alters the results accordingly. "Fleck Chrome extension" is a reasonable search query (Fleck is a web annotation service) but "fleck" is implausible as a typo. .42 (talk) 00:28, 10 May 2016 (UTC)
That seems like a stretch to me... if that was the intention then there would be no joke. 00:03, 11 May 2016 (UTC)
autoexec joke

isn't this related to autoexec.bat? Blydro (talk) 16:00, 9 May 2016 (UTC)blydro

Or...autoexec.ncf (Netware), autoexec.nt (Windows), autoexec.cfg (Source/Valve/Counterstrike) and an adult reference at Urban Dictionary. Elvenivle (talk)

This isn't farfetched. In need of a server, I was recently considering using obfuscated strings in a public blog to temporarily control my own apps...and malware's been doing stuff like this for ages. Elvenivle (talk)

I don't think a reference to "autoexec.bat" makes sense in the context of the comic... it's just a word that sounds similar (not being cheeky) 00:03, 11 May 2016 (UTC)

I originally interpreted "clean reinstall keybinding" as meaning that his keybindings were so entirely screwed that he wanted to do a clean reinstall of the keybinding system, but the other interpretation is funnier. 16:24, 9 May 2016 (UTC)

I interpreted this to mean that he created a keybinding that automatically performs a clean reinstall of the OS


I've only ever seen "fsck" as a way of saying "fuck" that bypasses content filters, such as in global chat in games like World of Warcraft. 16:25, 9 May 2016 (UTC)

I'm pretty sure it's file system consistency check. It's a program for checking your Linux filesystem. I think the Joke is that he needs to check his filesystem for corruption so often that he needs the convenience of a chrome extension. I have not edited the page because I neither use chrome extensions nor have I ever run fsck. Can anyone back me up on this? 16:43, 9 May 2016 (UTC)

Yes, that's what fsck refers to here. I've run it many a time on my old Red Hat installation that somehow kept corrupting itself. --PsyMar (talk) 16:54, 9 May 2016 (UTC)

Can some wonderful person provide an explanation for this? "This is probably a search for an interface to the Unix filesystem checker fsck via third-party software added to Chrome. Repairing a filesystem this way would be inadvisable. [citation needed]" It jokingly says "citation needed", but ironically, some sort of citation (well, explanation) really is needed... it's not obvious at all why it would be inadvisable, or what the joke actually means. 00:21, 11 May 2016 (UTC)

I added the line "fsck is a program for checking your filesystem for corruption." based on the discussion immediately above, but an explanation for why a Chrome extension to execute this program is funny/weird would be helpful to people like me. The lines immediately after it (about Chromium etc.) seem unrelated to the joke, and only make it more confusing... if a Unix user could spell it out maybe... 00:28, 11 May 2016 (UTC)
As long as you are not trying to run the fsck on ROOT filesystem (or /home, or anything other currently mounted), it doesn't matter if it's chrome extension. But it's true that usually fsck is run as part of system boot, when no filesystem is mounted in read/write mode, and it is not possible to run Chrome in such situation. -- Hkmaly (talk) 03:57, 16 May 2016 (UTC)
[Extended explanation] Information about files often occur in multiple places on the disk. This redundancy increase the chance of repairing a corrupt file system. Fsck will read data from the disk, and if it finds inconsistencies, write new corrected data back. When a file system is mounted, a file system driver will read and write data of the disk in normal operation. If the two processes are simultaneous and unaware of each other, they may be confused and even create inconsistencies that wasn't there to begin with. E.g. Template:original research: A file system driver may have cached data in working memory. If fsck updates that data on disk, the cache will be out of sync. The file system driver may be confused by this, or, if it writes back the cache to the disk, the fsck fix will be undone, and possibly a new different inconsistency would be created. Or, while fsck is comparing different parts of the file system, it will read one block at one point in time and another block at another point in time. At a time in between, normal operation may have created, changed or removed a file. Fsck then may think it has found an inconsistency (that does not exists) and try to fix it, possibly creating an inconsistency. Therefor, the fsck command will detect if a file system is mounted and issue a really scary warning against proceeding. /David A 21:22, 24 September 2016 (UTC)
Predictable touchpad

A predictable touchpad would actually be a major blow to internet security -- mouse events are being used to seed randomness generators for cryptography. I don't think this piece of information is suited for the explanation, but just in case someone's interested: You're welcome! 16:26, 9 May 2016 (UTC)

Just came across this: Pre-Touch Sensing for Mobile Interaction https://www.youtube.com/watch?v=fiZkEYLXctE 12:38, 10 May 2016 (UTC)

Title text

After the npm burndown, someone actually made it possible to require from twitter: (https://gist.github.com/rauchg/5b032c2c2166e4e36713) 18:25, 9 May 2016 (UTC)

Syntax highlighting a natlang

Syntax highlighting a natural language might color the subject, verb, object, adverbs, and prepositional phrases. --Tepples (talk) 18:27, 9 May 2016 (UTC)

Google Translate is not limited to natlangs (e.g. it has Esperanto). And I heard of some syntax highlighters for conlangs (namely Lojban). -- 19:13, 9 May 2016 (UTC)

"syntax highlighting Google translate" gives wildly different results from "Google translate syntax highlighting". The explainxkcd article has been climbing in the results; can it displace Wikipedia or CPAN for these queries? Might there be a hidden joke related to some query in the list? .42 (talk) 00:54, 10 May 2016 (UTC)

(Update: for both queries, we have displaced Wikipedia, StackOverflow, and CPAN in some Google servers.) .42 (talk) 02:49, 10 May 2016 (UTC)
The first result was Google's own documentation. No more! .42 (talk) 04:00, 10 May 2016 (UTC)

Is it really suitable to use the word leopard instead of keyboard? Even though it's linked to the relevant comic explanation it seems likely to add unnecessary confusion and doesn't really add to this explanation. 10:30, 10 May 2016 (UTC)

It seems cool to me as long as the explanation is clear enough that your brain expects "keyboard" even if you previously didn't know what "keybinding" meant. I added a sentence to try and make it more obvious. 00:08, 11 May 2016 (UTC)

Isn't the clean reinstall keybinding pointless for saving time since he'd have to redo it every time he did a clean reinstall? Figvh (talk) 11:34, 10 May 2016 (UTC)

I think you're assuming that keybinding is about setting up new shortcuts (which the explanation used to seem to be saying); I think the jokes actually about the keyboard being functional at all... 00:08, 11 May 2016 (UTC)

Idea for Turing-complete hardlinks: get an old UNIX that allows hardlinks to directories. With those, you can create loops in the filesystem (it's now an arbitrary directed graph, not a tree). Write an interpreter repeatedly calls link, chdir, mkdir, or rmdir based on some pattern matching on the existing names. It could terminate when it finds itself in an empty directory. Now you write programs on top of that interpreter by carefully setting up a tangle of directories and launching the interpreter at the right starting point. 00:13, 11 May 2016 (UTC)


maybe it's just me, but does google actually do this any more? it certainly used to. now all i get is nothing until i start typing, when i get a list of the most popular results for other people's searches. if you have to turn javascript (or something else) off to see this, maybe it should be mentioned. -- 12:36, 10 May 2016 (UTC)

still having problems with this. i think i understand the joke, but the comic seems to rely on something which i'm pretty sure doesn't happen. i'm old enough to remember when google would allow the default browser behaviour for textboxes, which is to cache the values you entered in this box and display them to you as a dropdown when you started typing. pressing alt-down would open the list unfiltered and unsorted. this is, i'm guessing, what randall is alluding to. which means that the list is hist search history in google. which makes the text of the joke funny. unfortunately google doesn't do this any more. i've tried it in chrome, firefox, ie and edge and it just doesn't, even if i'm logged in as me. alt-down has no effect. if you start typing it does open a dropdown to autocomplete, but from very scant research this isn't in any way tailored to the user. it just gives you the most popular searches that complete the text you type, with no regard for your search history. i could be wrong about that. if i am, and google does tailor it to your particular search history, then that does make the joke funny again. since not only does randall search for these things enough that google noticed that he likes them (possibly because this is all he searches for) but people search for these ridiculous things enough that google thinks that they are popular. which, even if true is a little remote a possibility. and undermines the joke about randall being special in breaking his computer. maybe i'm overthinking it. or not. did i miss something obvious? this is supposed to explain the comics and i need a little help. -- 12:57, 13 May 2016 (UTC)

I might be wrong, but I think the explanation for "Google docs from bootloader" is missing the point entirely - I believe this is not referring to the application from Google but instead means having the bootloader access Google document files (note that "docs" is lower case here) in order to somehow control or modify the bootloader behavior. These document files might be created and maintained through Google Docs (the application) and then accessed from within the bootloader later. While this may be technically infeasible and extremely unwise for a variety of reasons, if it could be done, it would fit the subject of this comic perfectly - the result would be the potential for severe bootup problems! --Ianrbibtitlht (talk) 17:02, 4 June 2017 (UTC)

I see now that the text within the comic is all upper case, but the thought is still valid. --Ianrbibtitlht (talk) 17:08, 4 June 2017 (UTC)
Personal tools


It seems you are using noscript, which is stopping our project wonderful ads from working. Explain xkcd uses ads to pay for bandwidth, and we manually approve all our advertisers, and our ads are restricted to unobtrusive images and slow animated GIFs. If you found this site helpful, please consider whitelisting us.

Want to advertise with us, or donate to us with Paypal?