Main Page

Explain xkcd: It's 'cause you're dumb.
(Difference between revisions)
Jump to: navigation, search
(calc fix (thanks Omega!))
Line 5: Line 5:
We already have [[:Category:Comics|'''{{#expr:{{PAGESINCAT:Comics}}-3}}''' comic explanations]]!</big>
We already have [[:Category:Comics|'''{{#expr:{{PAGESINCAT:Comics}}-3}}''' comic explanations]]!</big>
(But there are still {{#expr:{{LATESTCOMIC}}-{{PAGESINCAT:Comics}}-3}} to go. Come and [[List of all comics|add yours]]!)
(But there are still {{#expr:{{LATESTCOMIC}}-({{PAGESINCAT:Comics}}-3)}} to go. Come and [[List of all comics|add yours]]!)

Revision as of 11:39, 11 August 2012

Welcome to the explain xkcd wiki! We already have Expression error: Unrecognised punctuation character ",". comic explanations!

(But there are still Expression error: Unrecognised punctuation character ",". to go. Come and add yours!)

Latest comic

Go to this comic

"Oh, you're using their Chrome APP, not their Chrome EXTENSION. They're very similar but one handles window creation differently." is a thing I hope I can stop saying soon.
Title text: "Oh, you're using their Chrome APP, not their Chrome EXTENSION. They're very similar but one handles window creation differently." is a thing I hope I can stop saying soon.


This comic revolves around the complexity and somewhat low quality of modern software. Many problems that users experience are not obvious or straightforward, and methods for correcting the root cause the problem requires on invoking unrelated actions that happen to cause a desired side-effect. Knowing the non-obvious cause, the desired side effect, and how to trigger the unrelated feature that causes it requires memorization of lots of "stupid computer knowledge" rather than general principles and logical investigation of the software.

One particular example of an illogical fix to a software problem is depicted in the comic. Here, Cueball is trying to help Hairy resolve the problem of a program that is not responding to any mouse clicks. Cueball (correctly?) surmises that this is not due to abnormal behavior of the software ("freezing"), but rather because either the user or the software itself has opened a modal dialog window outside of the main screen area, where it can not be seen. Modal dialog windows block access to the rest of the application, by seizing the sole focus of the user input. They are valid GUI tools and are used when the software needs user's input before it can proceed further. However, opening such window and placing it outside of the visible screen area ("off-screen") will make the window both inaccessible and invisible to the user, precluding them from closing it and re-gaining access to the software.

One non-obvious way to repair such problem is to switch the screen resolution; Switching the resolution in itself does not fix the problem, but the resolution switch also forces the operating system to redraw all windows on the desktop and, some operating systems will also validate the coordinates of all windows and adjust these coordinates so that the windows do not end up in off-screen area. In this scenario, it is used as a side-effect to fix the problem, because operating systems rarely provide other, more obvious ways to bring the off-screen windows back to the visible area.

By saying "Why is it even possible?", Hairy is quite correct in pointing out that the best way to address this problem at its root would be for the operating system developers to prevents the creation of windows off-screen, preventing a whole class of window management problems before they can occur. Such mechanisms could validate coordinates during window creation, thus making sure that the dialog window would always be accessible and visible.

In general, one can sort the possible solutions to the problem being discussed in the following order of preference, from best to worst:

  • (Best): Have OS programmers implement automatic coordinate adjustment during window creation
  • Have OS programmers provide easily accessible and visible control to invoke coordinate adjustment for all windows
  • Have OS programmers provide a shortcut to invoke coordinate adjustment for all windows
  • (Worst, depicted in comic): Have users rely on side-effect of properly implemented screen resolution change mechanism to fix the problem counter-intuitively.

The title text refers to the fact that two different and unrelated software packages can have confusingly similar names, even if the usage and features of those two packages can vary wildly, and knowing the implications of using one instead of the other is a case of "stupid computer knowledge". Knowing the difference between a Chrome app, a cell phone app-style application, delivered from the Chrome web store, designed to be run in the Chrome browser, and a Chrome extension, a browser extension installed into the Chrome browser, delivered from the Chrome web store, designed to modify the behavior of the browser itself, is a subtle distinction not immediately apparent to users who may just have the name of the software they are looking for.

In many cases, Randall (or Cueball, his avatar) loves to help people using his specific knowledge (see 208: Regular Expressions). But when the trick is "stupid", he would prefer the programmers to fix the problem definitively so he never has to rely on this trick anymore.


[Hairy sitting at a desk with laptop, with Cueball standing behind him.]
Hairy: Wait, why can't I click anywhere?
Cueball: I don't... Ugh, It opened a dialog box offscreen.
Hairy: Why is that even possible?
Cueball: It really shouldn't be. But you can fix it by changing your screen resolution to trigger a window cleanup.
Hairy: Seriously?
Cueball: I know, I know...
[Caption below the frame:]
To be honest, I can't wait for the
day when all my stupid computer
knowledge becomes obsolete.

New here?

Feel free to sign up for an account and contribute to the explain xkcd wiki! We need explanations for comics, characters, themes, memes and everything in between. If it is referenced in an xkcd web comic, it should be here.

  • List of all comics contains a complete table of all xkcd comics so far and the corresponding explanations. The red links (like this) are missing explanations. Feel free to help out by creating them!


Don't be a jerk. There are a lot of comics that don't have set in stone explanations, feel free to put multiple interpretations in the wiki page for each comic.

If you want to talk about a specific comic, use its discussion page.

Please only submit material directly related to—and helping everyone better understand—xkcd... and of course only submit material that can legally be posted (and freely edited.) Off-topic or other inappropriate content is subject to removal or modification at admin discretion, and users posting such are at risk of being blocked.

If you need assistance from an admin, feel free to leave a message on their personal discussion page. The list of admins is here.

Explain xkcd logo courtesy of User:Alek2407.

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 or Bitcoin?