Random Articles (Page 4)

Have a deep view into what people are curious about.

πŸ”— Floyd-Steinberg Dithering Algorithm

πŸ”— Computer science

Floyd–Steinberg dithering is an image dithering algorithm first published in 1976 by Robert W. Floyd and Louis Steinberg. It is commonly used by image manipulation software, for example when an image is converted into GIF format that is restricted to a maximum of 256 colors.

The algorithm achieves dithering using error diffusion, meaning it pushes (adds) the residual quantization error of a pixel onto its neighboring pixels, to be dealt with later. It spreads the debt out according to the distribution (shown as a map of the neighboring pixels):

[ βˆ— 7 16 … … 3 16 5 16 1 16 … ] {\displaystyle {\begin{bmatrix}&&*&{\frac {\displaystyle 7}{\displaystyle 16}}&\ldots \\\ldots &{\frac {\displaystyle 3}{\displaystyle 16}}&{\frac {\displaystyle 5}{\displaystyle 16}}&{\frac {\displaystyle 1}{\displaystyle 16}}&\ldots \\\end{bmatrix}}}

The pixel indicated with a star (*) indicates the pixel currently being scanned, and the blank pixels are the previously-scanned pixels. The algorithm scans the image from left to right, top to bottom, quantizing pixel values one by one. Each time the quantization error is transferred to the neighboring pixels, while not affecting the pixels that already have been quantized. Hence, if a number of pixels have been rounded downwards, it becomes more likely that the next pixel is rounded upwards, such that on average, the quantization error is close to zero.

The diffusion coefficients have the property that if the original pixel values are exactly halfway in between the nearest available colors, the dithered result is a checkerboard pattern. For example, 50% grey data could be dithered as a black-and-white checkerboard pattern. For optimal dithering, the counting of quantization errors should be in sufficient accuracy to prevent rounding errors from affecting the result.

In some implementations, the horizontal direction of scan alternates between lines; this is called "serpentine scanning" or boustrophedon transform dithering.

In the following pseudocode we can see the algorithm described above. This works for any approximately linear encoding of pixel values, such as 8-bit integers, 16-bit integers or real numbers in the range [0,1].

for each y from top to bottom do
    for each x from left to right do
        oldpixelΒ := pixel[x][y]
        newpixelΒ := find_closest_palette_color(oldpixel)
        pixel[x][y]Β := newpixel
        quant_errorΒ := oldpixel - newpixel
        pixel[x + 1][y    ]Β := pixel[x + 1][y    ] + quant_error Γ— 7 / 16
        pixel[x - 1][y + 1]Β := pixel[x - 1][y + 1] + quant_error Γ— 3 / 16
        pixel[x    ][y + 1]Β := pixel[x    ][y + 1] + quant_error Γ— 5 / 16
        pixel[x + 1][y + 1]Β := pixel[x + 1][y + 1] + quant_error Γ— 1 / 16

When converting 16 bit greyscale to 8 bit, find_closest_palette_color() may perform just a simple rounding, for example:

find_closest_palette_color(oldpixel) = round(oldpixel / 256)

The pseudocode can result in pixel values exceeding the valid values (such as greater than 1 in a [0,1] representation). Such values should ideally be clipped by the find_closest_palette_color() function, rather than clipping the intermediate values, since a subsequent error may bring the value back into range. However, if fixed-width integers are used, wrapping of intermediate values would cause inversion of black and white, and so should be avoided.

Discussed on

πŸ”— Loess Regression

πŸ”— Mathematics πŸ”— Statistics

Local regression or local polynomial regression, also known as moving regression, is a generalization of the moving average and polynomial regression. Its most common methods, initially developed for scatterplot smoothing, are LOESS (locally estimated scatterplot smoothing) and LOWESS (locally weighted scatterplot smoothing), both pronounced . They are two strongly related non-parametric regression methods that combine multiple regression models in a k-nearest-neighbor-based meta-model. In some fields, LOESS is known and commonly referred to as Savitzky–Golay filter (proposed 15 years before LOESS).

LOESS and LOWESS thus build on "classical" methods, such as linear and nonlinear least squares regression. They address situations in which the classical procedures do not perform well or cannot be effectively applied without undue labor. LOESS combines much of the simplicity of linear least squares regression with the flexibility of nonlinear regression. It does this by fitting simple models to localized subsets of the data to build up a function that describes the deterministic part of the variation in the data, point by point. In fact, one of the chief attractions of this method is that the data analyst is not required to specify a global function of any form to fit a model to the data, only to fit segments of the data.

The trade-off for these features is increased computation. Because it is so computationally intensive, LOESS would have been practically impossible to use in the era when least squares regression was being developed. Most other modern methods for process modeling are similar to LOESS in this respect. These methods have been consciously designed to use our current computational ability to the fullest possible advantage to achieve goals not easily achieved by traditional approaches.

A smooth curve through a set of data points obtained with this statistical technique is called a loess curve, particularly when each smoothed value is given by a weighted quadratic least squares regression over the span of values of the y-axis scattergram criterion variable. When each smoothed value is given by a weighted linear least squares regression over the span, this is known as a lowess curve; however, some authorities treat lowess and loess as synonyms.

Discussed on

πŸ”— Shanti Devi

πŸ”— Biography

Shanti Devi (11 December 1926 – 27 December 1987) was an Indian woman who claimed to remember her past life, and became the subject of reincarnation research. A commission set up by the Indian political leader Mahatma Gandhi supported her claim, while another report by researcher Bal Chand Nahata disputed it. Subsequently, several other researchers interviewed her, and published articles and books about her.

Discussed on

πŸ”— A/UX: Apple Unix for Macintosh

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

A/UX is a Unix-based operating system from Apple Computer for Macintosh computers, integrated with System 7's graphical interface and application compatibility. It is Apple's first official Unix-based operating system, launched in 1988 and discontinued in 1995 with version 3.1.1. A/UX requires select 68k-based Macintosh models with an FPU and a paged memory management unit (PMMU), including the Macintosh II, SE/30, Quadra, and Centris series.

Described by InfoWorld as "an open systems solution with the Macintosh at its heart", A/UX is based on UNIX System V Release 2.2, with features from System V Releases 3 and 4 and BSD versions 4.2 and 4.3. It is POSIX- and System V Interface Definition (SVID)-compliant and includes TCP/IP networking since version 2. Having a Unix-compatible, POSIX-compliant operating system enabled Apple to bid for large contracts to supply computers to U.S. federal government institutes.

Discussed on

πŸ”— One electron universe

πŸ”— Physics

The one-electron universe postulate, proposed by John Wheeler in a telephone call to Richard Feynman in the spring of 1940, is the hypothesis that all electrons and positrons are actually manifestations of a single entity moving backwards and forwards in time. According to Feynman:

Discussed on

πŸ”— KaiOS

πŸ”— Telecommunications πŸ”— Software πŸ”— Software/Computing πŸ”— Hong Kong

KaiOS is a mobile operating system based on Linux, developed by KaiOS Technologies, a US-based company. It is forked from B2G OS (Boot to Gecko OS), an open source community-driven fork of Firefox OS, which was discontinued by Mozilla in 2016.

The primary features of KaiOS bring support for 4G LTE E, VoLTE, GPS and Wi-Fi with HTML5-based apps and longer battery life to non-touch devices with optimized user interface, less memory and energy consumption. It also features over-the-air updates. A dedicated app marketplace (KaiStore) enables users to download applications. Some services are preloaded as HTML5 applications, including Twitter, Facebook and YouTube. The operating system is comparatively lightweight on hardware resource usage, and is able to run on devices with just 256Β MB of memory.

The operating system first appeared in 2017 and is developed by KaiOS Technologies Inc., a San Diego, California-based company headed by CEO Sebastien Codeville with offices in other countries. In June 2018, Google invested US$22 million in the operating system. India-based telecom operator Reliance Jio also invested $7 million in cash to pick up a 16% stake in the company.

In market share study results announced in May 2018, KaiOS beat Apple's iOS for second place in India, while Android dominates with 71%, albeit down by 9%. KaiOS growth is being largely attributed to popularity of the competitively-priced Jio Phone. In Q1 2018, 23 million KaiOS devices were shipped.

KaiOS is also the name of an unrelated Linux project, dating from 2014 and targeted at embedded systems.

Discussed on

  • "KaiOS" | 2024-03-17 | 10 Upvotes 4 Comments
  • "KaiOS" | 2019-09-18 | 98 Upvotes 79 Comments

πŸ”— Cypherpunk

πŸ”— Biography πŸ”— Cryptography πŸ”— Cryptography/Computer science πŸ”— Numismatics πŸ”— Citizendium Porting

A cypherpunk is any individual advocating widespread use of strong cryptography and privacy-enhancing technologies as a route to social and political change. Originally communicating through the Cypherpunks electronic mailing list, informal groups aimed to achieve privacy and security through proactive use of cryptography. Cypherpunks have been engaged in an active movement since at least the late 1980s.

Discussed on

πŸ”— Roseto effect: close-knit communities experience a reduced rate of heart disease

πŸ”— Medicine πŸ”— Sociology πŸ”— Physiology πŸ”— Medicine/Cardiology πŸ”— Medicine/Society and Medicine

The Roseto effect is the phenomenon by which a close-knit community experiences a reduced rate of heart disease. The effect is named for Roseto, Pennsylvania. The Roseto effect was first noticed in 1961 when the local Roseto doctor encountered Dr. Stewart Wolf, then head of Medicine of the University of Oklahoma, and they discussed, over a couple of beers, the unusually low rate of myocardial infarction in the Italian American community of Roseto compared with other locations. Many studies followed, including a 50-year study comparing Roseto to nearby Bangor. As the original authors had predicted, as the Roseto cohort shed their Italian social structure and became more Americanized in the years following the initial study, heart disease rates increased, becoming similar to those of neighboring towns.

From 1954 to 1961, Roseto had nearly no heart attacks for the otherwise high-risk group of men 55 to 64, and men over 65 had a death rate of 1% while the national average was 2%. Widowers outnumbered widows, as well.

These statistics were at odds with a number of other factors observed in the community. They smoked unfiltered stogies, drank wine "with seeming abandon" in lieu of milk and soft drinks, skipped the Mediterranean diet in favor of meatballs and sausages fried in lard with hard and soft cheeses. The men worked in the slate quarries where they contracted illnesses from gases and dust. Roseto also had no crime, and very few applications for public assistance.

Wolf attributed Rosetans' lower heart disease rate to lower stress. "'The community,' Wolf says, 'was very cohesive. There was no keeping up with the Joneses. Houses were very close together, and everyone lived more or less alike.'" Elders were revered and incorporated into community life. Housewives were respected, and fathers ran the families.

πŸ”— AT&T Hobbit

πŸ”— United States πŸ”— Computing πŸ”— Computing/Computer hardware πŸ”— Plan 9

The AT&T Hobbit is a microprocessor design that AT&T Corporation developed in the early 1990s. It was based on the company's CRISP (C-language Reduced Instruction Set Processor) design, which in turn grew out of Bell Labs' C Machine design of the late 1980s. CΒ Machine, CRISP and Hobbit were optimized for running the C programming language. The design concentrated on fast instruction decoding, indexed array access and procedure calls. Its processor was partially RISC-like. The project ended in 1994 because the Hobbit failed to achieve commercially viable sales.

Discussed on

πŸ”— Custom of the Sea

πŸ”— International relations πŸ”— Death πŸ”— Law πŸ”— International relations/International law

A custom of the sea is a custom said to be practiced by the officers and crew of ships and boats in the open sea, as distinguished from maritime law, which is a distinct and coherent body of law governing maritime questions and offenses.

Among these customs was the practice of cannibalism among shipwrecked survivors, by the drawing of lots to decide who would be killed and eaten so that the others might survive.

Discussed on