Main Page

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search

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

Latest comic

Go to this comic explanation

Bad Code
"Oh my God, why did you scotch-tape a bunch of hammers together?" "It's ok! Nothing depends on this wall being destroyed efficiently."
Title text: "Oh my God, why did you scotch-tape a bunch of hammers together?" "It's ok! Nothing depends on this wall being destroyed efficiently."


Ambox notice.png This explanation may be incomplete or incorrect: Created by a bad coder, very incomplete, added (possibly excessive) explanation for load-bearing wall. Please change this comment when editing this page. Do NOT delete this tag too soon.

Ponytail has caught Cueball in the act of writing some messy code - code in the form of a spreadsheet formula, which in turn produces another program in a language called Haskell.

Haskell is a somewhat obscure programming language by itself, as referenced in 1312: Haskell.

It is explained that this code will in turn interpret more source code, specifically markup in HTML. After Cueball excuses his bad code by stating that "nothing depends on this" (meaning that no other projects rely on this code being good to operate properly), Ponytail uses the analogy of breaking a non-load-bearing wall to ridicule Cueball's excuse.

A load-bearing wall is the wall that supports main structure of the building. Damaging it may cause serious issues. Typically, not all walls in the building are load-bearing; as such, they can be destroyed fairly safely, because "a building doesn't depend on it". However, supporting the building is just one of the functions which depends on having an intact wall; walls serve many other important purposes, from creating opaque and soundproof barriers (necessary for privacy purposes, particularly for bedrooms and bathrooms), to containing and protecting water pipes and electrical wiring. Thus Ponytail's analogy does not bear much relation to Cueball's code, which really does have no consequence beyond upsetting Ponytail.

Immediately after, Ponytail appears to have realized that she's only inspired Cueball to go ahead and break the wall, instead of swaying him away from writing ugly code. If left unchecked, this will only end in tragedy. Hilarious, knee-slapping tragedy.

This is most likely a continuation of the Code Quality series, but it differs slightly. For one thing, all of the previous strips were name "Code Quality <number>", with the exception of the first, which was just named "Code Quality". Also note that, unlike the previous Code Quality strips, Ponytail does not start using similes like "This is like being in a house built by a child using nothing but a hatchet and a picture of a house". It's also the longest explanation of Cueball's code by Cueball himself.

The title text suggests that Cueball's approach to breaking the wall, scotch-taping a bunch of hammers together, is as good as his code. And his excuse is similar.


[Cueball is at his desk in a swivel chair, using his computer. Ponytail walks towards him.]
Ponytail: That's the ugliest mess of code I've ever seen! What on earth are you working on?
[Cueball swivels his chair to face Ponytail in a frameless panel.]
Cueball: It's nothing weird this time, I swear.
Cueball: It just looks bad because it's a spreadsheet formula.
[Cueball is facing his computer again.]
Cueball: ...which assembles a Haskell function.
Ponytail: Uhhh.
Cueball: ...for parsing HTML.
Ponytail: ...oh my God.
[Ponytail is pointing away from the scene.]
Cueball: It's ok! Nothing depends on this.
Ponytail: That wall isn't load-bearing. Does that mean we can just throw hammers at it?
Cueball: ...I mean...
Ponytail: Wait. Crap.

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 and everything in between. If it is referenced in an xkcd web comic, it should be here.

  • 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.


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


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?