Common types of computer bugs (2)
Why are there Bugs in Software?
(Continued from previous question...)
Common types of computer bugs (2)
Glitch City, a Pokémon programming error that creates a jumble of pixels.
A glitch is a short-lived fault in a system. The term is particularly common in the computing and electronics industries, and in circuit bending, as well as among players of video games, although it is applied to all types of systems including human organizations. The term derives from the German glitschen, meaning 'to slip.'
In electronics, a glitch is an electrical pulse of short duration that is usually the result of a fault or design error, particularly in a digital circuit. For example, many electronic components such as flip-flops are triggered by a pulse that must not be shorter than a specified minimum duration, otherwise the component may malfunction. A pulse shorter than the specified minimum is called a glitch. A related concept is the runt pulse, a pulse whose amplitude is smaller than the minimum level specified for correct operation, and a spike, a short pulse similar to glitch but often caused by ringing or crosstalk.
In video games, a glitch is a term used by players to indicate a bug or programming error of some sort. It may refer to either a helpful or harmful error, but never an intended behavior. A programming error that makes the game freeze is often referred to as a glitch, as is an error that, for example, gives the player 100 lives automatically. The occurrence of some glitches can be replicated deliberately by doing certain tasks in a certain order. For example, the Missingno., 'M, and Glitch City glitches in the Pokémon series follow this principle. The Mew glitch also works on the same principle.
The practise of exploiting glitches in video games is known as "glitching." For example, in an online game someone may use an error in the map to get an advantage. This is sometimes considered cheating, but sometimes just considered part of the game. It is often against a game's TOS (Terms of Service) and will be punished if discovered.
Sometimes glitches will be mistaken for hidden features. In the arcade version of Mortal Kombat, a rare glitch occasionally caused two characters to be mixed together. Most often, these were ninja characters, resulting in a semi-red ninja character with the name "ERMAC" (short for "error machine"). Upon discovering this, many players believed they had uncovered a secret character, when in fact they had only uncovered a programming bug. Due to the rumors surrounding the glitch, Midway did eventually include a red ninja character named Ermac as an official character in Ultimate Mortal Kombat 3, and he has subsequently appeared in other Mortal Kombat games, becoming an instant fan favorite.
A workaround is a bypass of a recognized problem in a system. A workaround is typically a temporary fix that implies that a genuine solution to the problem is needed. Frequently workarounds are as creative as true solutions, involving out-of-the-box thinking in their creation.
Typically they are considered brittle in that they will not respond well to further pressure from a system beyond the original design. In implementing a workaround it is important to flag the change so as to later implement a proper solution.
Placing pressure on a workaround may result in later failures in the system. For example, in computer programming workarounds are often used to address a problem in a library, such as an incorrect return value. When the library is changed, the workaround may break the overall program functionality, since it may expect the older, wrong behaviour from the library.
(Continued on next question...)
Other Interview Questions