Topic: Computing/Software (Page 6)

You are looking at all articles with the topic "Computing/Software". We found 154 matches.

Hint: To view all topics, click here. Too see the most popular topics, click here instead.

๐Ÿ”— Heisenbug

๐Ÿ”— Computing ๐Ÿ”— Computing/Software

In computer programming jargon, a heisenbug is a software bug that seems to disappear or alter its behavior when one attempts to study it. The term is a pun on the name of Werner Heisenberg, the physicist who first asserted the observer effect of quantum mechanics, which states that the act of observing a system inevitably alters its state. In electronics the traditional term is probe effect, where attaching a test probe to a device changes its behavior.

Similar terms, such as bohrbug, mandelbug, hindenbug, and schrรถdinbug (see the section on related terms) have been occasionally proposed for other kinds of unusual software bugs, sometimes in jest; however, unlike the term heisenbug, they are not widely known or used.

Discussed on

๐Ÿ”— High Efficiency Image File Format (HEIF/.heic)

๐Ÿ”— Technology ๐Ÿ”— Computing ๐Ÿ”— Computing/Software ๐Ÿ”— Computing/Free and open-source software

High Efficiency Image File Format (HEIF) is a container format for storing individual digital images and image sequences. The standard covers multimedia files that can also include other media streams, such as timed text, audio and video.

HEIF can store images encoded with multiple coding formats, for example both SDR and HDR images. HEVC is an image and video encoding format and the default image codec used with HEIF. HEIF files containing HEVC-encoded images are also known as HEIC files. Such files require less storage space than the equivalent quality JPEG.

HEIF files are a special case of the ISO Base Media File Format (ISOBMFF, ISO/IEC 14496-12), first defined in 2001 as a shared part of MP4 and JPEG 2000. Introduced in 2015, it was developed by the Moving Picture Experts Group (MPEG) and is defined as Part 12 within the MPEG-H media suite (ISO/IEC 23008-12).

HEIF was adopted by Apple in 2017 with the introduction of iOS 11.

Discussed on

๐Ÿ”— Cyclomatic Complexity

๐Ÿ”— Computing ๐Ÿ”— Computer science ๐Ÿ”— Computing/Software

Cyclomatic complexity is a software metric used to indicate the complexity of a program. It is a quantitative measure of the number of linearly independent paths through a program's source code. It was developed by Thomas J. McCabe, Sr. in 1976.

Cyclomatic complexity is computed using the control-flow graph of the program: the nodes of the graph correspond to indivisible groups of commands of a program, and a directed edge connects two nodes if the second command might be executed immediately after the first command. Cyclomatic complexity may also be applied to individual functions, modules, methods or classes within a program.

One testing strategy, called basis path testing by McCabe who first proposed it, is to test each linearly independent path through the program; in this case, the number of test cases will equal the cyclomatic complexity of the program.

Discussed on

๐Ÿ”— Coherent OS

๐Ÿ”— Computing ๐Ÿ”— Computing/Software ๐Ÿ”— Computing/Free and open-source software

Coherent is a clone of the Unix operating system for IBM PC compatibles and other microcomputers, developed and sold by the now-defunct Mark Williams Company (MWC). Historically, the operating system was a proprietary product, but it became open source in 2015, released under a 3-clause BSD License.

Discussed on

๐Ÿ”— Hofstadter's Law

๐Ÿ”— Computing ๐Ÿ”— Systems ๐Ÿ”— Business ๐Ÿ”— Computing/Software ๐Ÿ”— Computing/Computer science ๐Ÿ”— Engineering ๐Ÿ”— Systems/Systems engineering

Hofstadter's law is a self-referential adage, coined by Douglas Hofstadter in his book Gรถdel, Escher, Bach: An Eternal Golden Braid (1979) to describe the widely experienced difficulty of accurately estimating the time it will take to complete tasks of substantial complexity:

Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.

The law is often cited by programmers in discussions of techniques to improve productivity, such as The Mythical Man-Month or extreme programming.

Discussed on

๐Ÿ”— Turing Tarpit

๐Ÿ”— Computing ๐Ÿ”— Computer science ๐Ÿ”— Computing/Software

A Turing tarpit (or Turing tar-pit) is any programming language or computer interface that allows for flexibility in function but is difficult to learn and use because it offers little or no support for common tasks. The phrase was coined in 1982 by Alan Perlis in the Epigrams on Programming:

54. Beware of the Turing tar-pit in which everything is possible but nothing of interest is easy.

In any Turing complete language, it is possible to write any computer program, so in a very rigorous sense nearly all programming languages are equally capable. Showing that theoretical ability is not the same as usefulness in practice, Turing tarpits are characterized by having a simple abstract machine that requires the user to deal with many details in the solution of a problem. At the extreme opposite are interfaces that can perform very complex tasks with little human intervention but become obsolete if requirements change slightly.

Some esoteric programming languages, such as Brainfuck, are specifically referred to as "Turing tarpits" because they deliberately implement the minimum functionality necessary to be classified as Turing complete languages. Using such languages is a form of mathematical recreation: programmers can work out how to achieve basic programming constructs in an extremely difficult but mathematically Turing-equivalent language.

Discussed on

๐Ÿ”— โ€ซโ€ฌโ€โ€ฎtxet lanoitcerid-iB

๐Ÿ”— Computing ๐Ÿ”— Computing/Software ๐Ÿ”— Writing systems ๐Ÿ”— Typography

A bidirectional text contains both text directionalities, right-to-left (RTL or dextrosinistral) and left-to-right (LTR or sinistrodextral). It generally involves text containing different types of alphabets, but may also refer to boustrophedon, which is changing text direction in each row.

Some writing systems including the Arabic and Hebrew scripts or derived systems such as the Persian, Urdu, and Yiddish scripts, are written in a form known as right-to-left (RTL), in which writing begins at the right-hand side of a page and concludes at the left-hand side. This is different from the left-to-right (LTR) direction used by the dominant Latin script. When LTR text is mixed with RTL in the same paragraph, each type of text is written in its own direction, which is known as bidirectional text. This can get rather complex when multiple levels of quotation are used.

Many computer programs fail to display bidirectional text correctly. For example, the Hebrew name Sarah (ืฉืจื”) is spelled: sin (ืฉ) (which appears rightmost), then resh (ืจ), and finally heh (ื”) (which should appear leftmost).

Note: Some web browsers may display the Hebrew text in this article in the opposite direction.

Discussed on

๐Ÿ”— Wirth's Law

๐Ÿ”— Computing ๐Ÿ”— Computing/Software ๐Ÿ”— Computing/Computer science

Wirth's law is an adage on computer performance which states that software is getting slower more rapidly than hardware is becoming faster.

The adage is named after Niklaus Wirth, who discussed it in his 1995 article "A Plea for Lean Software".

Discussed on

๐Ÿ”— Archy

๐Ÿ”— Computing ๐Ÿ”— Computing/Software

Archy is a software system whose user interface introduced a different approach for interacting with computers with respect to traditional graphical user interfaces. Designed by human-computer interface expert Jef Raskin, it embodies his ideas and established results about human-centered design described in his book The Humane Interface. These ideas include content persistence, modelessness, a nucleus with commands instead of applications, navigation using incremental text search, and a zooming user interface (ZUI). The system was being implemented at the Raskin Center for Humane Interfaces under Raskin's leadership. Since his death in February 2005 the project was continued by his team, which later shifted focus to the Ubiquity extension for the Firefox browser.

Archy in large part builds on Raskin's earlier work with the Apple Macintosh, Canon Cat, SwyftWare, and Ken Perlin's Pad ZUI system. It can be described as a combination of Canon Cat's text processing functions with a modern ZUI. Archy is more radically different from established systems than are Sun Microsystems' Project Looking Glass and Microsoft Research's "Task Gallery" prototype. While these systems build upon the WIMP desktop paradigm, Archy has been compared as similar to the Emacs text editor, although its design begins from a clean slate.

Archy used to be called The Humane Environment ("THE"). On January 1, 2005, Raskin announced the new name, and that Archy would be further developed by the non-profit Raskin Center for Humane Interfaces. The name "Archy" is a play on the Center's acronym, R-CHI. It is also an allusion to Don Marquis' archy and mehitabel poetry. Jef Raskin jokingly stated: "Yes, we named our software after a bug." (a cockroach), further playing with the meaning of bugs in software.

Discussed on

  • "Archy" | 2013-07-09 | 76 Upvotes 35 Comments

๐Ÿ”— Post-quantum cryptography: just in case

๐Ÿ”— Computing ๐Ÿ”— Computing/Software ๐Ÿ”— Computing/Computer science ๐Ÿ”— Cryptography ๐Ÿ”— Cryptography/Computer science ๐Ÿ”— Computing/Computer Security

Post-quantum cryptography (sometimes referred to as quantum-proof, quantum-safe or quantum-resistant) refers to cryptographic algorithms (usually public-key algorithms) that are thought to be secure against an attack by a quantum computer. As of 2019, this is not true for the most popular public-key algorithms, which can be efficiently broken by a sufficiently strong quantum computer. The problem with currently popular algorithms is that their security relies on one of three hard mathematical problems: the integer factorization problem, the discrete logarithm problem or the elliptic-curve discrete logarithm problem. All of these problems can be easily solved on a sufficiently powerful quantum computer running Shor's algorithm. Even though current, publicly known, experimental quantum computers lack processing power to break any real cryptographic algorithm, many cryptographers are designing new algorithms to prepare for a time when quantum computing becomes a threat. This work has gained greater attention from academics and industry through the PQCrypto conference series since 2006 and more recently by several workshops on Quantum Safe Cryptography hosted by the European Telecommunications Standards Institute (ETSI) and the Institute for Quantum Computing.

In contrast to the threat quantum computing poses to current public-key algorithms, most current symmetric cryptographic algorithms and hash functions are considered to be relatively secure against attacks by quantum computers. While the quantum Grover's algorithm does speed up attacks against symmetric ciphers, doubling the key size can effectively block these attacks. Thus post-quantum symmetric cryptography does not need to differ significantly from current symmetric cryptography. See section on symmetric-key approach below.

Discussed on