omniomni/omni-engineering huggingface dataset:
YDbDr. YDbDr, sometimes written , is the colour space used in the SECAM (adopted in France and some countries of  the former Eastern Bloc) analog colour television broadcasting standard. It is very close to YUV (used on the PAL system) and its related colour spaces such as YIQ (used on the NTSC system), YPbPr and YCbCr.

 is composed of three components: ,  and .  is the luminance,  and  are the chrominance components, representing the red and blue colour differences.

Formulas 
The three component signals are created from an original  (red, green and blue) source. The weighted values of ,  and  are added together to produce a single  signal, representing the overall brightness, or luminance, of that spot. The  signal is then created by subtracting the  from the blue signal of the original , and then scaling; and  by subtracting the  from the red, and then scaling by a different factor.

These formulae approximate the conversion between the RGB colour space and .

From RGB to YDbDr:

From YDbDr to RGB:

You may note that the  component of  is the same as the  component of .  and  are related to the  and  components of the YUV colour space as follows:

See also 
 YUV - related colour system

References 

 Shi, Yun Q. and Sun, Huifang Image and Video Compression for Multimedia Engineering, CRC Press, 2000 

Color space
Thomas Armat. Thomas J. Armat (October 25, 1866 – September 30, 1948) was an American mechanic and inventor, a pioneer of cinema best known through the co-invention of the Edison Vita

Armat studied at the Mechanics Institute in Richmond, Virginia and then in 1894 at the Bliss Electrical School in Washington, D.C., where he met Charles Francis Jenkins. The two classmates teamed up to develop a movie projector using a new kind of intermittent motion mechanism, a "beater mechanism" similar to the one patented 1893 by Georges Demenÿ in France. It was one of the first projectors using what is known as the Latham loop (an extra loop of the film before the transport mechanism to reduce the tension on the film and avoid film breakage, developed independently at the same time by Woodville Latham and his sons). They made their first public projection using their invention, named Phantoscope after an earlier model designed by Jenkins alone, in September 1895 at the Cotton States and International Exposition in Atlanta.

Following this success, the two co-inventors broke up over patent issues. Jenkins tried to claim sole inventorship, but was turned down and sold out to Armat, who subsequently joined and sold the patent to Thomas Edison, who marketed the machine as the 'Vitascope'. The projector was used in a public screening in New York City beginning April 23, 1896 and lasting more than a week.

Working for Edison, Armat refined the projector in 1897 by replacing the beater mechanism with a more precise Geneva drive, duplicating an invention made a year earlier in Germany by Oskar Messter and Max Griewe and in England by Robert William Paul.

In 1947, Armat and William Nicholas Selig, Albert E. Smith and George Kirke Spoor were awarded a Special Academy Award as representatives of the movie pioneers for their contributions to the film business.

He died on September 30, 1948.

In 2011, he was inducted, posthumously, into the National Inventors Hall of Fame.

References

External links 
Short biography
Another short bio
Film "Spanish Dance" (on Google Video)

1866 births
1948 deaths
Academy Honorary Award recipients
19th-century American inventors
American cinema pioneers
People from Fredericksburg, Virginia
Inventors from Virginia
HOMO and LUMO. In chemistry, HOMO and LUMO are types of molecular orbitals. The acronyms stand for highest occupied molecular orbital and lowest unoccupied molecular orbital, respectively. HOMO and LUMO are sometimes collectively called the frontier orbitals, such as in the frontier molecular orbital theory.

Gap
The energy difference between the HOMO and LUMO is the HOMO–LUMO gap. Its size can be used to predict the strength and stability of transition metal complexes, as well as the colors they produce in solution. As a rule of thumb, the smaller a compound's HOMO–LUMO gap, the less stable the compound.

Semiconductors
The HOMO level is to organic semiconductors roughly what the maximum valence band is to inorganic semiconductors and quantum dots. The same analogy can be made between the LUMO level and the conduction band minimum.

Organometallic chemistry
In organometallic chemistry, the size of the LUMO lobe can help predict where addition to pi ligands will occur.

SOMO
A SOMO is a singly occupied molecular orbital such as half-filled HOMO of a radical. This abbreviation may also be extended to semi occupied molecular orbital.

Subadjacent orbitals: NHOMO and SLUMO
If existent, the molecular orbitals at one energy level below the HOMO and one energy level above the LUMO are also found to play a role in frontier molecular orbital theory. They are named NHOMO for next-to-highest occupied molecular orbital and SLUMO for second lowest unoccupied molecular orbital. These are also commonly referred to as HOMO−1 and LUMO+1 respectively.

See also
 Diels–Alder reaction
 Electron configuration
 Klopman–Salem equation
 Koopmans' theorem
 Ligand
 Woodward–Hoffmann rules

References

Further reading

External links
 OrbiMol Molecular orbital database

Quantum chemistry
SP/k. SP/k is a programming language developed circa 1974 by R.C. Holt, D.B. Wortman, D.T. Barnard and J.R. Cordy as a subset of the PL/I programming language designed for teaching programming. It was used for about a decade at over 40 universities, schools, and research laboratories in Canada and the United States.

SP/k was one of the first languages specifically designed to encourage structured programming. The features of SP/k were chosen to encourage structured problem solving by computers, to make the language easy to learn and use, to eliminate confusing and redundant constructs, and to make the language easy to compile. The resulting language was suitable for introducing programming concepts used in various applications, including business data processing, scientific calculations and non-numeric computation.

SP/k is actually a sequence of language subsets called SP/1, SP/2, ... SP/8. Each subset introduces new programming language constructs while retaining all the constructs of preceding subsets, forming a stepwise system for teaching computer programming. Each subset is precisely defined and self-contained, and can be learned or implemented without the following subsets. This allows for various levels of programming education. The design and philosophy of SP/k was a strong influence on the Turing programming language.

See also
PL/C
WATFIV
WATBOL

References

External links
 Richard C. Holt, David B. Wortman, David T. Barnard and James R. Cordy, "SP/k: a System for Teaching Computer Programming", Communications of the ACM 20,5 (May 1977)
 Richard C. Holt, "Teaching the Fatal Disease (or) Introductory Computer Programming Using PL/I", ACM SIGPLAN Notices 8,5 (May 1973)

Educational programming languages
Structured programming languages
PL/I programming language family
James Cordy. James Reginald Cordy (born January 2, 1950) is a Canadian computer scientist and educator who is Professor Emeritus in the School of Computing at Queen's University.  As a researcher he is most recently active in the fields of source code analysis and manipulation, software reverse and re-engineering, and pattern analysis and machine intelligence.  He has a long record of previous work in programming languages, compiler technology, and software architecture.

He is best known for his work on the TXL source transformation language, a parser-based framework and functional programming language designed to support software analysis and transformation tasks originally developed with M.Sc. student Charles Halpern-Hamu in 1985 as a tool for experimenting with programming language design.  His recent work on the NICAD clone detector with Ph.D. student Chanchal Roy, the Recognition Strategy Language with Ph.D. student Richard Zanibbi and Dorothea Blostein, the Cerno lightweight natural language understanding system with John Mylopoulos and others at the University of Trento, and the SIMONE model clone detector with Manar Alalfi, Thomas R. Dean, Matthew Stephan and Andrew Stevenson is based on TXL.

The 1995 paper A Syntactic Theory of Software Architecture with Ph.D. student Thomas R. Dean has been widely cited as a seminal work in the area, and led to his work with Thomas R. Dean, Kevin A. Schneider and Andrew J. Malton on legacy systems analysis.

Work in programming languages included the design of Concurrent Euclid (1980) and Turing (1983), with R.C. Holt, and the implementation of the Euclid (1978) and SP/k (1974) languages with R.C. Holt, D.B. Wortman, D.T. Barnard and others.  As part of these projects he developed the S/SL compiler technology with R.C. Holt and D.B. Wortman based on his M.Sc. thesis work and the orthogonal code generation method based on his Ph.D. thesis work.

He has co-authored or co-edited the books The Turing Programming Language: Design and Definition (1988), Introduction to Compiler Construction Using S/SL (1986), The Smart Internet (2010), and The Personal Web (2013).

From 2002 to 2007 he was the Director of the Queen's School of Computing. In 2008 he was elected a Distinguished Scientist of the Association for Computing Machinery.  He is a prolific academic supervisor and in 2008 was recognized with the  Queen's University Award of Excellence in Graduate Supervision. In 2016 he won the Queen's University Prize for Excellence in Research. In 2019 he was recognized with the CS-Can/Info-Can Lifetime Achievement Award.

References

External links
 Personal page at Queen's University

1950 births
Living people
University of Toronto alumni
Software engineering researchers
Programming language researchers
Computer science writers
Academic staff of Queen's University at Kingston
Euclid (programming language). Euclid is an imperative programming language for writing verifiable programs. It was designed in the mid-1970s by Butler Lampson and James G. Mitchell at the Xerox PARC lab in collaboration with Jim Horning at the University of Toronto, Ralph L. London at USC ISI and Gerald J. Popek at UCLA. The implementation was led by Ric Holt at the University of Toronto and James Cordy was the principal programmer for the first implementation of the compiler. It was originally designed for the Motorola 6809 microprocessor. It was considered innovative for the time; the compiler development team had a $2 million budget over 2 years and was commissioned by the Defense Advanced Research Projects Agency of the U.S. Department of Defense and the Canadian Department of National Defence. It was used for a few years at I. P. Sharp Associates, MITRE Corporation, SRI International and various other international institutes for research in systems programming and secure software systems.

Euclid is descended from Pascal, Mesa, Alphard, CLU, Gypsy, BCPL, Modula, LIS, and SUE. Functions in Euclid are closed scopes, may not have side effects, and must explicitly declare imports. Euclid also disallows gotos, floating point numbers, global assignments, nested functions and aliases, and none of the actual parameters to a function can refer to the same memory cell (which Euclid calls a "variable"). Euclid implements modules as types. Descendants of Euclid include the Concurrent Euclid programming language and the Turing programming language.

External links
B.W. Lampson, J.J. Horning, R.L. London, J.G. Mitchell and G.J. Popek 1977. Report on the programming language Euclid. SIGPLAN Notices 12, 2 (February 1977), 1-79.
R.C. Holt, D.B. Wortman, J.R. Cordy and D.R. Crowe 1978. The Euclid Language: a progress report. In Proceedings of the 1978 Annual Conference (Washington, D.C., United States, December 04 - 06, 1978), 111-115.
D.B. Wortman and J.R. Cordy 1981. Early experiences with Euclid. In Proc. 5th international Conference on Software Engineering (San Diego, California, United States, March 09 - 12, 1981), 27-32.

Procedural programming languages
Programming languages created in the 1970s
Statically typed programming languages
Systems programming languages
Insure++. Insure++ is a memory debugger computer program, used by software developers to detect various errors in programs written in C and C++. It is made by Parasoft, and is functionally similar to other memory debuggers, such as Purify, Valgrind and Dr Memory.

Overview
Insure++ can automatically find erroneous accesses to freed memory (use-after-free situations), array-bounds violations, freeing unallocated memory (which often happens when a programmer frees the same memory twice, or when he frees global or stack memory), and many others.

Unlike Purify and Valgrind, Insure++ inserts its instrumentation at the source-code level, which allows it to detect errors that the other tools miss. In particular, Insure++ can detect buffer overflows in automatic arrays, and overflows which involve pointers that accidentally "jump" from one valid memory region to another, as in the following example:

#include <stdlib.h>
int main()
 {
    char *p = malloc(1024); /* first dynamically-allocated block */
    char *q = malloc(1024); /* second block */
    p += 1200; /* At this point, "p" is likely to point into the second block. 
                  However, false assumptions about the real behaviour lead to mistakes. */
    *p = 'a';  /* invalid write (past the end of the first block) */
 }

The source-level instrumentation allows it to not only identify that a leak occurred, but where it occurred. Some tools merely provide information about where the memory was allocated, Insure++ also gives a stack trace for when/where the actual leak occurred.

Additionally, Insure++ will produce Linear Code Sequence and Jump Code Coverage metrics for all tested code.

See also
Runtime error detection
Software development

References

External links 
 Parasoft's Insure++ site
 Linux Journal review of Parasoft Insure++

Memory management software
Debuggers
Software testing tools
Systrace. Systrace is a computer security utility which limits an application's access to the system by enforcing access policies for system calls. This can mitigate the effects of buffer overflows and other security vulnerabilities. It was developed by Niels Provos and runs on various Unix-like operating systems.

Systrace is particularly useful when running untrusted or binary-only applications and provides facilities for privilege elevation on a system call basis, helping to eliminate the need for potentially dangerous setuid programs. It also includes interactive and automatic policy generation features, to assist in the creation of a base policy for an application.

Systrace used to be integrated into OpenBSD, but was removed in April 2016 (in favour of pledge post OpenBSD 5.9). It is available for Linux and Mac OS X, although the OS X port is currently unmaintained. It was removed from NetBSD at the end of 2007 due to several unfixed implementation issues. As of version 1.6f Systrace supports 64-bit Linux 2.6.1 via kernel patch.

Features
Systrace supports the following features:
 Confines untrusted binary applications: An application is allowed to make only those system calls specified as permitted in the policy.  If the application attempts to execute a system call that is not explicitly permitted, an alarm gets raised.
 Interactive policy generation with graphical user interface: Policies can be generated interactively via a graphical frontend to Systrace.  The frontend shows system calls and their parameters not currently covered by policy and allows the user to refine the policy until it works as expected.
 Supports different emulations: Linux, BSDI, etc..
 Non-interactive policy enforcement: Once a policy has been trained, automatic policy enforcement can be used to deny all system calls not covered by the current policy.  All violations are logged to Syslog.  This mode is useful when protecting system services like a web server.
 Remote monitoring and intrusion detection: Systrace supports multiple frontends by using a frontend that makes use of the network, very advanced features are possible.
 Privilege elevation: Using Systrace's privilege elevation mode, it's possible to get rid of setuid binaries.  A special policy statement allows selected system calls to run with higher privileges, for example, creating a raw socket.

Vulnerability history
Systrace has had some vulnerabilities in the past, including:
 Exploiting Concurrency Vulnerabilities in System Call Wrappers Paper by Robert Watson from the First USENIX Workshop On Offensive Technologies (WOOT07) analyzing system call wrapper traces across several wrapper platforms including systrace
 Google Security discovers local privilege escalation in Systrace
 Local root exploit on NetBSD
  Vulnerabilities in systrace

See also
 Seccomp
 AppArmor
 SELinux
 Mandatory access control

References

External links
 

BSD software
OpenBSD
Unix security-related software
NewDES. In cryptography, NewDES is a symmetric key block cipher. It was created in 1984–1985 by Robert Scott as a potential DES replacement.

Despite its name, it is not derived from DES and has quite a different structure. Its intended niche as a DES replacement has now mostly been filled by AES. The algorithm was revised with a modified key schedule in 1996 to counter a related-key attack; this version is sometimes referred to as NewDES-96.

In 2004, Scott posted some comments on sci.crypt reflecting on the motivation behind NewDES's design and what he might have done differently so as to make the cipher more secure.

Algorithm
NewDES, unlike DES, has no bit-level permutations, making it easy to implement in software. All operations are performed on whole bytes. It is a product cipher, consisting of 17 rounds performed on a 64-bit data block and makes use of a 120-bit key.

In each round, subkey material is XORed with the 1-byte sub-blocks of data, then fed through an S-box, the output of which is then XORed with another sub-block of data. In total, 8 XORs are performed in each round. The S-box is derived from the United States Declaration of Independence (used as a nothing-up-my-sleeve number).

Each set of two rounds uses seven 1-byte subkeys, which are derived by splitting 56 bits of the key into bytes. The key is then rotated 56 bits for use in the next two rounds.

Cryptanalysis
Only a small amount of cryptanalysis has been published on NewDES. The designer showed that NewDES exhibits the full avalanche effect after seven rounds: every ciphertext bit depends on every plaintext bit and key bit.

NewDES has the same complementation property that DES has: namely, that if

then

where

is the bitwise complement of x. This means that the work factor for a brute force attack is reduced by a factor of 2. Eli Biham also noticed that changing a full byte in all the key and data bytes leads to another complementation property. This reduces the work factor by 28.

Biham's related-key attack can break NewDES with 233 chosen-key chosen plaintexts, meaning that NewDES is not as secure as DES.

John Kelsey, Bruce Schneier, and David Wagner used related-key cryptanalysis to develop another attack on NewDES; it requires 232 known plaintexts and one related key.

References

External links
 
 NewDES source code implementations

Broken block ciphers
Spinthariscope. A spinthariscope () is a device for observing individual nuclear disintegrations caused by the interaction of ionizing radiation with a phosphor (see radioluminescence) or scintillator.

Invention
The spinthariscope was invented by William Crookes in 1903. While observing the apparently uniform fluorescence on a zinc sulfide screen created by the radioactive emissions (mostly alpha radiation) of a sample of radium bromide, he spilled some of the sample, and, owing to its extreme rarity and cost, he was eager to find and recover it. Upon inspecting the zinc sulfide screen under a microscope, he noticed separate flashes of light created by individual alpha particle collisions with the screen. Crookes took his discovery a step further and invented a device specifically intended to view these scintillations. It consisted of a small screen coated with zinc sulfide affixed to the end of a tube, with a tiny amount of radium salt suspended a short distance from the screen and a lens on the other end of the tube for viewing the screen. Crookes named his device from  () "spark".

Crookes debuted the spinthariscope at a meeting of the Royal Society, London on 15 May 1903.

Toy spinthariscopes
Spinthariscopes were quickly replaced with more accurate and quantitative devices for measuring radiation in scientific experiments, but enjoyed a modest revival in the mid 20th century as children's educational toys. In 1947, Kix cereal offered a Lone Ranger atomic bomb ring  that contained a small one, in exchange for a box top and US$0.15 (). Spinthariscopes can still be bought today as instructional novelties, but they now use americium or thorium. Looking into a properly focused toy spinthariscope, one can see many flashes of light spread randomly across the screen. Almost all are circular, with a very bright pinpoint centre surrounded by a dimmer circle of emission.

In museums
The American History Museum of the Smithsonian has several spinthariscopes in its collections, and an article discussing them.  However,  none are currently on display.

References

External links
Modern spinthariscope
Elements of electricity: a practical discussion of the fundamental laws and ... by Robert Andrews Millikan, Edwin Sherwood Bishop, American Technical Society

Particle detectors
Radioactivity
1903 introductions
Ionising radiation detectors
Educational toys