Topic: Computing (Page 50)

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

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

๐Ÿ”— Ruby (Programming Language)

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

Ruby is an interpreted, high-level, general-purpose programming language which supports multiple programming paradigms. It was designed with an emphasis on programming productivity and simplicity. In Ruby, everything is an object, including primitive data types. It was developed in the mid-1990s by Yukihiro "Matz" Matsumoto in Japan.

Ruby is dynamically typed and uses garbage collection and just-in-time compilation. It supports multiple programming paradigms, including procedural, object-oriented, and functional programming. According to the creator, Ruby was influenced by Perl, Smalltalk, Eiffel, Ada, BASIC, Java and Lisp.

Discussed on

๐Ÿ”— PNG can be Animated Wait WTF? APNG file format

๐Ÿ”— Computing ๐Ÿ”— Animation

Animated Portable Network Graphics (APNG) is a file format which extends the Portable Network Graphics (PNG) specification to permit animated images that work similarly to animated GIF files, while supporting 24 or 48-bit images and full alpha transparency not available for GIFs. It also retains backward compatibility with non-animated PNG files.

The first frame of an APNG file is stored as a normal PNG stream, so most standard PNG decoders are able to display the first frame of an APNG file. The frame speed data and extra animation frames are stored in extra chunks (as provided for by the original PNG specification). APNG competed with Multiple-image Network Graphics (MNG), a comprehensive format for bitmapped animations which was created by the same team as PNG and is obsolete. APNG's advantage was the smaller library size and compatibility with older PNG implementations.

Discussed on

๐Ÿ”— Vi turns 50 this year

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

vi (pronounced as two letters, ) is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is standardized by the Single Unix Specification and POSIX.

vi is actually a mode of the earlier ex editor. Originally, ex lacked a full-screen editing capability, but in 1976, Bill Joy enhanced it to support a visual mode. The program was updated to start in visual mode when launched with the command vi instead of the legacy mode when launched via the ex command. In this way, ex and vi are the same program, not two programs. Joy's ex 1.1 was released as part of the first Berkeley Software Distribution (BSD) Unix release in March 1978. It was not until version 2.0 of ex, released as part of Second BSD in May 1979 that the editor was installed under the name "vi" which took a user straight into ex's visual mode.

Some implementations of vi trace their source code ancestry to Bill Joy's work. Others are completely new, largely compatible clones.

The name "vi" comes from the shortest unambiguous abbreviation of the ex command visual, which switches the ex line editor into full-screen mode.

In addition to various nonโ€“free software variants of vi distributed with proprietary implementations of Unix, vi was opensourced with OpenSolaris, and several free and open source software vi clones exist. A 2009 survey of Linux Journal readers found that vi was the most widely used text editor among respondents, beating gedit, the second most widely used editor, by nearly a factor of two (36% to 19%).

Discussed on

๐Ÿ”— Chandraโ€“Toueg consensus algorithm

๐Ÿ”— Computing

The Chandraโ€“Toueg consensus algorithm, published by Tushar Deepak Chandra and Sam Toueg in 1996, is an algorithm for solving consensus in a network of unreliable processes equipped with an eventually strong failure detector. The failure detector is an abstract version of timeouts; it signals to each process when other processes may have crashed. An eventually strong failure detector is one that never identifies some specific non-faulty process as having failed after some initial period of confusion, and, at the same time, eventually identifies all faulty processes as failed (where a faulty process is a process which eventually fails or crashes and a non-faulty process never fails). The Chandraโ€“Toueg consensus algorithm assumes that the number of faulty processes, denoted by f, is less than n/2 (i.e. the minority), i.e. it assumes f < n/2, where n is the total number of processes.

๐Ÿ”— Fog Computing

๐Ÿ”— Computing

Fog computing or fog networking, also known as fogging, is an architecture that uses edge devices to carry out a substantial amount of computation, storage, and communication locally and routed over the internet backbone.

๐Ÿ”— Fravia

๐Ÿ”— Biography ๐Ÿ”— Computing

Francesco Vianello (30 August 1952ย โ€“ 3 May 2009), better known by his nickname Fravia (sometimes +Fravia or Fravia+), was a software reverse engineer, and hacker, known for his web archive of reverse engineering techniques and papers. He is also known for his work on steganography. He had taught on subjects such as data mining, anonymity, stalking, klebing, advertisement reversing and ad-busting.

Fravia spoke six languages (including Latin) and had a degree in the history of the early Middle Ages. He was an expert in linguistics-related informatics. For five years he made available a large quantity of material related to reverse engineering through his website, which also hosted the advice of reverse engineering experts, known as reversers, who provided tutorials and essays on how to hack software code as well as advice related to the assembly and disassembly of applications, and software protection reversing.

Fravia was a professor at the High Cracking University (+HCU), founded by Old Red Cracker (+ORC), a legendary figure in reverse engineering, to conduct research into Reverse Code Engineering. The addition of the "+" sign in front of the nickname of a reverser signified membership in the +HCU. His website was known as "+Fravia's Pages of Reverse Engineering" and he used it to challenge programmers as well as the wider society to "reverse engineer" the "brainwashing of a corrupt and rampant materialism". In its heyday, his website was receiving millions of visitors per year and its influence was "widespread".

His web presence dates from 1995 when he first got involved in research related to reverse code engineering (RCE). In 2000 he changed his focus and concentrated on advanced internet search methods and the reverse engineering of search engine code.

His websites "www.fravia.com" and "www.searchlores.org" contained a large amount of specialised information related to data mining. His website "www.searchlores.org" has been called a "very useful instrument for searching the web", and his "www.fravia.com" site has been described as "required reading for any spy wanting to go beyond simple Google searches."

๐Ÿ”— Han unification

๐Ÿ”— Computing ๐Ÿ”— China ๐Ÿ”— East Asia ๐Ÿ”— Writing systems ๐Ÿ”— Hong Kong

Han unification is an effort by the authors of Unicode and the Universal Character Set to map multiple character sets of the so-called CJK languages into a single set of unified characters. Han characters are a common feature of written Chinese (hanzi), Japanese (kanji), and Korean (hanja).

Modern Chinese, Japanese and Korean typefaces typically use regional or historical variants of a given Han character. In the formulation of Unicode, an attempt was made to unify these variants by considering them different glyphs representing the same "grapheme", or orthographic unit, hence, "Han unification", with the resulting character repertoire sometimes contracted to Unihan.

Unihan can also refer to the Unihan Database maintained by the Unicode Consortium, which provides information about all of the unified Han characters encoded in the Unicode Standard, including mappings to various national and industry standards, indices into standard dictionaries, encoded variants, pronunciations in various languages, and an English definition. The database is available to the public as text files and via an interactive website. The latter also includes representative glyphs and definitions for compound words drawn from the free Japanese EDICT and Chinese CEDICT dictionary projects (which are provided for convenience and are not a formal part of the Unicode Standard).

๐Ÿ”— ReFS

๐Ÿ”— Computing ๐Ÿ”— Microsoft Windows ๐Ÿ”— Microsoft Windows/Computing ๐Ÿ”— Microsoft

Resilient File System (ReFS), codenamed "Protogon", is a Microsoft proprietary file system introduced with Windows Server 2012 with the intent of becoming the "next generation" file system after NTFS.

ReFS was designed to overcome problems that had become significant over the years since NTFS was conceived, which are related to how data storage requirements had changed. The key design advantages of ReFS include automatic integrity checking and data scrubbing, removal of the need for running chkdsk, protection against data degradation, built-in handling of hard disk drive failure and redundancy, integration of RAID functionality, a switch to copy/allocate on write for data and metadata updates, handling of very long paths and filenames, and storage virtualization and pooling, including almost arbitrarily sized logical volumes (unrelated to the physical sizes of the used drives).

These requirements arose from two major changes in storage systems and usageย โ€“ the size of storage in use (large or massive arrays of multi-terabyte drives now being fairly common), and the need for continual reliability. As a result, the file system needs to be self-repairing (to prevent disk checking from being impractically slow or disruptive), along with abstraction or virtualization between physical disks and logical volumes.

ReFS was initially added to Windows Server 2012 only, with the aim of gradual migration to consumer systems in future versions; this was achieved as of Windows 8.1. The initial versions removed some NTFS features, such as disk quotas, alternate data streams, and extended attributes. Some of these were re-implemented in later versions of ReFS.

In early versions (2012โ€“2013), ReFS was similar to or slightly faster than NTFS in most tests, but far slower when full integrity checking was enabled, a result attributed to the relative newness of ReFS. Pre-release concerns were also voiced by one blogger over Storage Spaces, the storage system designed to underpin ReFS, which reportedly could fail in a manner that prevented ReFS from recovering automatically.

The ability to create ReFS volumes was removed in Windows 10's 2017 Fall Creators Update for all editions except Enterprise and Pro for Workstations.

The cluster size of a ReFS volume is either 4 KiB or 64 KiB.

๐Ÿ”— Yo-yo problem

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

In software development, the yo-yo problem is an anti-pattern that occurs when a programmer has to read and understand a program whose inheritance graph is so long and complicated that the programmer has to keep flipping between many different class definitions in order to follow the control flow of the program. It often happens in object-oriented programming. The term comes from comparing the bouncing attention of the programmer to the up-down movement of a toy yo-yo. Taenzer, Ganti, and Podar described the problem by name, explaining: "Often we get the feeling of riding a yoyo when we try to understand one of these message trees."

Most practices of object-oriented programming recommend keeping the inheritance graph as shallow as possible, in part to avoid this problem. The use of composition instead of inheritance is also strongly preferred, although this still requires that a programmer keep multiple class definitions in mind at once.

More generally, the yo-yo problem can also refer to any situation where a person must keep flipping between different sources of information in order to understand a concept.

Object-oriented design techniques such as documenting layers of the inheritance hierarchy can reduce the effect of this problem, as they collect in one place the information that the programmer is required to understand.

Discussed on

๐Ÿ”— Viterbi Algorithm

๐Ÿ”— Computing ๐Ÿ”— Robotics

The Viterbi algorithm is a dynamic programming algorithm for obtaining the maximum a posteriori probability estimate of the most likely sequence of hidden statesโ€”called the Viterbi pathโ€”that results in a sequence of observed events, especially in the context of Markov information sources and hidden Markov models (HMM).

The algorithm has found universal application in decoding the convolutional codes used in both CDMA and GSM digital cellular, dial-up modems, satellite, deep-space communications, and 802.11 wireless LANs. It is now also commonly used in speech recognition, speech synthesis, diarization, keyword spotting, computational linguistics, and bioinformatics. For example, in speech-to-text (speech recognition), the acoustic signal is treated as the observed sequence of events, and a string of text is considered to be the "hidden cause" of the acoustic signal. The Viterbi algorithm finds the most likely string of text given the acoustic signal.