omniomni/omni-engineering huggingface dataset:
Absys. Absys was an early declarative programming language from the University of Aberdeen.  It anticipated a number of features of Prolog such as negation as failure, aggregation operators, the 
central role of backtracking and constraint solving.  Absys was the first implementation of a logic programming language.

The name Absys was chosen as an abbreviation for Aberdeen System.

See also
ABSET

References

"ABSYS: An Incremental Compiler for Assertions", J.M. Foster et al., Mach Intell 4, Edinburgh U Press, 1969, pp. 423–429

Declarative programming languages
Prolog programming language family
Academic programming languages
Logic programming languages
Programming languages created in 1967
Workaround. A workaround is a bypass of a recognized problem or limitation in a system or policy. A workaround is typically a temporary fix that implies that a genuine solution to the problem is needed. But workarounds are frequently as creative as true solutions, involving outside the box thinking in their creation.

Typically they are considered brittle in that they will not respond well to further pressure from a system beyond the original design. In implementing a workaround it is important to flag the change so as to later implement a proper solution.

Placing pressure on a workaround may result in later system failures. For example, in computer programming workarounds are often used to address a problem or anti-pattern in a library, such as an incorrect return value. When the library is changed, the workaround may break the overall program functionality, effectively becoming an anti-pattern, since it may expect the older, wrong behaviour from the library.

Workarounds can also be a useful source of ideas for improvement of products or services.

Legal workarounds 

When the legal system places an obstacle in the form of a restriction or requirement, the law may provide a possible workaround. Laws intended to tap into what may seem to be deep pockets may lead to what are at least
temporary solutions such as:
 Since "most French workplace laws affect businesses with 50 or more employees... many French companies opt to employ only 49 people in avoidance of crippling legislations."
 An injunction against Microsoft regarding XML features and an easy technical workaround, a patent attorney suggested having two versions of MS Word, one with and one without the feature.

Acronyms 

Some well-known acronyms were created to work around bureaucratic or contracting restrictions:
 PDP - The term was used to describe a computer by another name, due to contracting complications for purchasing or leasing computers.  The term PDP (Programmed Data Processor or Programmable Data Processor) was a workaround. The name "PDP" intentionally avoids the use of the term "computer". PDPs were aimed at a market that could not afford larger computers.
 GNU - GNU's Not UNIX. As AT&T's prices for academic licensing and use of UNIX increased, new restrictions on maximum number of concurrent users and limitations on types of use created a motivation for an alternative: a work-alike workaround. Among the better known ones are:
 Linux
 BSD
 System V
 PSAP. By contrast with hearing aids, the sale of which is more regulated and more expensive, a Personal Sound Amplification Product (PSAP) is lower in price albeit more limited in capability.

See also 

 Bug
 Coping skill
 Design around, to design or invent an alternative to a patented invention that does not infringe the patent's claims
 Hack
 Jury rig
 Kludge
 Planned obsolescence
 Preventive maintenance
 Program temporary fix (PTF)

References

Software quality
Software maintenance
IDS. IDS may refer to:

Computing
 IBM Informix Dynamic Server, a relational database management system
 Ideographic Description Sequence, describing a Unihan character as a combination of other characters
 Integrated Data Store, one of the first database management systems from the 1960s
 Internet distribution system, a travel industry sales and marketing channel
 Intrusion detection system, detecting unwanted network access
 Intelligent Decision System, a software package for multiple criteria decision analysis
 Iterative deepening search, a graph search algorithm performing depth-first search repeatedly with increasing depth limits

Organizations
 Incomes Data Services, a British employment research organisation
 Institute of Development Studies, a British international development organisation
 International Distributions Services, a legal name of Royal Mail since 3 October 2022
 Boeing Integrated Defense Systems, former name of a Boeing Defense, Space & Security
 Integrated Defence Staff, an Indian military organisation
 Investors Diversified Services, former name of Ameriprise Financial
 Istrian Democratic Assembly, a Croatian political party
 Indiana Daily Student, a newspaper
 Raytheon Integrated Defense Systems
 International Dermoscopy Society, an international medical academic society
 Initiative for Democratic Socialism
 Institute for the German Language

Science, technology and engineering
 Iduronate-2-sulfatase, a sulfatase enzyme associated with Hunter syndrome
 Index Catalogue of Visual Double Stars
 Integrated Deepwater System Program, a program to upgrade equipment of the US Coast Guard
 Tornado IDS (Interdictor/strike), a version of the Panavia Tornado combat aircraft
 IDS experiment (ISOLDE Decay Station), at the ISOLDE facility, CERN

Other uses
 Iain Duncan Smith (born 1954), British politician, widely referred to by his initials
 IDS Center, building in Minneapolis, tallest in Minnesota, US
 Infant-directed speech or baby talk
 Information disclosure statement, to the US Patent and Trademark Office
 Integrated delivery system, a generic term for a health care network that provides a variety of care
 Income declaration scheme
 Intercontinental Dictionary Series, an online linguistic database
 International District/Chinatown station, a light rail station in Seattle, Washington, US

See also
 International Docking System Standard (IDSS), a proposed international standard for spacecraft docking
Optoelectronics. Optoelectronics (or optronics) is the study and application of electronic devices and systems that find, detect and control light, usually considered a sub-field of photonics.  In this context, light often includes invisible forms of radiation such as gamma rays, X-rays, ultraviolet and infrared, in addition to visible light.  Optoelectronic devices are electrical-to-optical or optical-to-electrical transducers, or instruments that use such devices in their operation.

Electro-optics is often erroneously used as a synonym, but is a wider branch of physics that concerns all interactions between light and electric fields, whether or not they form part of an electronic device.

Optoelectronics is based on the quantum mechanical effects of light on electronic materials, especially semiconductors, sometimes in the presence of electric fields.
 Photoelectric or photovoltaic effect, used in:
 photodiodes (including solar cells)
 phototransistors
 photomultipliers
 optoisolators
 integrated optical circuit (IOC) elements
 Photoconductivity, used in:
 photoresistors
 photoconductive camera tubes
 charge-coupled imaging devices
 Stimulated emission, used in:
 injection laser diodes
 quantum cascade lasers
 Lossev effect, or radiative recombination, used in:
 light-emitting diodes or LED
 OLEDs
 Photoemissivity, used in
 photoemissive camera tube

Important applications of optoelectronics include:
 Optocoupler
 Optical-fiber communications

See also 

 Electronics
 Interconnect bottleneck
 Liquid-crystal display
 Non-radiative lifetime
 OECC (OptoElectronics and Communications Conference)
 Optical amplifier
 Optical communication
 Optical fiber
 Optical interconnect
 Opto-electronic oscillator
 Parallel optical interface
 Photoemission
 Photoemission spectroscopy
 Photovoltaic effect
 Stimulated emission

References

External links 
 
 OIDA (Optoelectronics Industry Development Association)
Bot. Bot or BOT may refer to:

Sciences

Computing and technology
 Chatbot, a computer program that converses in natural language
 Internet bot, a software application that runs automated tasks (scripts) over the Internet
Spambot, an internet bot designed to assist in the sending of spam
 Internet Relay Chat bot, a set of scripts or an independent program that connects to IRC as a client
 Robot, or "bot", a mechanical device that can perform physical tasks
 Social bot, a type of chatbot that is employed in social media networks to automatically generate messages
Twitter bot, a program used to produce automated posts on the Twitter microblogging service
 Video game bot, a computer-controlled player or opponent
 Wikipedia bot, an internet bot which performs tasks in Wikipedia
 Zombie computer, part of a botnet

Biology and medicine
 BOT, base of tongue, in medicine
 Bot, the lesion caused by a botfly larva
Borderline ovarian tumor, a tumor of the ovaries

Places
 Bni Ounjel Tafraout, a commune in Taounate Province, Taza-Al Hoceima-Taounate, Morocco
 Bot, Tarragona, a town in Spain
 Bot River, South Africa
 Botswana, IOC and FIFA trigram BOT
 British Overseas Territories, territories under the jurisdiction and sovereignty of the United Kingdom
 Bucharest Old Town

People
 Ajaw B'ot, 8th century Maya king of the city of Seibal
 Ben Bot, Dutch politician
 G. W. Bot, Australian printmaker, sculptor, painter and graphic artist
 Jeanne Bot, French supercentenarian
 Theo Bot, Dutch politician

Brands and enterprises
 Bank of Taiwan, a bank headquartered in Taipei, Taiwan
 Bank of Tanzania, the central bank of the United Republic of Tanzania
 Bank of Thailand, the central bank of Thailand
 Blue Orange Theatre, an independent theatre in Birmingham, England
 Bolt On Technology, an American software development company
 The Bank of Tokyo, a defunct Japanese bank now part of The Bank of Tokyo-Mitsubishi UFJ
 Bot, a line of budget desktop PCs manufactured by Alienware

Business 
 Balance of trade, difference between the monetary value of exports and imports
 Build–operate–transfer, a form of project financing

Sports
 Bobby Orr Trophy, the championship trophy of the Eastern Conference of the Ontario Hockey League
 Brava Opening Tournament, a football tournament in Brava, Cape Verde

Transportation
 Air Botswana (ICAO: BOT)
 Bosset Airport (IATA: BOT), in Bosset, Papua New Guinea
 Bryn Oer Tramway, a narrow gauge railway built in South Wales in 1814

Other uses
"B.O.T.", a 1986 episode of The Transformers
 Bot caste, a Hindu caste of Nepali origin found in the Indian state of Uttar Pradesh
 Bot people, or Boto people, a community in Jammu and Kashmir
 Bot, short for ubosot, the ordination hall of a Buddhist temple in Thailand
 Barn Owl Trust, a charity in Waterleat, Ashburton, Devon, England
 Bon Om Touk, the Cambodian Water Festival

See also 
 
 Bots (disambiguation)
 Bott (disambiguation)
 Break On Through (disambiguation)
 Burr Oak Township (disambiguation)
 Robot (disambiguation)
Linux framebuffer. The Linux framebuffer (fbdev) is a linux subsystem used to show graphics on a computer monitor, typically on the system console.

It was designed as a hardware-independent API to give user space software access to the framebuffer (the part of a computer's video memory containing a current video frame) using only the Linux kernel's own basic facilities and its device file system interface, avoiding the need for libraries like SVGAlib which effectively implemented video drivers in user space.

In most applications, fbdev has been superseded by the Linux Direct Rendering Manager subsystem, but as of 2022, several drivers provide both DRM and fbdev APIs for backwards compatibility with software that has not been updated to use the DRM system, and there are still fbdev drivers for older (mostly embedded) hardware that does not have a DRM driver.

Applications
There are three applications of the Linux framebuffer:
 An implementation of text Linux console that doesn't use hardware text mode (useful when that mode is unavailable, or to overcome its restrictions on glyph size, number of code points etc.). One popular aspect of this is the ability to have console show the Tux logo at boot up.
 A graphic output method for a display server, independent of video adapter hardware and its drivers.
 Graphic programs avoiding the overhead of the X Window System.
Examples of the third application include Linux programs such as MPlayer, links2, NetSurf, w3m, fbff, fbida, and fim, and libraries such as GLUT, SDL (version 1.2), GTK, and Qt, which can all use the framebuffer directly. This use case is particularly popular in embedded systems.

The now defunct DirectFB is another project aimed at providing a framework for hardware acceleration of the Linux framebuffer.

There was also a windowing system called FramebufferUI (fbui) implemented in kernel-space that provided a basic 2D windowing experience with very little memory use.

History
Linux has had generic framebuffer support since the 2.1.109 kernel.

It was originally implemented to allow the kernel to emulate a text console on systems such as the Apple Macintosh that do not have a text-mode display, and was later expanded to the IBM PC compatible platform.

See also

 Direct Rendering Infrastructure
 Kernel mode setting

References

External links
 
 XFree86 doc

Free software programmed in C
Free system software
Interfaces of the Linux kernel
framebuffer
Specification language. A specification language is a formal language in computer science used during systems analysis, requirements analysis, and systems design to describe a system at a much higher level than a programming language, which is used to produce the executable code for a system.

Overview
Specification languages are generally not directly executed. They are meant to describe the what, not the how. It is considered an error if a requirement specification is cluttered with unnecessary implementation detail.

A common fundamental assumption of many specification approaches is that programs are modelled as algebraic or model-theoretic structures that include a collection of sets of data values together with functions over those sets.  This level of abstraction coincides with the view that the correctness of the input/output behaviour of a program takes precedence over all its other properties.

In the property-oriented approach to specification (taken e.g. by CASL), specifications of programs consist mainly of logical axioms, usually in a logical system in which equality has a prominent role, describing the properties that the functions are required to satisfy—often just by their interrelationship.
This is in contrast to so-called model-oriented specification in frameworks like VDM and Z, which consist of a simple realization of the required behaviour.

Specifications must be subject to a process of refinement (the filling-in of implementation detail) before they can actually be implemented. The result of such a refinement process is an executable algorithm, which is either formulated in a programming language, or in an executable subset of the specification language at hand. For example, Hartmann pipelines, when properly applied, may be considered a dataflow specification which is directly executable.  Another example is the actor model which has no specific application content and must be specialized to be executable.

An important use of specification languages is enabling the creation of proofs of program correctness (see theorem prover).

Languages

See also
Formal specification
Language-independent specification
Specification and Description Language
Unified Modeling Language

References

External links

 
Computer languages
Scientific modelling
Formal specification
BOS/360. Basic Operating System/360  (BOS/360) was an early IBM System/360 operating system.

Origin 
BOS was one of four System/360 Operating System versions developed by the IBM General Products Division (GPD) in Endicott, New York to fill a gap at the low end of the System/360 line when it became apparent that OS/360 was not able to run on the smallest systems. BPS (Basic Programming support) was designed to run on systems with a minimum of 8 KB of main storage and no disk.  BOS was intended for disk systems with at least 8 KB and one 2311 disk drive. DOS and TOS were developed from BOS for systems with at least 16 KB and either disks (DOS) or tape drives only (TOS).

BOS was released in October 1965, nearly two years before OS/360, thus BOS was the only disk based operating system available at launch for a machine that was marketed as disk based.

Components 
BOS consisted of the following components:
 Control programs:
 The supervisor.
 Job control capable of running jobs sequentially from the card reader.
 The IPL loader.
 System Service Programs:
 The Linkage Editor.
 The Librarian, supporting a core-image library, and optionally a macro library and a relocatable library.
 The "Load System Program," a sysgen program to build a disk-resident BOS system from cards.
 IBM-supplied processing programs which could be installed with BOS:
 Language translators, an Assembler and an RPG compiler.  Compilers for FORTRAN IV and COBOL were added later.
 Autotest, a debugging aid.
 Sort/Merge.
 Utility programs for file-to-file copy between devices and formats.
 Remote Job Entry allowing the BOS system to submit jobs to a remote System/360 and receive output.
 Data Management, consisting of supervisor support for Physical IOCS, and macros for Logical IOCS which could be incorporated into the user's processing programs.

IBM 1070 Process Communication Supervisor 
The IBM 1070 Process Communication Supervisor was a dedicated process control system that ran as an extension under BOS "Relying on the BOS supervisor to handle ordinary physical and logical I/O operations (i. e., for cards, disk, etc.), the PC supervisor is specialized to the process control aspects of the user's program."

References

Further reading 
Pugh, Emerson W.; Johnson, Lyle R.; Palmer, John H. (1991). IBM's 360 and Early 370 Systems, Cambridge : MIT Press. (pp. 321–345)

IBM mainframe operating systems
Discontinued operating systems
Assembly language software
1965 software
CORC. CORC (the Cornell computing language) was a simple computer language developed at Cornell University in 1962 to serve lay users, namely for students to use to solve math problems. Its developers, industrial engineering professors Richard W. Conway and William L. Maxwell, sought to create a language which could both expose mathematics and engineering students to computing and remove the burden of mechanical problem-solving from their professors.

CORC was designed with ease of use in mind. It contained strains of both FORTRAN and ALGOL but was much simpler. Since programs were tediously input with punched cards, the compiler had a high tolerance for error, attempting to bypass or even correct problem sections of code. Students could submit a program by 5 PM which would be compiled or run overnight, with results available the next morning.

It was initially run on the Burroughs 220 and later extended to the CDC 1604.  In 1966 it was superseded by CUPL, a batch compiler for teaching which ran on the IBM System/360.

An extension of CORC, the Cornell List Processor (CLP), was a list processing language used for simulation.

References

 David N. Freeman. 1964. "Error correction in CORC: the Cornell Computing Language". In Proceedings of the October 27-29, 1964, fall joint computer conference, part I (AFIPS '64 (Fall, part I)). Association for Computing Machinery, 15–34. https://doi.org/10.1145/1464052.1464055
 Richard C. Lesser's Recollections: The Cornell Computing Center - the early years, 1953 to 1964.

External links
Resource page for cupl 1.6, providing binary and source code and background information about CUPL and CORC.

Procedural programming languages
Cornell University
Programming languages created in 1962
Eraillure. In lithic analysis (a subdivision of archaeology), an eraillure is a flake removed from a lithic flake's bulb of force, which is a lump left on the ventral surface of a flake after it is detached from a core of tool stone during the process of lithic reduction.  The mechanics of eraillure formation are related to the propagation of a Hertzian cone of force through the cryptocrystalline matrix of the stone, but the particulars are poorly understood. Eraillures usually form only when a hammerstone is used for lithic reduction, and then only occasionally; use of 'soft' hammer fabricators made from bone, antler, and wood produce different flake characteristics but may also produce an eraillure in rare cases.

See also 
 Stone tool

References 

Lithics
Bow drill. A bow drill is a simple hand-operated type of tool, consisting of a rod (the spindle or drill shaft) that is set in rapid rotary motion by means of a cord wrapped around it, kept taut by a bow which is pushed back and forth with one hand. This tool of prehistoric origin has been used both as a drill, to make holes on solid materials such as wood, stone, bone, or teeth, and as a fire drill to start a fire.

The spindle can be held into a fixed frame, or by a hand-held block (the hand piece or thimble) with a hole into which the top of the shaft is inserted. Some lubricant should be used to reduce friction between these two parts, otherwise, it could lead to some trouble when doing it too fast. A popular campcraft book of 1920 attributed this invention to the Inuit. In Mehrgarh (Pakistan) it has been dated between the 4th-5th millennium BCE.

The string of the bow is wrapped once around the spindle, so that it is tight enough not to slip during operation. In a variation called the Egyptian bow drill, the cord is wound around the shaft multiple times, or is fixed to it by a knot or a hole.

The strap drill is a simpler version, where the bow is absent and the cord is kept taut by pulling the ends with both hands, while moving them left and right at the same time. In the absence of a frame, the thimble is shaped so that it can be held with the chin or the mouth.

The bow lathe used for traditional woodturning uses the same principle as the bow drill.

History

Bow drills with green jasper bits were used in Mehrgarh between the 4th and 5th millennium BC to drill holes into lapis lazuli and carnelian. Similar drills were found in other parts of the Indus Valley civilization and Iran one millennium later.

Usage as a fire drill
For use as a fire drill, the shaft should have a blunt end, which is placed into a small cavity of a stationary piece of wood (the fireboard).  Turning the shaft with high speed and downward pressure generates heat, which eventually creates powdered charcoal and ignites it forming a small ember.

For drilling, the lower end of the spindle may be fitted with a hard drill bit that creates the hole by abrasion or cutting.

See also 

 Pump drill
 Brace (tool)

References

External links
 The Egyptian Bow Drill
 Information on constructing and using a hand drill

Mechanical hand tools
Woodworking hand tools
Fire making
Inventions of the Indus Valley Civilisation