Main Page

Explain xkcd: It's 'cause you're dumb.
(Difference between revisions)
Jump to: navigation, search
(New here?: fix link)
(29 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
__NOTOC__{{DISPLAYTITLE:explain xkcd}}
 
__NOTOC__{{DISPLAYTITLE:explain xkcd}}
 
<center>
 
<center>
<font size=5px>''Welcome to the '''explain [[xkcd]]''' wiki!''</font>
 
  
We have collaboratively explained [[:Category:Comics|'''{{#expr:{{PAGESINCAT:Comics|R}}-10}}''' xkcd comics]],
+
<font size=5px>''Welcome to the '''explain [[xkcd]]''' wiki!''</font><br>
<!-- Note: the -10 in the calculation above is to discount subcategories (there are 8 of them as of 2013-02-27),
+
We have an explanation for all [[:Category:Comics|'''{{#expr:{{PAGESINCAT:Comics|R}}-13}}''' xkcd comics]],
     as well as [[List of all comics]] and [[List of unexplained comics]], which are obviously not comic pages. -->
+
<!-- Note: the -13 in the calculation above is to discount subcategories (there are 8 of them as of 2013-02-27),
and we've explained ALL THE COMICS! Great work everyone!  There's still work to do, so please help
+
     as well as [[List of all comics]] and the pages it has been split across, which are obviously not comic pages.
<!-- only {{#expr:{{LATESTCOMIC}}-({{PAGESINCAT:Comics|R}}-10)}}
+
    The extra one difference corresponds to 404, which is not really a comic, even though we've categorised it so.
({{#expr: ({{LATESTCOMIC}}-({{PAGESINCAT:Comics|R}}-10)) / {{LATESTCOMIC}} * 100 round 2}}%)
+
-->
[[List of unexplained comics|remain]]. '''[[Help:How to add a new comic explanation|Add yours]]''' while there's a chance — or -->
+
and only {{PAGESINCAT:Incomplete explanations|R}}
[[:Category:Incomplete articles|extend incomplete descriptions]]!
+
({{#expr: {{PAGESINCAT:Incomplete explanations|R}} / {{LATESTCOMIC}} * 100 round 0}}%) [[:Category:Incomplete explanations|are incomplete]]. Help us finish them!
 
</center>
 
</center>
 
== Latest comic ==
 
== Latest comic ==
Line 26: Line 25:
 
<div style="float:right; margin: 0 0 1em 1em">{{Special:ContributionScores/10/7/nosort,notools}}<div style="font-size:0.85em; width:25em; font-style:italic">[[Special:ContributionScores|Lots of people]] contribute to make this wiki a success. Many of the recent contributors, listed above, have just joined. You can do it too! Create your account [[Special:UserLogin/signup|here]].</div></div>
 
<div style="float:right; margin: 0 0 1em 1em">{{Special:ContributionScores/10/7/nosort,notools}}<div style="font-size:0.85em; width:25em; font-style:italic">[[Special:ContributionScores|Lots of people]] contribute to make this wiki a success. Many of the recent contributors, listed above, have just joined. You can do it too! Create your account [[Special:UserLogin/signup|here]].</div></div>
  
You can read a brief introduction about this wiki at [[explain xkcd]]. Feel free to sign up for an account and contribute to the 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.
+
You can read a brief introduction about this wiki at [[explain xkcd]]. Feel free to sign up for an account and contribute to the 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.
  
* If you're new to wikis like this, take a look at these help pages describing [[mw:Help:Navigation|how to navigate]] the wiki, and [[mw:Help:Editing pages|how to edit]] pages.
+
*If you're new to wikis like this, take a look at these help pages describing [[mw:Help:Navigation|how to navigate]] the wiki, and [[mw:Help:Editing pages|how to edit]] pages.
  
* Discussion about various parts of the wiki is going on at [[Explain XKCD:Community portal]]. Share your 2¢!
+
*Discussion about various parts of the wiki is going on at the [[explain xkcd:Community portal|Community portal]]. Share your 2¢!
  
* [[List of all comics]] contains a complete table of all xkcd comics so far and the corresponding explanations. The missing explanations are listed [[List of unexplained comics|here]]. Feel free to help out by creating them! '''[[Help:How to add a new comic explanation|Here's how]]'''.
+
*[[List of all comics]] contains a table of most recent xkcd comics and links to the rest, and the corresponding explanations. There are incomplete explanations listed [[:Category:Incomplete explanations|here]]. Feel free to help out by expanding them!
 +
 
 +
*We sell advertising space to pay for our server costs. To learn more, go [[explain xkcd:Advertise Here|here]].
  
 
== Rules ==
 
== Rules ==
Line 39: Line 40:
 
If you want to talk about a specific comic, use its discussion page.
 
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 who repeatedly post such content will be blocked.
+
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 who repeatedly post such content will be blocked.
  
 
If you need assistance from an [[explain xkcd:Administrators|admin]], post a message to the [[explain xkcd:Community portal/Admin requests|Admin requests]] board.
 
If you need assistance from an [[explain xkcd:Administrators|admin]], post a message to the [[explain xkcd:Community portal/Admin requests|Admin requests]] board.
  
 
[[Category:Root category]]
 
[[Category:Root category]]

Revision as of 17:59, 4 March 2014

Welcome to the explain xkcd wiki!
We have an explanation for all 1518 xkcd comics, and only 17 (1%) are incomplete. Help us finish them!

Latest comic

Go to this comic explanation

Code Quality
I honestly didn't think you could even USE emoji in variable names. Or that there were so many different crying ones.
Title text: I honestly didn't think you could even USE emoji in variable names. Or that there were so many different crying ones.

Explanation

Ambox notice.png This explanation may be incomplete or incorrect: Needs fine-tuning and explaining of Ponytail's three comments

Ponytail is about to look at some source code Cueball has written, and he is warning her that he is self-taught so his code probably won't be written the way she is used to. Although few programming languages require a perfectly rigid style so long as the code is syntactically accurate, most programmers follow some sort of style to make the code easier to read. This includes indenting lines to show levels and using descriptive variable identifiers with CamelCase (or camelCase) or snake_case capitalization (capitalizing each word except for the first, and separating lowercase words with underscores, respectively). In spite of Ponytail's initial (polite) optimism, she comments in three increasingly harsh and absurd similes. Firstly, she suggests that reading his code is like being in a house built by an unskilled child, using a small axe to put together what he thought was a house based on a picture. Secondly, she suggests that it looks like a salad recipe, written by a corporate lawyer (who are notoriously difficult to understand), on a phone with autocorrect that only corrected things to formulas from Microsoft Excel (which are notoriously complicated). Thirdly, she suggests that it is a transcript of the dialogue of couple arguing at IKEA (a world-wide chain of furniture stores which feature large, maze-like showrooms as well as a large warehouse area where you can pick up the furniture you want to buy in flat, some-assembly-required packaging; especially on weekends when many people crowd in to a store, they can be stress-inducing places), the transcript of which was then randomly edited until the computer compiled it with no errors. Finally, Cueball surrenders and makes the rather weak assurance that he will read “a style guide”.

A common technique for self-taught programmers is to follow and adapt tutorials, and to find examples of similar problems being solved and try to copy the code. This can (but doesn't always) lead to code that is hard to follow or otherwise "messy" as various different pieces of code are jury-rigged together and tinkered with until they seem to work. Once a piece of code is working, it is usually considered too hard to go back and rewrite it to be cleaner or clearer, also at the risk of breaking something that has been working. This practice is known as refactoring and code projects that incorporate cycles of refactoring tend to be easier to read and maintain than those that don't.

The title text refers to emoji, or "smiley faces". They exist in Unicode, or can be simulated using ASCII characters. Many languages will allow variable names to include underscores, so a variety of sad face ASCII emoji will be legal variable names, such as T_T, p_q, ioi etc. Progressively more possible crying-face emoji are possible if variables can include UTF-8 characters or full Unicode. To this end, Ponytail is implying that at least a portion of, and possibly most or all of Cueball's variables were emoji variables.

In the realm of Unicode, there are many crying emojis, as the comic states (e.g. 😢,😭,😂,😿,😹) In most programming languages it would be impossible to use them in variable names, as the symbols would break the language's syntax rules. Notable exceptions to this are Go and Swift, Apple's new programming language, in which the code can understand and use emojis in variables. Java, as another example, allows unicode characters in variable names as long as they are letter, numeric, combining or non-formatting marks. (See [1] and [2]). Also, some C++ compilers support foreign Unicode characters and can have emoji in that manner.

Transcript

[Cueball showing Ponytail his laptop]
Cueball: Keep in mind that I'm self-taught, so my code may be a little messy.
Ponytail: Lemme see - I'm sure it's fine.
[Ponytail sits at desk]
Ponytail: ...Wow. This is like being in a house built by a child using nothing but a hatchet and a picture of a house.
Ponytail: It's like a salad recipe written by a corporate lawyer using a phone autocorrect that only knew Excel formulas.
Ponytail: It's like someone took a transcript of a couple arguing at IKEA and made random edits until it compiled without errors.
Cueball: Okay, I'll read a style guide.

Is this out of date? Clicking here will fix that.

New here?

Last 7 days (Top 10)

Lots of people contribute to make this wiki a success. Many of the recent contributors, listed above, have just joined. You can do it too! Create your account here.

You can read a brief introduction about this wiki at explain xkcd. Feel free to sign up for an account and contribute to the 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.

  • Discussion about various parts of the wiki is going on at the Community portal. Share your 2¢!
  • List of all comics contains a table of most recent xkcd comics and links to the rest, and the corresponding explanations. There are incomplete explanations listed here. Feel free to help out by expanding them!
  • We sell advertising space to pay for our server costs. To learn more, go here.

Rules

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 who repeatedly post such content will be blocked.

If you need assistance from an admin, post a message to the Admin requests board.

Personal tools
Namespaces

Variants
Actions
Navigation
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?