Topic: Computing (Page 11)

You are looking at all articles with the topic "Computing". We found 481 matches.

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

๐Ÿ”— Father of the moderm tiling WMs proposed for deletion in Wikipedia.

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

dwm is a dynamic, minimalist tiling window manager for the X Window System that has influenced the development of several other X window managers, including xmonad and awesome. It is externally similar to wmii, but internally much simpler. dwm is written purely in C for performance and security in addition to simplicity, and lacks any configuration interface besides editing the source code. One of the project's guidelines is that the source code is intended to never exceed 2000 SLOC, and options meant to be user-configurable are all contained in a single header file.

Discussed on

๐Ÿ”— Diffie-Hellman key exchange, explained using colors

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

Diffieโ€“Hellman key exchange is a method of securely exchanging cryptographic keys over a public channel and was one of the first public-key protocols as conceived by Ralph Merkle and named after Whitfield Diffie and Martin Hellman. DH is one of the earliest practical examples of public key exchange implemented within the field of cryptography.

Traditionally, secure encrypted communication between two parties required that they first exchange keys by some secure physical means, such as paper key lists transported by a trusted courier. The Diffieโ€“Hellman key exchange method allows two parties that have no prior knowledge of each other to jointly establish a shared secret key over an insecure channel. This key can then be used to encrypt subsequent communications using a symmetric key cipher.

Diffieโ€“Hellman is used to secure a variety of Internet services. However, research published in October 2015 suggests that the parameters in use for many DH Internet applications at that time are not strong enough to prevent compromise by very well-funded attackers, such as the security services of large governments.

The scheme was published by Whitfield Diffie and Martin Hellman in 1976, but in 1997 it was revealed that James H. Ellis, Clifford Cocks, and Malcolm J. Williamson of GCHQ, the British signals intelligence agency, had previously shown in 1969 how public-key cryptography could be achieved.

Although Diffieโ€“Hellman key agreement itself is a non-authenticated key-agreement protocol, it provides the basis for a variety of authenticated protocols, and is used to provide forward secrecy in Transport Layer Security's ephemeral modes (referred to as EDH or DHE depending on the cipher suite).

The method was followed shortly afterwards by RSA, an implementation of public-key cryptography using asymmetric algorithms.

Expired U.S. Patent 4,200,770 from 1977 describes the now public-domain algorithm. It credits Hellman, Diffie, and Merkle as inventors.

Discussed on

๐Ÿ”— WikiWikiWeb

๐Ÿ”— Computing ๐Ÿ”— Perl

The WikiWikiWeb is the first-ever wiki, or user-editable website. It was launched on 25 March 1995 by its inventor, programmer Ward Cunningham, to accompany the Portland Pattern Repository website discussing software design patterns. The name WikiWikiWeb originally also applied to the wiki software that operated the website, written in the Perl programming language and later renamed to "WikiBase". The site is frequently referred to by its users as simply "Wiki", and a convention established among users of the early network of wiki sites that followed was that using the word with a capitalized W referred exclusively to the original site.

Discussed on

๐Ÿ”— Koomey's law

๐Ÿ”— Computing

Koomey's law describes a trend in the history of computing hardware: for about a half-century, the number of computations per joule of energy dissipated doubled about every 1.57 years. Professor Jonathan Koomey described the trend in a 2010 paper in which he wrote that "at a fixed computing load, the amount of battery you need will fall by a factor of two every year and a half."

This trend had been remarkably stable since the 1950s (R2 of over 98%). But in 2011, Koomey re-examined this data and found that after 2000, the doubling slowed to about once every 2.6 years. This is related to the slowing of Moore's Law, the ability to build smaller transistors; and the end around 2005 of Dennard scaling, the ability to build smaller transistors with constant power density.

"The difference between these two growth rates is substantial. A doubling every year and a half results in a 100-fold increase in efficiency every decade. A doubling every two and a half years yields just a 16-fold increase", Koomey wrote.

Discussed on

๐Ÿ”— Constraint Programming

๐Ÿ”— Computing

Constraint programming (CP) is a paradigm for solving combinatorial problems that draws on a wide range of techniques from artificial intelligence, computer science, and operations research. In constraint programming, users declaratively state the constraints on the feasible solutions for a set of decision variables. Constraints differ from the common primitives of imperative programming languages in that they do not specify a step or sequence of steps to execute, but rather the properties of a solution to be found. In addition to constraints, users also need to specify a method to solve these constraints. This typically draws upon standard methods like chronological backtracking and constraint propagation, but may use customized code like a problem specific branching heuristic.

Constraint programming takes its root from and can be expressed in the form of constraint logic programming, which embeds constraints into a logic program. This variant of logic programming is due to Jaffar and Lassez, who extended in 1987 a specific class of constraints that were introduced in Prolog II. The first implementations of constraint logic programming were Prolog III, CLP(R), and CHIP.

Instead of logic programming, constraints can be mixed with functional programming, term rewriting, and imperative languages. Programming languages with built-in support for constraints include Oz (functional programming) and Kaleidoscope (imperative programming). Mostly, constraints are implemented in imperative languages via constraint solving toolkits, which are separate libraries for an existing imperative language.

Discussed on

๐Ÿ”— Contiki โ€“ OS for networked, memory-constrained systems

๐Ÿ”— Apple Inc. ๐Ÿ”— Computing ๐Ÿ”— Computing/Software

Contiki is an operating system for networked, memory-constrained systems with a focus on low-power wireless Internet of Things (IoT) devices. Extant uses for Contiki include systems for street lighting, sound monitoring for smart cities, radiation monitoring, and alarms. It is open-source software released under the BSD-3-Clause license.

Contiki was created by Adam Dunkels in 2002 and has been further developed by a worldwide team of developers from Texas Instruments, Atmel, Cisco, ENEA, ETH Zurich, Redwire, RWTH Aachen University, Oxford University, SAP, Sensinode, Swedish Institute of Computer Science, ST Microelectronics, Zolertia, and many others. Contiki gained popularity because of its built in TCP/IP stack and lightweight preemptive scheduling over event-driven kernel which is a very motivating feature for IoT. The name Contiki comes from Thor Heyerdahl's famous Kon-Tiki raft.

Contiki provides multitasking and a built-in Internet Protocol Suite (TCP/IP stack), yet needs only about 10 kilobytes of random-access memory (RAM) and 30 kilobytes of read-only memory (ROM). A full system, including a graphical user interface, needs about 30 kilobytes of RAM.

A new branch has recently been created, known as Contiki-NG: The OS for Next Generation IoT Devices

Discussed on

๐Ÿ”— Antikythera Mechanism

๐Ÿ”— Computing ๐Ÿ”— Classical Greece and Rome ๐Ÿ”— Greece ๐Ÿ”— Astronomy ๐Ÿ”— History of Science ๐Ÿ”— Alternative Views ๐Ÿ”— Time

The Antikythera mechanism (, ) is an ancient hand powered Greek analogue computer which has also been described as the first example of such device used to predict astronomical positions and eclipses for calendar and astrological purposes decades in advance. It could also be used to track the four-year cycle of athletic games which was similar to an Olympiad, the cycle of the ancient Olympic Games.

This artefact was retrieved from the sea in 1901, and identified on 17 May 1902 as containing a gear by archaeologist Valerios Stais, among wreckage retrieved from a shipwreck off the coast of the Greek island Antikythera. The instrument is believed to have been designed and constructed by Greek scientists and has been variously dated to about 87ย BC, or between 150 and 100ย BC, or to 205ย BC, or to within a generation before the shipwreck, which has been dated to approximately 70โ€“60ย BC.

The device, housed in the remains of a 34ย cm ร—ย 18ย cm ร—ย 9ย cm (13.4ย in ร—ย 7.1ย in ร—ย 3.5ย in) wooden box, was found as one lump, later separated into three main fragments which are now divided into 82 separate fragments after conservation efforts. Four of these fragments contain gears, while inscriptions are found on many others. The largest gear is approximately 14 centimetres (5.5ย in) in diameter and originally had 223 teeth.

It is a complex clockwork mechanism composed of at least 30 meshing bronze gears. A team led by Mike Edmunds and Tony Freeth at Cardiff University used modern computer x-ray tomography and high resolution surface scanning to image inside fragments of the crust-encased mechanism and read the faintest inscriptions that once covered the outer casing of the machine.

Detailed imaging of the mechanism suggests that it had 37 gear wheels enabling it to follow the movements of the Moon and the Sun through the zodiac, to predict eclipses and even to model the irregular orbit of the Moon, where the Moon's velocity is higher in its perigee than in its apogee. This motion was studied in the 2nd century BC by astronomer Hipparchus of Rhodes, and it is speculated that he may have been consulted in the machine's construction.

The knowledge of this technology was lost at some point in antiquity. Similar technological works later appeared in the medieval Byzantine and Islamic worlds, but works with similar complexity did not appear again until the development of mechanical astronomical clocks in Europe in the fourteenth century. All known fragments of the Antikythera mechanism are now kept at the National Archaeological Museum in Athens, along with a number of artistic reconstructions and replicas of the mechanism to demonstrate how it may have looked and worked.

Discussed on

๐Ÿ”— Eiffel programming language

๐Ÿ”— Computing ๐Ÿ”— Computer science

Eiffel is an object-oriented programming language designed by Bertrand Meyer (an object-orientation proponent and author of Object-Oriented Software Construction) and Eiffel Software. Meyer conceived the language in 1985 with the goal of increasing the reliability of commercial software development; the first version becoming available in 1986. In 2005, Eiffel became an ISO-standardized language.

The design of the language is closely connected with the Eiffel programming method. Both are based on a set of principles, including design by contract, commandโ€“query separation, the uniform-access principle, the single-choice principle, the openโ€“closed principle, and optionโ€“operand separation.

Many concepts initially introduced by Eiffel later found their way into Java, C#, and other languages. New language design ideas, particularly through the Ecma/ISO standardization process, continue to be incorporated into the Eiffel language.

Discussed on

๐Ÿ”— Maxima (Software)

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

Maxima () is a computer algebra system (CAS) based on a 1982 version of Macsyma. It is written in Common Lisp and runs on all POSIX platforms such as macOS, Unix, BSD, and Linux, as well as under Microsoft Windows and Android. It is free software released under the terms of the GNU General Public License (GPL).

Discussed on

๐Ÿ”— Stack-Oriented Programming

๐Ÿ”— Computing

A stack-oriented programming language is one that relies on a stack machine model for passing parameters. Several programming languages fit this description, notably Forth, RPL, PostScript, BibTeX style design language and many assembly languages (on a much lower level).

Stack-oriented languages operate on one or more stacks, each of which may serve a different purpose. Thus, programming constructs in other programming languages may need to be modified for use in a stack-oriented system. Further, some stack-oriented languages operate in postfix or Reverse Polish notation, that is, any arguments or parameters for a command are stated before that command. For example, postfix notation would be written 2, 3, multiply instead of multiply, 2, 3 (prefix or Polish notation), or 2 multiply 3 (infix notation).

Discussed on