Difference between revisions of "Main Page"

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search
(Is this why it's not working?)
(i don't understand)
Line 44: Line 44:
 
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.
  
<html><a href="https://plus.google.com/+Explainxkcd" rel="publisher">Google+</a></html>
+
<html><a href="https://plus.google.com/100547197257043990051" rel="publisher">Google+</a></html>
  
 
[[Category:Root category]]
 
[[Category:Root category]]

Revision as of 00:13, 5 January 2014

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

Latest comic

Go to this comic explanation

Software Development
Update: It turns out the cannon has a motorized base, and can make holes just fine using the barrel itself as a battering ram. But due to design constraints it won't work without a projectile loaded in, so we still need those drills.
Title text: Update: It turns out the cannon has a motorized base, and can make holes just fine using the barrel itself as a battering ram. But due to design constraints it won't work without a projectile loaded in, so we still need those drills.

Explanation

Ambox notice.png This explanation may be incomplete or incorrect: Created by an AUTOMATIC DRILL CANNON

Can someone kindly fix the third paragraph? It's a little clumsy. - Please change this comment when editing this page. Do NOT delete this tag too soon.

Software development is often characterized by graceless solutions to rudimentary problems. Cueball has built an elegant drill (function) that can adjust torque and speed as necessary automatically to fulfill his requirement of 500 holes in the wall. Hairy, in a categorically inelegant solution, loads 500 drills into a cannon and shoots them at the wall. This solution, in reality, would entail too many ludicrous safety problems to execute, but in software, the implications are only really bad code.

The casual disregard for the software itself is reminiscent of the idea of cattle not pets when deploying to servers.

This resembles assigning two different software teams to resolve different parts of a problem and of making the independent tools collaborate to form a fluid solution. The so-called "drill team" is given the task of making the part of the system that makes a hole in the wall. The cannon team was given the task of making the part of the system that aims what the drill team produces at the designated place on the wall and subsequently drills the hole. The drill team assumed that the aiming device would merely place their portion in place, allowing it to make the hole, but the cannon team could not make assumptions about how the drill team would generate holes, so they needed to make something that could use whatever the Drill team produced to make the holes. It breeds an attitude of, "We don't know what they are going to make, but we know that if we fire it out of a cannon, it will definitely make a hole in the wall."

The title text is a joke about how often in software the best solution to a problem is a general one, rather than a specific one. See for example developers using Ruby on Rails (a full web framework with support for emails, templating, and web sockets) for a simple API-only service. They only need a very small part of rails (the hole drilling part), but end up with the whole framework anyway due to design limitations.

Transcript

[Cueball and Hairy are standing together and Hairy holds a power tool in his hands.]
Cueball: We need to make 500 holes in that wall, so I've built this automatic drill. It uses elegant precision gears to continually adjust its torque and speed as needed.
Hairy: Great, it's the perfect weight! We'll load 500 of them into the cannon we made and shoot them at the wall.
[Caption below the frame:]
How software development works


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.

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

<html><a href="https://plus.google.com/100547197257043990051" rel="publisher">Google+</a></html>