<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://www.explainxkcd.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=162.158.167.60</id>
		<title>explain xkcd - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://www.explainxkcd.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=162.158.167.60"/>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php/Special:Contributions/162.158.167.60"/>
		<updated>2026-06-27T05:37:59Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=1513:_Code_Quality&amp;diff=163660</id>
		<title>1513: Code Quality</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=1513:_Code_Quality&amp;diff=163660"/>
				<updated>2018-10-04T13:35:23Z</updated>
		
		<summary type="html">&lt;p&gt;162.158.167.60: /* Explanation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 1513&lt;br /&gt;
| date      = April 17, 2015&lt;br /&gt;
| title     = Code Quality&lt;br /&gt;
| image     = code quality.png&lt;br /&gt;
| titletext = I honestly didn't think you could even USE emoji in variable names. Or that there were so many different crying ones.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
This comic is the first in the [[:Category:Code Quality|Code Quality]] series, and is about the apprehension of asking for help from an expert who is a friend. Often we fear that we will be judged and they will think less of us, which is what occurs in this comic.&lt;br /&gt;
&lt;br /&gt;
[[Ponytail]] is about to look at some {{w|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.&lt;br /&gt;
&lt;br /&gt;
In spite of Ponytail's initial (polite) optimism, she comments in three increasingly harsh similes (and a fourth in the title text). The comic was later followed in [[1695: Code Quality 2]] and [[1833: Code Quality 3]], where Cueball is never shown on screen but only replies off-screen to four more even harsher comments (plus the title text ones), taking the total of her abusive comments up to 14!&lt;br /&gt;
&lt;br /&gt;
First, she suggests that reading his code is like being in a house built by a child, using a hatchet (a small axe) to put together what he thought was a house based on a picture. She is saying that the code shows a lack of command of the language being programmed. This is like the common expression &amp;quot;If all you have is a hammer, everything looks like a nail.&amp;quot;  New programmers make use of the same techniques repeatedly, using them for situations that they are not intended for.&lt;br /&gt;
&lt;br /&gt;
Second, she suggests that it looks like a salad recipe, written by a corporate lawyer on a phone with autocorrect that only corrected things to formulas from Microsoft Excel. She is saying that the code is verbose and the corrections that were done are illogical. This presumably relates to the developer not being an expert in their craft, and fixing the problems as they come up instead of reexamining the problem and solving it in a better way.&lt;br /&gt;
&lt;br /&gt;
Third, she describes it as a transcript of a couple arguing at a branch of the Swedish retail chain {{w|IKEA}}, which was then randomly edited until the computer compiled it with no errors. She is saying that the intent of the code is unclear due to the seemingly random use of the language. This is very similar to an infinite amount of monkeys bashing away on typewriters for an infinite amount of time eventually producing the complete works of Shakespeare. (A couple's argument may be even less coherent at IKEA than at the average store, since IKEA products always have idiosyncratic names and many of them are difficult to pronounce or transcribe for anyone who doesn't speak Swedish.) This might happen if the code was written so bad that it does not compile, and people edited the code until it compiles so they can see what the code accomplishes. That Cueball's code is in this bad a shape indicates he really hasn't learned the programming language; he just happens to have a program that works in some shape or fashion. &lt;br /&gt;
&lt;br /&gt;
Finally, Cueball makes the rather weak assurance that he will read &amp;quot;a style guide&amp;quot;, which articulates the intended use of the language. It seems clear from Ponytail's commentary that his {{w|Software quality|code quality}} would benefit from far more training in computer programming.&lt;br /&gt;
&lt;br /&gt;
The title text refers to {{w|emoji}}. Ponytail's comment implies that some of Cueball's variables contained emoji, perhaps in an effort to capture the emotional content of the arguments which show through the requirements document. Emoji has become a [[:Category:Emoji|recurrent theme]] on xkcd, but this may have been the first comic to use them for a pun.&lt;br /&gt;
&lt;br /&gt;
===Emoji===&lt;br /&gt;
Many crying-face emoji are possible if variables can include full Unicode (e.g., 😢,😭,😂,😪,😥,😰,😿,😹). In some programming languages it would be impossible to use them in variable names, as the symbols would break the language's syntax rules. Exceptions to this include {{w|Swift (programming language)|Swift}} and {{w|Perl|Perl}} ([http://perldoc.perl.org/5.24.0/perlunicode.html]), but most languages with compilers that support Unicode characters can include this kind of emoji, even for languages that predate Unicode like {{w|C++}} and {{w|Lisp_(programming_language)|Lisp}}&lt;br /&gt;
&lt;br /&gt;
In any event, Cueball's code may best be represented by a bunch of people crying, as that is the only proper response to it.&lt;br /&gt;
&lt;br /&gt;
===Programming Style===&lt;br /&gt;
Although few programming languages require a perfectly rigid style, so long as the code is syntactically accurate, most programmers follow some sort of {{w|Programming style|style}} to make the code easier to read. This includes indenting lines to show levels and using descriptive variable identifiers with special capitalization, (e.g., {{w|camelCase}}, capitalizing each word except for the first in a sentence, or {{w|snake_case}}, separating lowercase words with underscores).&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
:[Cueball showing Ponytail his laptop.]&lt;br /&gt;
:Cueball: Keep in mind that I'm self-taught, so my code may be a little messy.&lt;br /&gt;
:Ponytail: Lemme see - I'm sure it's fine.&lt;br /&gt;
&lt;br /&gt;
:[Ponytail sits at desk, Cueball stand behind her.]&lt;br /&gt;
:Ponytail: ...Wow. This is like being in a house built by a child using nothing but a hatchet and a picture of a house.&lt;br /&gt;
&lt;br /&gt;
:[Ponytail sits at desk, Cueball stand behind her.]&lt;br /&gt;
:Ponytail: It's like a salad recipe written by a corporate lawyer using a phone autocorrect that only knew Excel formulas.&lt;br /&gt;
&lt;br /&gt;
:[Ponytail sits at desk, Cueball stand behind her.]&lt;br /&gt;
:Ponytail: It's like someone took a transcript of a couple arguing at IKEA and made random edits until it compiled without errors.&lt;br /&gt;
:Cueball: '''''Okay,''''' I'll read a style guide.&lt;br /&gt;
&lt;br /&gt;
==Trivia==&lt;br /&gt;
*Emoji can be simulated using {{w|ASCII}} characters, but their roots are mostly separate from ASCII {{w|emoticon}}s. Most languages will allow variable names to include underscores, so some sad face ASCII emoticon will be legal variable names, such as &amp;lt;code&amp;gt;T_T&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;p_q&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; etc., but such things rarely show up in software variables. Many more can be made possible using [http://hexascii.com/sad-emoticons/ UTF-8 characters].&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Code Quality]]&lt;br /&gt;
[[Category:Comics sharing name|Code Quality 01]]&lt;br /&gt;
[[Category:Comics featuring Cueball]]&lt;br /&gt;
[[Category:Comics featuring Ponytail]]&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Computers]]&lt;br /&gt;
[[Category:Language]]&lt;br /&gt;
[[Category:Emoji]]&lt;br /&gt;
[[Category:Cueball Computer Problems]]&lt;/div&gt;</summary>
		<author><name>162.158.167.60</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=Talk:2042:_Rolle%27s_Theorem&amp;diff=162507</id>
		<title>Talk:2042: Rolle's Theorem</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=Talk:2042:_Rolle%27s_Theorem&amp;diff=162507"/>
				<updated>2018-09-09T04:48:11Z</updated>
		
		<summary type="html">&lt;p&gt;162.158.167.60: reply to FTC comment&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Please sign your posts with ~~~~ and don't delete this text. New comments should be added at the bottom.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we wait for https://en.wikipedia.org/wiki/Munroes_theorem. [[Special:Contributions/172.69.54.165|172.69.54.165]] 15:51, 5 September 2018 (UTC)&lt;br /&gt;
:Can't wait to see how long it takes to remove the article. [[User:Linker|Linker]] ([[User talk:Linker|talk]]) 17:05, 5 September 2018 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Proposed ideas for Munroe's Law:&lt;br /&gt;
::- Any seemingly simple idea will be difficult to prove; the simpler it seems, the harder the proof.&lt;br /&gt;
::- Any proof which is discovered by a layperson will have been previously discovered by an expert (or an &amp;quot;expert&amp;quot;) in the field.&lt;br /&gt;
:[[User:Rajakiit|Raj-a-Kiit]] ([[User talk:Rajakiit|talk]]) 17:57, 5 September 2018 (UTC)&lt;br /&gt;
:I do not have the time to do it good, so here a suggestion: Would someone go to the wikipedia page of Rolle's theorem and add a &amp;quot;in popular culture&amp;quot; section? may be a first? Not even &amp;quot;Nash equilibrum&amp;quot; has that :-) [[Special:Contributions/162.158.234.16|162.158.234.16]] 08:13, 6 September 2018 (UTC)&lt;br /&gt;
::Speaking of popular culture, there's a (moderately) well known Ballad of Rolle's theorem [https://www.youtube.com/watch?v=S0BXv90MlhA Balada o vete Rolleovej] (&amp;quot;moderately&amp;quot; meaning some people who studied at Faculty of mathematics in Bratislava might have heard (of) it) --[[User:Kventin|Kventin]] ([[User talk:Kventin|talk]]) 07:41, 7 September 2018 (UTC)&lt;br /&gt;
&lt;br /&gt;
I feel like Euclid beat Randall to the punch here, a couple millennia. [[Special:Contributions/162.158.155.146|162.158.155.146]] 16:54, 5 September 2018 (UTC)&lt;br /&gt;
&lt;br /&gt;
I don't see that Thales has proven Randall's theorem. Do not to be confused with {{w|Thales's theorem}}, that's about right angles. Maybe I'm blind or just dumb, but if so it has to be explained with more traceable background. I just believe that this diagonal is so trivial that even the ancient Greeks weren't engaged on a proof. --[[User:Dgbrt|Dgbrt]] ([[User talk:Dgbrt|talk]]) 21:38, 5 September 2018 (UTC)&lt;br /&gt;
* From {{w|Thales|Wikipedia}}: Other quotes from Proclus list more of Thales' mathematical achievements: &amp;quot;They say that Thales was the first to demonstrate that the circle is bisected by the diameter, the cause of the bisection being the unimpeded passage of the straight line through the centre.&amp;quot; [[User:Alexei Kopylov|Alexei Kopylov]] ([[User talk:Alexei Kopylov|talk]]) 05:39, 6 September 2018 (UTC)&lt;br /&gt;
* On the other hand not all historian believe Proclus. But van der Waerden does: [https://books.google.com/books?id=HK3vCAAAQBAJ&amp;amp;pg=PA88#v=onepage&amp;amp;q&amp;amp;f=false]. [[User:Alexei Kopylov|Alexei Kopylov]] ([[User talk:Alexei Kopylov|talk]]) 05:49, 6 September 2018 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rolle's Theorem counterexample?'''&lt;br /&gt;
&lt;br /&gt;
Isn't the TAN(x) function a counterexample to this?  Starting at a given point, it rises to infinity, then returns from negative infinity to the same point without ever having a slope of zero.  [[Special:Contributions/172.68.58.89|172.68.58.89]] 06:58, 6 September 2018 (UTC)&lt;br /&gt;
:TAN(x) isn't differentiable at pi/2, hence the theorem doesn't apply--[[Special:Contributions/162.158.92.40|162.158.92.40]] 07:48, 6 September 2018 (UTC)&lt;br /&gt;
::And tan(x) has a slope of 0 at pi, so even if it applied, it wouldn't prove it wrong. A better example would be 1/x, but still invalid. [[User:Fabian42|Fabian42]] ([[User talk:Fabian42|talk]]) 08:01, 6 September 2018 (UTC)&lt;br /&gt;
:::Nope: tan(x) has a slope of 1 at pi, and its slope is never less than 1. Of course, that doesn't make it a counterexample. Zetfr 09:17, 6 September 2018 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Clueless Museum Visitor'''&lt;br /&gt;
&lt;br /&gt;
The math in the comic is well explained, but shouldn't there be something about the &amp;quot;math equivalent of the clueless art museum visitor...&amp;quot; part? Zetfr 09:17, 6 September 2018 (UTC)&lt;br /&gt;
: Seconded, all the argument here is about math that isn't even *in* the comic, whereas the bit that confuses me is the cultural metaphor... [[Special:Contributions/162.158.154.235|162.158.154.235]] 07:16, 7 September 2018 (UTC)&lt;br /&gt;
: I had a go.[[Special:Contributions/162.158.154.103|162.158.154.103]] 08:35, 7 September 2018 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Just so we're on the same page, while the proof of Rolle's theorem is not completely trivial, neither is it difficult by any means. Proving it seems to be a pretty common homework assignment in undergrad math classes, for example, so one might legitimately ask why it deserved to be named. Perhaps it's simply that it's old enough that the methods at the time were crappy, and so modern proofs are much easier. [[Special:Contributions/172.69.22.140|172.69.22.140]]&lt;br /&gt;
: It is named because it's a very important theorem in calculus, used to prove many other theorems or results. So when you need to prove something using this property, instead of re-demonstrating it or merely saying &amp;quot;it is well known that...&amp;quot; (which often raises alarm bells in the mind of the reader/corrector), all you have to do is reference Rolle's theorem.[[Special:Contributions/162.158.155.158|162.158.155.158]] 11:08, 6 September 2018 (UTC)&lt;br /&gt;
:: It could almost be called &amp;quot;Rolle's lemma&amp;quot;. [[Special:Contributions/162.158.154.103|162.158.154.103]] 12:28, 6 September 2018 (UTC)&lt;br /&gt;
: When I am teaching Rolle's theorem, I always make it a point to draw the link to reals. Rolle's theorem fails when the output is complex valued. Then you can see for yourself how non-trivial this is. [[Special:Contributions/162.158.165.124|162.158.165.124]] 04:40, 7 September 2018 (UTC)&lt;br /&gt;
&lt;br /&gt;
Has anyone else noted the irony of having a wiki page to explain a comic whose subject is how some things are self-evident?  [[User:JamesCurran|JamesCurran]] ([[User talk:JamesCurran|talk]]) 20:13, 6 September 2018 (UTC)&lt;br /&gt;
&lt;br /&gt;
Does the Kepler Conjecture actually belong on that list at the end? Most of the others are &amp;quot;derp&amp;quot; level intuitively obvious and/or essentially tautological on a very basic level, but the Kepler Conjecture couldn't actually be exhaustively proven until machine computation, nor is it intuitively definitive--if you've ever stacked round things into a box you've noticed that it feels like you're wasting a lot of space at the edges. So...? [[User:AtrumMessor|AtrumMessor]] ([[User talk:AtrumMessor|talk]]) 21:37, 6 September 2018 (UTC)&lt;br /&gt;
:I would also argue against most of the other examples. Neither the isoperimetric inequality nor the hairy ball theorem are obviously true and their proof is quite a bit more involved than the one of Rolle's theorem. The Jordan curve theorem sounds obvious but then the proof definitely isn't. The parallel postulate isn't even a theorem. The only real good example in the list is the pigeonhole principle.[[Special:Contributions/162.158.91.155|162.158.91.155]] 12:35, 7 September 2018 (UTC)&lt;br /&gt;
:I have removed all but that, as it is the only one comparable to Rolle's in simplicity to understand without understanding math. --[[User:Kynde|Kynde]] ([[User talk:Kynde|talk]]) 14:04, 7 September 2018 (UTC)&lt;br /&gt;
::I agree, Randall mentions nothing like that and a simple parallel is enough. --[[User:Dgbrt|Dgbrt]] ([[User talk:Dgbrt|talk]]) 14:25, 7 September 2018 (UTC)&lt;br /&gt;
&lt;br /&gt;
I also suggest that Fundamental Theorem of Calculus be removed from this list. Firstly, the beginner student, just introduced to derivatives and antiderivatives, will not easily see that antiderivatives are the same as finding areas under curves. Instead, it is only obvious upon hindsight, after instruction. More importantly, a restriction of the FTC to better-behaved spaces shows a far greater insanity: the restricted FTC is a consequence of generalised Stokes's theorem '''applied twice'''. This operation is so highly unintuitive, that one simply cannot claim that this is in any way, shape, or form, trivial. I think that trying to pretend that anything in beginning calculus is obvious to students is just going to alienate them rather than soothe their worries. [[Special:Contributions/162.158.165.124|162.158.165.124]] 04:40, 7 September 2018 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Ehh what? No, FTC restricted to smooth functions is simply a special-case of Stokes' Theorem. This is explained [https://en.wikipedia.org/wiki/Stokes%27_theorem#Introduction here]. I don't even know what you could possibly mean by applying Stokes' theorem twice, in any context. [[User:Zmatt|Zmatt]] ([[User talk:Zmatt|talk]]) 13:23, 7 September 2018 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: ``FTC restricted to smooth function is simply a special case of Stokes's theorem&amp;quot;&amp;quot; is basically what I said, although FTC proper applies to a wider range of functions. As to applying Stokes's theorem twice, remember that the differential form for areas is A = iint dw, where dw = dx ^ dy. You apply once to get that A = oint w, where oint runs around the entire boundary of the area to be considered. Then you have to use some smarts to zero the contributions from 3 of the 4 sides, leaving just the contribution from the x-axis. Then the boundary, which is supposed to have no boundary itself, gets two new boundaries, of which then you can apply another Stokes's theorem to get the F(b)-F(a) result. Again, this process is highly non-trivial, as evidenced by your failure to see what I meant from the first time talking about it. Pardon if the IP changed, it is me. [[Special:Contributions/162.158.167.60|162.158.167.60]] 04:48, 9 September 2018 (UTC)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Munroe's theorem&amp;quot; should definitely refer to the circle thing in the alt text {{unsigned ip|162.158.62.57}}&lt;br /&gt;
&lt;br /&gt;
Since I'm half a mathematician, I did the math. I looked up Rolle's theorem and it uses the theorem of Weierstraß. I looked up the theorem of Weierstraß (better known as extreme value theorem) and it uses the theorem of Bolzano-Weierstraß. I looked up...why am I suddenly reminded of https://xkcd.com/609 ? :-) [[Special:Contributions/141.101.104.71|141.101.104.71]] 08:36, 7 September 2018 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What goes up must come down. [[Special:Contributions/198.41.238.64|198.41.238.64]] 05:53, 8 September 2018 (UTC)&lt;/div&gt;</summary>
		<author><name>162.158.167.60</name></author>	</entry>

	</feed>