Reinvent the Wheel
Reinvent the Wheel
[Beret Guy is talking to Ponytail.] Beret Guy: We don't want to reinvent the wheel, so every day we Google image search "wheel", and whatever object comes up, that's what we attach to our vehicles. Beret Guy: Sure, external dependencies carry risks, but so far they've all been pretty good wheels.


" Reinventing the wheel " is an idiom/metaphor that refers to duplicate effort to recreate something that has already been created or perfected previously without adding any value in the process. The phrase relates to the idea that the round wheel was invented a long time ago and there is no way to make it better, as a circle is the most optimal shape. While the phrase includes the word "wheel", it isn't typically directly associated with the wheel but instead uses the word "wheel" because of the easily understandable meaning - a simple object with no improvements that can be made. That being said, we have actually reinvented the wheel at one point in time - a tire is a modern improvement to the wheel, which reduces bumps and shocks that people in the car would feel from uneven road surfaces.
In this comic, Beret Guy works for an automotive company (or this is his own company ), and he is explaining to Ponytail their decision to not reinvent the wheel for the automobiles that they produce, using the phrase in a literal sense instead of figuratively.  Instead of determining for themselves what wheel to use, they want to use whichever wheel is presumably considered the "best" wheel by the world, using a daily Google image search for "wheel" to determine the highest ranked wheel, and then using that wheel on the vehicles they produce that day. In reality, this would be a very bad way of choosing the wheels of the automobiles Beret Guy's company produces. In addition to being extremely inefficient, as they might have to change the wheels they use every day, it may also result in copyrights and lawsuits against his company.
The point of the comic is to make fun of programmers who take the idea that you should never reinvent the wheel too seriously. When these people have a problem, they may Google to find a solution to that problem, and when they find a piece of online code, they use it in their own code, even if it wasn't initially designed to handle the task for which it is being used and thus may have unintended side effects or other issues.
Another way that programmers may go too far in avoiding reinventing the wheel is in using external dependencies.  It can be valuable to use external libraries, especially for applications where certain tasks have strange edge cases that a 'reinvention' is likely to miss or require lots of development effort to correctly implement (like time ).  However, using someone else's code means taking on the risk of security vulnerabilities, and when the library is updated on live installations, the user also takes on the risk that the library might become unavailable or otherwise break.  In this case, Beret Guy's company updates their wheel "library" on a daily basis from Google's image search.  Google is unlikely to shut down a core search product, but they might change the API that Beret Guy's company uses (unless he's just going to their website himself), and they have been known to shut down projects that people like, such as Google Reader .  On the day this comic was released, Randall changed the Header text of xkcd, adding a reference to Google Reader .
The popular programming language Python manages external dependencies with packages called "wheels" which are "published to the cheese shop", which may or may not be an intended reference.
In any event, Beret Guy is in effect reinventing the wheel by doing a new search for wheels on Google Images every day. If the wheel he finds on Google Images on a given day is suitable for his company's needs, the company would likely be better off using the same wheel on succeeding days (unless circumstances change which make that unfeasible), compared to trying to doing a new search for wheels every day. In addition, Beret Guy's company might be forced to create new wheel-producing machinery every day, although if Beret Guy can transmit soup and air through electrical cords, it may simply be a matter of copying the image then pasting it in real life.
The title text indicates that Beret Guy is currently using bicycle wheels for his vehicles, requiring his vehicles to be lighter as bicycle wheels cannot carry a lot of weight.  He says this "reduce[s] overhead", which is both literally true, that his vehicle weighs less, and refers to the usual figurative desire of reducing overhead costs of development by using external libraries. If the former interpretation is correct, this raises the question of why Beret Guy's company didn't try to lighten the load of its vehicles beforehand. Finally, the narrator (supposedly Beret Guy) explains that at one point a wheel of cheese was near the top of the Google images search. If it had reached the top, it would have been disastrous as a wheel of cheese is completely unsuited for use as a vehicle's wheel. [ citation needed ] Beret Guy implies that his company would have used it if it reached the first position even though he knows that it would be unsuitable for usage in vehicles, further demonstrating Beret Guy's lack of business knowledge.
On the day the comic was released a bicycle wheel came up first when searching for "wheel", see image in the Trivia section below.
[Beret Guy is talking to Ponytail.] Beret Guy: We don't want to reinvent the wheel, so every day we Google image search "wheel", and whatever object comes up, that's what we attach to our vehicles. Beret Guy: Sure, external dependencies carry risks, but so far they've all been pretty good wheels.

