Rubber Duck Debugging
In software engineering, rubber duck debugging (or rubberducking) is a method of debugging code by articulating a problem in spoken or written natural language. The name is a reference to a story in the book ''The Pragmatic Programmer'' in which a programmer would carry around a rubber duck and debug their code by forcing themselves to explain it, line by line, to the duck. p. 95, footnote. Many other terms exist for this technique, often involving different (usually) inanimate objects, or pets such as a dog or a cat. Teddy bears are also widely used. Approach Many programmers have had the experience of explaining a problem to someone else, possibly even to someone who knows nothing about programming, and then hitting upon the solution in the process of explaining the problem. In describing what the code is supposed to do and observing what it actually does, any incongruity between these two becomes apparent.. More generally, teaching a subject forces its evaluation from differen ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Rubber Duck Assisting With Debugging
Rubber, also called India rubber, latex, Amazonian rubber, ''caucho'', or ''caoutchouc'', as initially produced, consists of polymers of the organic compound isoprene, with minor impurities of other organic compounds. Types of polyisoprene that are used as natural rubbers are classified as elastomers. Currently, rubber is harvested mainly in the form of the latex from the Hevea brasiliensis, Pará rubber tree (''Hevea brasiliensis'') or others. The latex is a sticky, milky and white colloid drawn off by making incisions in the bark and collecting the fluid in vessels in a process called "tapping". Manufacturers refine this latex into the rubber that is ready for commercial processing. Natural rubber is used extensively in many applications and products, either alone or in combination with other materials. In most of its useful forms, it has a large stretch ratio and high resilience and also is buoyant and water-proof. Industrial demand for rubber-like materials began to out ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Pair Programming
Pair programming is a software development technique in which two programmers work together at one workstation. One, the ''driver'', writes code while the other, the ''observer'' or ''navigator'', reviews each line of code as it is typed in. The two programmers switch roles frequently. While reviewing, the observer also considers the "strategic" direction of the work, coming up with ideas for improvements and likely future problems to address. This is intended to free the driver to focus all of their attention on the "tactical" aspects of completing the current task, using the observer as a safety net and guide. Economics Pair programming increases the man-hours required to deliver code compared to programmers working individually. However, the resulting code has fewer defects. Along with code development time, other factors like field support costs and quality assurance also figure into the return on investment. Pair programming might theoretically offset these expenses by red ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Computer Programming Folklore
A computer is a machine that can be programmed to automatically carry out sequences of arithmetic or logical operations (''computation''). Modern digital electronic computers can perform generic sets of operations known as ''programs'', which enable computers to perform a wide range of tasks. The term computer system may refer to a nominally complete computer that includes the hardware, operating system, software, and peripheral equipment needed and used for full operation; or to a group of computers that are linked and function together, such as a computer network or computer cluster. A broad range of industrial and consumer products use computers as control systems, including simple special-purpose devices like microwave ovens and remote controls, and factory devices like industrial robots. Computers are at the core of general-purpose devices such as personal computers and mobile devices such as smartphones. Computers power the Internet, which links billions of compute ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Debugging
In engineering, debugging is the process of finding the Root cause analysis, root cause, workarounds, and possible fixes for bug (engineering), bugs. For software, debugging tactics can involve interactive debugging, control flow analysis, Logfile, log file analysis, monitoring at the application monitoring, application or system monitoring, system level, memory dumps, and profiling (computer programming), profiling. Many Programming language, programming languages and Programming tool, software development tools also offer programs to aid in debugging, known as debuggers. Etymology The term ''bug'', in the sense of defect, dates back at least to 1878 when Thomas Edison wrote "little faults and difficulties" in his inventions as "Bugs". A popular story from the 1940s is from Admiral Grace Hopper. While she was working on a Harvard Mark II, Mark II computer at Harvard University, her associates discovered a moth stuck in a relay that impeded operation and wrote in a log book ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Body Doubling
Body doubling or parallel working is a strategy used to initiate and complete tasks, such as household chores or writing and other computer tasks. It involves the physical presence, virtual presence through a phone call, videotelephony or social media presence, of someone with whom one shares their goals, which makes it more likely to achieve them. For some people, it works best to both do similar tasks, while for others, just being in the same (virtual) room is enough. It was partially popularized by those with attention deficit hyperactivity disorder (ADHD) to help manage symptoms. Its usefulness has also been noted by those with autism, but efficacy is not clearly known as long term studies have not been conducted on the topic. In 2023, J. Russel Ramsay, professor of clinical psychiatry at the Perelman School of Medicine and co-director of the ADHD treatment and research program of the University of Pennsylvania, noted that, while extensive research on the strategy's effect on ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Worry Dolls
Worry dolls (also named trouble dolls; Spanish Muñecas quitapenas) are small, mostly hand-made dolls that originate from the highland indigenous people of Guatemala. Description and material Worry dolls are mostly hand-made. In Guatemala, they are made of wire, wool and colorful textile leftovers. The dolls are then dressed in traditional Mayan style. The size of the doll can vary between ½ inch and 2.0 inches. In western culture, the dolls are mostly made of pressed paper, adhesive tape, paper, and colorful wool. In Guatemala, the dolls can be remarkably larger in size.Nicole Joiner, Dagmar Rücker: ''Knüllen, falten, schneiden, färben: Kunterbunte Ideenkiste für Kinder von 3–8 Jahren''. Ökotopia Verlag, Münster 2010, , page 41. Function In the dolls' original Guatemalan tradition, a local legend about the origin of the ''Muñeca quitapena'' refers to a Maya princess named '' Ixmucane''. The princess received a special gift from the sun god which would al ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Rogerian Method
Rogerian argument (or Rogerian rhetoric) is a rhetorical and conflict resolution strategy based on empathizing with others, seeking common ground and mutual understanding and learning, while avoiding the negative effects of extreme attitude polarization. The term refers to the psychologist Carl Rogers, whose client-centered therapy has also been called Rogerian therapy. Since 1970, rhetoricians have applied the ideas of Rogers—with contributions by Anatol Rapoport—to rhetoric and argumentation, producing Rogerian argument. A key principle of Rogerian argument is that, instead of advocating one's own position and trying to refute the other's position, one tries to state the other's position with as much care as one would have stated one's own position, emphasizing what is strong or valid in the other's argument. To this principle, Rapoport added other principles that are sometimes called " Rapoport's rules". Rhetoricians have designed various methods for applying these Rog ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Pointing And Calling
Pointing and calling is a method in occupational safety for avoiding mistakes by pointing at important indicators and verbally calling out their status. It is especially common on Rail transport in Japan, Japanese railways, where it is referred to as ''shisa kanko'' (), ''shisa kakunin kanko'' () or ''yubisashi koshō'' (); in Rail transport in China, Mainland Chinese and Rail transport in Taiwan, Taiwanese railways, where it is called zh, t=指差確認, s=指差呼唤, hp=zhǐchā hūhuàn, labels=no, out=c; and in Rail transport in Indonesia, Indonesian railways, where it is known as ''tunjuk-sebut''. Gesturing at and verbalizing these indicators helps with focus. The method was first used by train drivers and is now commonly used in Japanese industry. It is recommended by the (JISHA, ), and a part of railway management regulations in China. It is not common outside of Asia, though it is used in the New York City Subway system, Toronto's Toronto subway, TTC subway and GO Tran ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Think Aloud Protocol
A think-aloud (or thinking aloud) protocol is a method used to gather data in usability testing in product design and development, in psychology and a range of social sciences (e.g., reading, writing, translation research, decision making, and process tracing). Description Think-aloud protocols involve participants thinking aloud as they are performing a set of specified tasks. Participants are asked to say whatever comes into their mind as they complete the task. This might include what they are looking at, thinking, doing, and feeling. This gives observers insight into the participant's cognitive processes (rather than only their final product), to make thought processes as explicit as possible during task performance. In a formal research protocol, all verbalizations are transcribed and then analyzed. In a usability testing context, observers are asked to take notes of what participants say and do, without attempting to interpret their actions and words, and especially noting ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Software Walkthrough
In software engineering, a walkthrough or walk-through is a form of software peer review "in which a designer or programmer leads members of the development team and other interested parties through a software product, and the participants ask questions and make comments about possible errors, violation of development standards, and other problems". The reviews are also performed by assessors, specialists, etc. and are suggested or mandatory as required by norms and standards. "Software product" normally refers to some kind of technical document. As indicated by the IEEE definition, this might be a software design document or program source code, but use cases, business process definitions, test case specifications, and a variety of other technical documentation may also be walked through. A walkthrough differs from software technical reviews in its openness of structure and its objective of familiarization. It differs from software inspection in its ability to suggest direct al ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Duck Typing
In computer programming, duck typing is an application of the duck test—"If it walks like a duck and it quacks like a duck, then it must be a duck"—to determine whether an object can be used for a particular purpose. With nominative typing, an object is of a given type if it is declared as such (or if a type's association with the object is inferred through mechanisms such as object inheritance). With duck typing, an object is of a given type if it has all methods and properties required by that type. Duck typing may be viewed as a usage-based structural equivalence between a given object and the requirements of a type. Examples This simple example in Python 3 demonstrates how any object may be used in any context until it is used in a way that it does not support. class Duck: def swim(self): print("Duck swimming") def fly(self): print("Duck flying") class Whale: def swim(self): print("Whale swimming") for animal in uck(), ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Duck Test
The duck test is a frequently cited colloquial example of abductive reasoning. Its usual expression is: The test implies that a person can identify an unknown subject by observing that subject's habitual characteristics. It is sometimes used to counter abstraction, abstract arguments that something might not be what it appears to be. Notable uses Indiana poet James Whitcomb Riley (1849–1916) may have coined the phrase when he wrote: A common variation of the wording of the phrase may have originated much later with Emil Mazey, secretary-treasurer of the United Auto Workers, at a labor meeting in 1946 accusing a person of being a communist: The term was later popularized in the United States by Richard Cunningham Patterson Jr., Ambassadors from the United States, United States ambassador to Guatemala in 1950 during the Cold War, who used the phrase when he accused Guatemala's Jacobo Arbenz Guzmán government of being Communist. Patterson explained his reasoning as fol ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |